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

Loading…
Cancel
Save