使用idea已經有段時間了,但是一直沒有自己親自新建一個項目,從頭開始寫一個Servlet,今天就來學習一下,並且記一個筆記。
一。
1.首先,打開idea new-->Project
2.選擇Maven 項目 點擊下一步
3.填寫groupid 和 Artifactid 如下:
4.點擊下一步 選擇一個路徑,這個路徑是存放你項目的路徑
5.完了之后,用一個新窗口打開:
目錄結構如下:
6.然后將mav項目,轉成web項目
右鍵項目Add Framework Support
7.添加Web Application 支持
8.點擊ok 后,項目就變為了web項目,看如下目錄:
9.然后基本的項目已經起來了,然后就是寫代碼了,
二。
1.在src-->main-->java 下新建一個包 com.demo.servlet 然后在此包下新建一個 HttpServlet 類
2.然后在此類下書寫代碼,首先HttpServlet 類要繼承HttpServlet ,但是我在寫這個繼承的時候沒有給我提示,如下所示:
只要是因為這個工程還沒有添加 對servlet的支持,下面在pom文件中添加對 servlet的支持
-
<dependencies>
-
<!--引入servlet-->
-
<dependency>
-
<groupId>Javax.servlet </groupId>
-
<artifactId>servlet-api </artifactId>
-
<version>3.0-alpha-1 </version>
-
</dependency>
-
</dependencies>
pom文件如下:
-
"1.0" encoding="UTF-8" xml version=
-
<project xmlns="http://maven.apache.org/POM/4.0.0"
-
xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance"
-
xsi:schemaLocation= "http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
<modelVersion>4.0.0 </modelVersion>
-
-
<groupId>com.demo </groupId>
-
<artifactId>hellodemo02 </artifactId>
-
<version>1.0-SNAPSHOT </version>
-
-
<dependencies>
-
<!--引入servlet-->
-
<dependency>
-
<groupId>Javax.servlet </groupId>
-
<artifactId>servlet-api </artifactId>
-
<version>3.0-alpha-1 </version>
-
</dependency>
-
</dependencies>
-
-
</project>
3.此時再繼承HttpServlet 就有這個提示了:
4.繼承HttpServlet之后,需要重寫doGet方法,在idea中 使用快捷鍵 Ctrl+O 選擇重寫的方法
寫完之后下面是HelloServlet的代碼
-
package com.demo.servlet;
-
-
import javax.servlet.ServletException;
-
import javax.servlet.http.HttpServlet;
-
import javax.servlet.http.HttpServletRequest;
-
import javax.servlet.http.HttpServletResponse;
-
import java.io.IOException;
-
import java.io.PrintWriter;
-
-
public class HelloServlet extends HttpServlet {
-
@ Override
-
protected void doGet( HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
-
PrintWriter out = response.getWriter();
-
try {
-
request.setCharacterEncoding( "UTF-8");
-
-
response.setContentType( "text/html; charset=utf-8");
-
response.setCharacterEncoding( "UTF-8");
-
String userId = request.getParameter( "userId");
-
String pwd = request.getParameter( "pwd");
-
if( "admin".equals(userId) && "password".equals(pwd)){
-
out. println( "success");
-
} else{
-
out. println( "fail");
-
}
-
out. println( "<br/>");
-
String servletPath = this.getServletContext().getRealPath( "/");
-
out. println(servletPath);
-
out.close();
-
-
} catch ( Exception e) {
-
// TODO: handle exception
-
}
-
}
-
}
5.寫完HelloServlet之后還不行,我們還沒有在web.xml中進行配置
下面是web.xml中的內容
-
"1.0" encoding="UTF-8" xml version=
-
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
-
xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance"
-
xsi:schemaLocation= "http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
-
version= "4.0">
-
-
<display-name>hellodemo </display-name>
-
<servlet>
-
<servlet-name>HelloServlet </servlet-name>
-
<servlet-class>com.demo.servlet.HelloServlet </servlet-class>
-
</servlet>
-
<servlet-mapping>
-
<servlet-name>HelloServlet </servlet-name>
-
<url-pattern>/hello </url-pattern>
-
</servlet-mapping>
-
</web-app>
6.再然后就是在idea中配置tomcat了 如何配置我這里就不寫了 我也會大家都會,我就把截圖放一下吧:
設置:Application context:/demo02
之后啟動timcat 訪問:
http://localhost:8080/demo02/hello
頁面如下:
砍我HelloServlet 中 的寫法 我這么訪問:
http://localhost:8080/demo02/hello?userId=admin&pwd=password
返回的頁面就是success
至此,使用idea 新建一個Maven項目,並且書寫第一個Servlet 完成,接下來,研究一下HttpServlet
不積跬步,無以至千里
不積小流,無以成江海
轉載自:https://blog.csdn.net/liuying1802028915/article/details/85029145