【Servlet 5.0】入门教程


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