Tomcat版本:10.0.10
Servlet版本:5.0
JDK版本:11
创建项目
使用maven创建一个webapp项目
填好项目名称
配置好maven的家目录、配置文件、本地仓库路径,即可点击完成
导入Servlet包
在项目下的pom.xml里加上依赖包
注意:这里Tomcat10使用的servlet在jakarta包下
jakarta.servlet
jakarta.servlet-api
5.0.0
jakarta.servlet.jsp
jakarta.servlet.jsp-api
3.0.0
手动创建所需目录
Servlet配置文件(web.xml)
如Servlet配置文件版本比较久,建议更改为高版本
<?xml version="1.0" encoding="UTF-8"?>
创建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(web.xml)
<?xml version="1.0" encoding="UTF-8"?>
HelloServletImpl
com.hua.servlet.HelloServletImpl
HelloServletImpl
/hello1
HelloServletExtend
com.hua.servlet.HelloServletExtend
HelloServletExtend
/hello2