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>