课程进度 7% · 第2/17章第2/17章 · 标签 1/4
— 1 —
Servlet
Servlet 是 JavaEE 中处理 Web 请求的核心组件,运行在 Web 容器(如 Tomcat、Jetty)中,用于接收客户端的 HTTP 请求并生成动态响应。它通过 service() 方法处理请求,可根据请求方法(GET、POST 等)分别在 doGet()、doPost() 等方法中处理逻辑。
java
1
import javax.servlet.ServletException;
2
import javax.servlet.http.HttpServlet;
3
import javax.servlet.http.HttpServletRequest;
4
import javax.servlet.http.HttpServletResponse;
5
import java.io.IOException;
6
7
public class ProductServlet extends HttpServlet {
8
9
protected void doGet(HttpServletRequest request, HttpServletResponse response)
10
throws ServletException, IOException {
11
response.setContentType("text/html");
12
try (java.io.PrintWriter out = response.getWriter()) {
13
out.println("<html><body><h1>商品列表页</h1>");
14
out.println("<p>处理 GET 请求获取商品信息</p>");
15
out.println("</body></html>");
16
}
17
}
18
19
20
protected void doPost(HttpServletRequest request, HttpServletResponse response)
21
throws ServletException, IOException {
22
response.setContentType("text/html");
23
try (java.io.PrintWriter out = response.getWriter()) {
24
out.println("<html><body><h1>商品提交处理</h1>");
25
out.println("<p>处理 POST 请求创建新商品</p>");
26
out.println("</body></html>");
27
}
28
}
29
}
Servlet 常用于实现前端控制器,处理不同类型的请求,适用于构建电商平台商品展示与管理、用户登录登出等功能场景。
— 2 —
📖Servlet 3.0+ 支持使用 @WebServlet 注解配置,无需 web.xml。Servlet 4.0 支持 HTTP/2 Server Push。
Servlet生命周期
- 初始化:容器调用 init() 方法,只执行一次
- 服务:容器调用 service() 方法处理请求,可多次执行
- 销毁:容器调用 destroy() 方法,只执行一次
✓每次请求都会创建新的请求和响应对象,但 Servlet 实例在容器中是单例的,需要注意线程安全问题。
@WebServletdoGetdoPostHttpServlet生命周期