Servlet 有用的资源

规范、容器、常用库与继续深入的方向。

Beginner
Key PointsServlet 是基础,实际项目多在其上叠框架;理解容器模型后,Spring MVC 只是更省事的封装。

规范与文档

  • Jakarta Servlet Specification —— 权威定义,映射规则、生命周期、过滤器链都在里面
  • Jakarta Servlet Javadoc —— 每个方法的精确语义与异常条件
  • Tomcat 官方文档 —— 配置项、连接器参数、部署方式
  • RFC 9110 / 9112 —— HTTP 语义与报文格式,理解状态码与头的根本

容器

ContainerCharacter
Apache Tomcat最主流,文档全,Servlet/JSP 参考实现
Jetty轻量、可嵌入,适合测试与微服务
Undertow高性能,WildFly 的默认 Web 层
Netty不是 Servlet 容器,但常被用来实现自定义协议层

常用库

  • Spring MVC / Spring Boot —— 在 Servlet 之上提供注解路由、参数绑定、统一异常
  • HikariCP —— 高性能 JDBC 连接池
  • SLF4J + Logback —— 门面 + 实现,替代 System.out
  • Thymeleaf / FreeMarker —— 现代模板引擎,比 JSP 更适合 HTML

从 Servlet 到框架

Text
Servlet 原生写法
  @WebServlet("/user")
  doGet → getParameter → 校验 → 调 Service → setAttribute → forward

Spring MVC 写法
  @GetMapping("/user/{id}")
  public String user(@PathVariable int id, Model m) { ... return "user"; }

底层仍是同一个 DispatcherServlet,只是把重复的胶水代码收进了框架。

Once you know servlets, Spring MVC looks like an abstraction over the same repeated glue: mapping, parameter binding, view resolution. Learn the framework first and questions about filter order, lost request scope or dead sendRedirect will stall you.

Suggested next steps: learn JSP or Thymeleaf for the view layer, then JDBC and pooling, then Spring Boot. Skipping the view layer makes Model and ViewResolver look like magic.

Friends & Partners