加入收藏 | 设为首页 | 会员中心 | 我要投稿 鞍山站长网 (https://www.0412zz.com/)- 应用安全、运维、云计算、5G、云通信!
当前位置: 首页 > 服务器 > 系统 > 正文

谈谈 Tomcat 请求处理流程

发布时间:2019-11-30 11:19:17 所属栏目:系统 来源:站长网
导读:副标题#e# Tomcat-9.0.0.M22 是 Tomcat 目前最新的版本,但尚未发布,它实现了 Servlet4.0 及 JSP2.3 并提供了很多新特性,需要 1.8 及以上的 JDK 支持等等,详情请查阅 Tomcat-9.0-doc。 https://tomcat.apache.org/tomcat-9.0-doc/index.html Overview Co

allocate() 用来加载并初始化 Servlet,值的一提的是 Servlet 并不都是单例的,当 Servlet 实现了 SingleThreadModel 接口后,StandardWrapper 会维护一组 Servlet 实例,这是享元模式。当然了 SingleThreadModel在 Servlet 2.4 以后就弃用了。

createFilterChain() 方法会从 StandardContext 中获取到所有的过滤器,然后将匹配 Request URL 的所有过滤器挑选出来添加到 filterChain 中。

doFilter() 执行过滤链,当所有的过滤器都执行完毕后调用 Servlet 的 service() 方法。

Reference

《How Tomcat works》

https://www.amazon.com/How-Tomcat-Works-Budi-Kurniawan/dp/097521280X

《Tomcat 架构解析》– 刘光瑞

Tomcat-9.0-doc

https://tomcat.apache.org/tomcat-9.0-doc/index.html

apache-tomcat-9.0.0.M22-src

tomcat架构分析 (connector NIO 实现)

(编辑:鞍山站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读