修改一个简单的servlet容器代码设计格式

pull/148/head
2606710413@qq.com 2 years ago
parent 3dadd7bb68
commit 95bd653890

@ -1,4 +1,4 @@
# 简介
# 一个简单的 servlet 容器代码设计
Servlet 算是 Java Web 开发请求链路调用栈中底层的一个技术,当客户端发起一个请求后,到达服务器内部,就会先进入 Servlet这里不讨论更底层的链路SpringMVC 的请求分发核心也是一个 Servlet名叫`DispatcherServlet`,一个请求首先会进入到这个 Servlet然后在通过 SpringMVC 的机制去分发到对应的 Controller 下。
@ -6,13 +6,13 @@ Servlet 算是 Java Web 开发请求链路调用栈中底层的一个技术,
而了解一个 Servlet 容器的实现有助于更好的理解 JavaWeb 开发。
# Github
## Github 地址
项目最后的实现在 Github 上可以查看到
https://github.com/houxinlin/jerrycat
# 容器的实现
## 容器的实现
在 JavaWeb 的开发世界有很多都要遵守规范JDBC 也是Servlet 容器也是Java 很多不去做实现,只做接口,具体的实现留给各大厂商去做,而 Servlet 容器其中一个实现就是 Tomcat。
@ -200,13 +200,13 @@ try {
但这里,请求映射显的有点简单,因为我们少了处理通配符的情况。
# 其余规范
## 其余规范
其他特性我们不说,但属于 Servlet 规范的容器一定要实现,其余规范还有如 ServletContainerInitializer、Filter 等这里我们都没有实现ServletContainerInitializer 是一个很有用的东西SpringBoot 打包成 war 后,就依靠它去启动。
Filter 同样的做法,也是通过 ClassReader 读取,在调用 service 前一步,先调用 Filter。
# 结束
## 结束
这里只实现了一个容器的雏形中的核心,一个完整的容器,至少要做到提供完整的`HttpServletRequest`的实现,还有`HttpServletResponse`,这里只做演示,没有做太多处理,比如最重要的 Cookie 管理、Session 管理,否则应用程序就无法实现用户登录状态维护。

Loading…
Cancel
Save