返回介绍

00-08、Tomcat 的运行机制

发布于 2025-03-09 23:21:23 字数 1367 浏览 0 评论 0 收藏 0

00-02、理解 HTTP 中给出了一个简单的服务器代码,Tomcat 的设计思路也是类似的。

Tomcat 是一个 servlet 容器。

http://www.kaifajie.cn/tomcat6/7454.html 中的内容值得参考:

先不去关技术细节,对一个 servlet 容器,我觉得它首先要做以下事情: 1:实现 Servlet api 规范。这是最基础的一个实现,servlet api 大部分都是接口规范。如 request、response、session、cookie。为了我们应用端能正常使用,容器必须有一套完整实现。
2:启动 Socket 监听端口,等待 http 请求。
3:获取 http 请求,分发请求给不同的协议处理器,如 http 和 https 在处理上是不一样的。
4:封装请求,构造 HttpServletRequest。把 socket 获取的用户请求字节流转换成 java 对象 httprequest。构造 httpResponse。
5:调用(若未创建,则先加载)servlet,调用 init 初始化,执行 servlet.service() 方法。
6:为 httpResponse 添加 header 等头部信息。
7:socket 回写流,返回满足 http 协议格式的数据给浏览器。
8:实现 JSP 语法分析器,JSP 标记解释器。JSP servlet 实现和渲染引擎。
9:JNDI、JMX 等服务实现。容器一般额外提供命名空间服务管理。
10:线程池管理,创建线程池,并为每个请求分配线程。

Tomcat 有自己的类加载机制。可以参考:
Java 类加载原理解析
深入探讨 Java 类加载器
Tomcat 类加载器体系结构

有一本书是讲 Tomcat 如何运行的: 《How Tomcat Works》

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文