Tomcat版本:10.0.10
Servlet版本:5.0
JDK版本:11
創建項目
使用maven創建一個webapp項目

填好項目名稱

配置好maven的家目錄、配置文件、本地倉庫路徑,即可點擊完成

導入Servlet包
在項目下的pom.xml里加上依賴包
注意:這里Tomcat10使用的servlet在jakarta包下
<dependencies>
<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
<dependency>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
<version>5.0.0</version>
</dependency>
<dependency>
<groupId>jakarta.servlet.jsp</groupId>
<artifactId>jakarta.servlet.jsp-api</artifactId>
<version>3.0.0</version>
</dependency>
</dependencies>
手動創建所需目錄

Servlet配置文件(web.xml)
如Servlet配置文件版本比較久,建議更改為高版本

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="https://jakarta.ee/xml/ns/jakartaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd"
version="5.0">
</web-app>
創建Servlet實例
方法一(實現接口)
package com.hua.servlet;
import jakarta.servlet.*;
import java.io.IOException;
/**
* 實現Servlet接口里的方法
*/
public class HelloServletImpl implements Servlet {
@Override
public void init(ServletConfig config) throws ServletException {
}
@Override
public ServletConfig getServletConfig() {
return null;
}
/**
* 當客戶端訪問了綁定該Servlet的路徑時,會執行service方法
* @param req request,客戶端請求對象
* @param res response,服務端響應對象
* @throws ServletException
* @throws IOException
*/
@Override
public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
System.out.println("進入service方法");
}
@Override
public String getServletInfo() {
return null;
}
@Override
public void destroy() {
}
}
方法二(繼承)【建議使用】
package com.hua.servlet;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
* 1、繼承HttpServlet
* 2、重寫doGet和doPost方法,客戶端的get請求和post請求會分別走到對應的方法里
*/
public class HelloServletExtend extends HttpServlet {
/**
* @param req request,客戶端請求對象
* @param resp response,服務端響應對象
* @throws ServletException
* @throws IOException
*/
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("進入HelloServletExtend--》doGet方法");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("進入HelloServletExtend--》doPost方法");
}
}
方法三 Idea快捷創建


自動創建Servlet類和Servlet配置,不過需要手動增加<servlet-mapping>

配置Servlet(web.xml)
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="https://jakarta.ee/xml/ns/jakartaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd"
version="5.0">
<!-- servlet標簽給tomcat配置Servlet程序-->
<!-- 每一個Servlet程序都要做一份配置-->
<servlet>
<!-- Servlet的名稱,建議是類名-->
<servlet-name>HelloServletImpl</servlet-name>
<!-- Servlet類的全路徑-->
<servlet-class>com.hua.servlet.HelloServletImpl</servlet-class>
</servlet>
<servlet-mapping>
<!-- 對應Servlet的名稱-->
<servlet-name>HelloServletImpl</servlet-name>
<!-- 配置路徑,當客戶端訪問下面的路徑,就會訪問到相對應的Servlet類處理-->
<url-pattern>/hello1</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>HelloServletExtend</servlet-name>
<servlet-class>com.hua.servlet.HelloServletExtend</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloServletExtend</servlet-name>
<url-pattern>/hello2</url-pattern>
</servlet-mapping>
</web-app>