tomcat源码分析 StandardServer初始化过程

原文:http://www.cnblogs.com/knockon/p/3330756.html

----------------------------以下为initInternal方法----------------------------

1、调用父类org.apache.catalina.util.LifecycleMBeanBase#initInternal方法,注册MBean

2、注册本类的其它属性的MBean

3、NamingResources初始化

   

globalNamingResources.init();

 

4、从common ClassLoader开始往上查看,直到SystemClassLoader,

     遍历各个classLoader对应的查看路径,找到jar结尾的文件,读取Manifest信息,

     加入到ExtensionValidator#containerManifestResources属性中。

5、初始化service,默认实现是StandardService。

  i) 调用super.initInternal()方法

     ii) container初始化,这里container实例是StandardEngine。

     iii) Executor初始化

     iv)Connector初始化,在我本机上是如下2个连接。

         a)org.apache.catalina.connector.Connector   Connector[HTTP/1.1-8080]

         b) org.apache.catalina.connector.Connector   Connector[AJP/1.3-8009]

 

 

----------------------------以下为startInternal方法---------------------------

1、触发CONFIGURE_START_EVENT事件。

2、设置本对象状态为STARTING

3、NameingResource启动。

    

globalNamingResources.start();

4、StandardService启动。

  i)  设置状态为STARTING

     ii)  container启动,即StandardEngine启动

     iii)  Executor 启动

     iv) Connector启动。

         a)org.apache.catalina.connector.Connector   Connector[HTTP/1.1-8080]

         b) org.apache.catalina.connector.Connector   Connector[AJP/1.3-8009]

5、设置状态为STARTED 

 

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Tomcat 8.5.81的源码文件是指完整的Tomcat 8.5.81版本的源代码文件集合。Tomcat是一个由Apache基金会开发的开源Java Servlet容器,用于实现Java Servlet和JavaServer Pages (JSP)技术。Tomcat 8.5.81是Tomcat 8.5系列的一个特定版本,而8.5系列是Tomcat 8.x版本的一个分支。 Tomcat 8.5.81的源码文件包含了Tomcat服务器的所有实现细节和逻辑。它包括了各个核心组件的源代码,如连接器(Connector)、容器(Container)、Servlet和JSP引擎等。通过阅读这些源码文件,可以深入了解Tomcat服务器是如何处理HTTP请求、解析请求、分发请求到对应的Servlet和JSP等。 源码文件中的每个类都对应着Tomcat服务器的不同功能模块。这些文件包含了Java类和接口的定义、方法的实现以及注释说明等。通过研究源码,可以理解到Tomcat的内部工作原理,并可以根据需要进行定制化或扩展开发。 在Tomcat 8.5.81的源码文件中,可能会涉及到线程池、连接池、请求处理流程、安全机制、Session管理、Web应用程序部署等一系列关键组件和功能。此外,还可以进一步了解Apache的Catalina容器、Jasper引擎、Apr库等的实现细节。 总而言之,Tomcat 8.5.81的源码文件提供了深入了解Tomcat服务器内部实现的机会,可以通过阅读和研究源码,对Tomcat有更全面和深入的认识,并对其进行定制化开发、问题排查和性能优化等方面提供了便利。 ### 回答2: Tomcat 8.5.81的源码文件是用Java编写的,用于构建和运行基于Java Servlet、JavaServer Pages (JSP) 和Java WebSocket 的web应用程序。源码文件包含了Tomcat的核心组件和功能实现。 Tomcat 8.5.81的源码文件主要包括以下几个重要的部分: 1. Connector模块:负责处理与客户端的连接,包括HTTP、HTTPS和AJP协议等。在源码文件中,Connector模块涉及到的类主要包括Connector类、Request类、Response类等。这些类实现了连接的建立、请求的解析和响应的发送等功能。 2. Container模块:负责管理和处理Servlet和JSP等组件,包括请求分发、生命周期管理和会话管理等。在源码文件中,Container模块涉及到的类主要包括Context类、Wrapper类等。这些类实现了Servlet和JSP组件的创建、初始化和处理等功能。 3. Catalina模块:作为Tomcat的核心组件,负责整体的服务器管理和控制。Catalina模块涉及到的源码文件比较复杂,包括了容器的启动、配置加载、线程池管理等。其中,Catalina类、Server类和Service类是Catalina模块的主要组成部分。 此外,Tomcat 8.5.81的源码文件还包括了一些辅助的模块和工具类,如日志模块(使用了Commons Logging框架)、认证模块(实现了基本的用户认证和授权)以及内存缓存模块(用于提高性能)等。 值得注意的是,Tomcat 8.5.81的源码文件是一个庞大的项目,包含了数十万行代码。阅读和理解整个源码需要一定的Java和Web开发经验。为了更好地理解和使用Tomcat,建议先熟悉相关的Servlet和JSP编程,并对Java的网络编程有一定的了解。 ### 回答3: Tomcat 8.5.81 是一个非常流行的 Java Web 服务器,它的源代码文件是编写 Tomcat 运行的核心部分的文件。 Tomcat 的源代码文件包含各种 Java 类和配置文件。其中最重要的文件是 Tomcat 的启动类,例如:Catalina、StandardServer 和 Bootstrap。这些类是整个服务器的入口点,负责初始化和启动服务器。 除了启动类,Tomcat 源码文件还包括了一些核心组件,如连接器(Connectors)、容器(Containers)、Realm 和 Valve 等。连接器负责处理 HTTP 请求和响应,容器用于托管网页和应用程序,Realm 用于管理用户认证和授权,Valve 用于在处理请求和响应时添加额外的处理逻辑。 此外,Tomcat源码文件还包括了一些模块和扩展,用于支持 Tomcat 的各种功能和特性。例如,Catalina 模块提供了 Servlet 容器的实现,NIO 模块提供了高效的非阻塞 I/O 功能,WebSocket 模块支持 WebSocket 技术等等。 总而言之,Tomcat 8.5.81 的源码文件是构成整个 Tomcat Web 服务器的核心组成部分。通过阅读和理解这些源码文件,开发人员可以深入了解 Tomcat 的工作原理,并在需要的时候进行二次开发或自定义扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值