Tomcat
文章平均质量分 95
windsnow263
这个作者很懒,什么都没留下…
展开
-
替换spring-boot-starter-web中的tomcat版本号方法
网上查到的替换的方法有三种:1、更改spring-boot-dependencies中特定spring版本下的<tomcat.version>标签中的版本号。 我使用的就是此方法,但此方法会破坏原生spring的完整性,使得项目移植性差,要特别注意。2、在项目中手动配置<tomcat.version>。 实测此方法无效,实验是pom文件只能获取其父pom中的property配置,父类的父类就无法获取了。3、除外原生的tomcat配置,重新配置。 此方法肯...原创 2020-07-06 14:54:53 · 4150 阅读 · 0 评论 -
Tomcat8.5.43源码分析-(1)源码导入Eclipse
涉及到Web开发的程序员,想必对各种Web容器很熟悉。那么一个Web容器如何定义?何谓容器,到底存放的是什么东西?怀着这样的疑问,我从图书馆借了一本图灵系列的《Tomcat架构解析》。熟悉了Tomcat的基本概念之后,试图研究Tomcat源码。本博客是记录个人探究Tomcat源码的过程,以供以后拾遗用。进入Tomcat官网,选择版本8.5.43,下载源码:https://tomcat....原创 2019-08-14 09:52:28 · 326 阅读 · 0 评论 -
Tomcat8.5.43源码分析-(2)Tomcat启动过程探究 第一部分
首先,我们复制启动Tomcat时候Console窗口打印的日志,可以见到一些关键路径,个人认为比较重要的地方标注了出来:八月 14, 2019 3:23:50 下午 org.apache.catalina.startup.VersionLoggerListener log信息: Server version: Apache Tomcat/@VERSION@八月 14, 20...原创 2019-08-14 11:37:51 · 569 阅读 · 0 评论 -
Tomcat8.5.43源码分析-(3)Tomcat生命周期与监听器
在继续Tomcat启动过程源码分析之前,我们先回顾一下Tomcat的生命周期,查看LifeCycle.java类的注释:/** * Common interface for component life cycle methods. Catalina components * may implement this interface (as well as the appropriat...原创 2019-08-15 11:25:02 · 348 阅读 · 0 评论 -
Tomcat8.5.43源码分析-(4)Tomcat启动过程探究 第二部分 Web应用加载
我们回到Tomcat启动过程探究 第一部分的结尾,回到StandardService的初始化方法initInternal()。StandardService的重点方法有四个:engine.init():初始化Servlet引擎,引擎只负责请求的处理不需要考虑请求连接,协议等等。一个Service存在一个对应的Engine。 executor.init():初始化线程池,该线程池可以在组件...原创 2019-08-16 14:06:57 · 279 阅读 · 0 评论 -
Tomcat8.5.43源码分析-(5)Tomcat进行Web请求处理 第一部分
Tomcat作为Servlet容器,其最重要的应用仍然是处理web请求。这里就沿着Web请求处理这条线,继续探究Tomcat。当Connector接收到请求后,会调用CoyoteAdapter.service(),这里选取重要的部分:@Override public void service(org.apache.coyote.Request req, org.apache....原创 2021-12-31 11:10:58 · 327 阅读 · 0 评论