tomcat通过Bootstrap启动,同时将各种配置组合成Catalina;
读取server.xml,将参数读到Catalina及下属的对象里,启动start()时,也会调用下属对象的start().
Top Level Elements:
Server
Service
Connector
HTTP
AJP
Container
Engine
Host
Context
....具体树形再补充
Tomcat6.x使用Coyote模块来实现Connector框架
server.xml文件中指定协议和协议处理器的类名。如下:
<Connector port="8089" protocol="AJP/1.3" redirectPort="8443" />
或
<Connector port="8089" protocol="HTTP/1.1" connectionTimeout="20000"
redirectPort="8443" />
在构造连接器时,连接器根据是否支持Apache Portable Runtime (APR),选择不同的类支持HTTP协议和AJP协议,其对应关系如下:
支持APR
HTTP/1.1协议对应org.apache.coyote.http11.Http11AprProtocol类
AJP/1.3协议对应org.apache.coyote.ajp.AjpAprProtocol类
不支持APR
HTTP/1.1协议对应org.apache.coyote.http11.Http11Protocol类
AJP/1.3协议对应org.apache.jk.server.JkCoyoteHandler类
如果按
<Connector port="8089" protocol="HTTP/1.1" connectionTimeout="20000"
redirectPort="8443" />写法,
在tomcat启动时将会org.apache.tomcat.util.net.JIoEndpoint中Acceptor (socket acceptor线程)的run,随时相应url.
然后调用org.apache.catalina.connector.CoyoteAdapter的service处理(到Context那一层),待续...
分享到:
相关推荐
通过分析源码,开发者可以学习到如何遵循Servlet和JSP规范进行服务器端开发,理解Tomcat如何处理请求、管理会话、调度线程等。此外,源码还便于开发者修复已知问题,优化性能,或添加特定的功能。 总之,`tomcat6-...
《深入理解Tomcat连接器:剖析tomcat-connectors-1.2.48-src源码》 ...通过源码分析,我们可以学习到更多关于网络请求处理、服务器通信以及性能优化的实践知识,这对于提升Web应用的效率和稳定性至关重要。
在开始学习Tomcat源码之前,首先需要了解一些基本概念。Java Servlet是Java平台上的一个标准接口,用于处理HTTP请求。而JSP则是用于创建动态网页的Java技术,它将业务逻辑和页面展示分离。Tomcat作为Servlet容器,...
1. **Tomcat结构**: - **bin**:包含启动和停止Tomcat的脚本,如`catalina.sh/bat`、`startup.sh/bat`、`shutdown.sh/bat`等。 - **conf**:存放Tomcat配置文件,如`server.xml`(服务器配置)、`web.xml`(全局...
这个源码包,"apache-tomcat-6.0.43-src",是Tomcat 6的官方源代码,非常适合开发者进行深入学习和自定义修改。以下是基于这个源码包的一些关键知识点: 1. **Servlet容器**:Tomcat作为Servlet容器,其主要任务是...
6. **安全性**:Tomcat提供了安全功能,如用户认证和授权。源码中的`security`目录包含了相关实现,例如`Realm`接口及其实现,用于处理身份验证。 7. **国际化与本地化**:在`l10n`目录下,你可以找到Tomcat支持的...
这个压缩包包含了两个版本的Tomcat源码:apache-tomcat-7.0.62-src和apache-tomcat-6.0.39-src,这两个版本分别代表了Tomcat在不同时间点的开发状态和技术特性。 首先,让我们从Apache Tomcat 6.0.39源码开始分析。...
通过对Tomcat源码的深入理解和分析,开发者可以更好地掌握服务器的运行机制,解决性能问题,定制化配置,甚至为Tomcat贡献自己的代码。无论是新手还是经验丰富的开发者,都能从这样的源码分析中受益。
通过分析和学习Apache Tomcat的源码,开发者可以更好地理解Web服务器的工作原理,提高问题定位和性能优化的能力。同时,这也是深入学习Java Web技术的重要途径,有助于提升开发者在Web应用开发和服务器管理方面的...
深入Tomcat源码,我们可以学习到以下关键知识点: 1. **Web应用部署**:Tomcat如何解析`WEB-INF/web.xml`配置文件,加载Servlet和Filter,以及如何根据`META-INF/context.xml`设置上下文参数。 2. **生命周期管理*...
Apache Tomcat 8.5.23 源码分析 Apache Tomcat 是一个开源的、免费的Web服务器和Servlet容器,它实现了Java Servlet和JavaServer Pages(JSP)规范,...因此,对Tomcat源码的学习对于Java Web开发者来说是至关重要的。
这个源码包包含了Tomcat的核心代码,对于开发者而言,它是一个宝贵的学习资源,可以帮助理解Tomcat的工作原理以及如何自定义或优化其功能。 在Java Web开发中,Servlet是服务器端的Java应用程序接口,用于生成动态...
7. **源码分析**:深入学习Tomcat源码有助于理解其工作流程,包括请求处理、连接器(Connector)、容器(Container)架构、线程池管理、类加载机制(Class Loading)以及会话管理等核心概念。通过阅读源码,开发者...
1. **Tomcat结构**: Tomcat的源码主要分为以下几个关键部分: - `common`:包含所有版本的Tomcat都可以使用的通用组件。 - `catalina`:核心服务组件,处理请求和响应,实现Servlet容器的主要功能。 - `conf`:...
9. **配置管理**:学习如何配置Tomcat和Redis连接,以及在应用中集成session manager。 10. **版本控制**:Git是常用的版本控制系统,`.gitignore`文件帮助管理版本库的整洁。 通过理解和实践这些知识点,开发者...
《Jakarta Tomcat Connectors ...通过研究这个源码包,开发者不仅可以学习到Apache Tomcat Connectors的设计理念和实现,还能增强自身的系统编程和网络编程能力,对于提升在Java Web开发领域的专业素养具有重要意义。
在本压缩包"apache-tomcat-6.0.29.zip"中,包含的是Apache Tomcat 6.0.29版本的源码、配置文件、库文件以及相关的文档资料。 Tomcat 6.0.29是Apache Tomcat的一个稳定版本,发布于2010年,支持Java EE 5规范。以下...
《深入剖析Tomcat 6与7的源码》 Tomcat作为开源的Java Servlet容器,是许多Web开发者和系统管理员的首选。它以其轻量级、高效和易于配置的特性赢得了广泛赞誉。本文将深入探讨Tomcat 6和7的源码,揭示其内部工作...
首先,源码下载是学习任何软件内部工作原理的第一步。对于Tomcat 6.0,你可以通过Apache官方网站获取官方源码,这对于希望深入了解Web服务器工作方式、定制化部署或进行性能优化的开发者来说至关重要。源码提供了一...
Tomcat6是开源项目,其源码开放给所有人学习和研究,这有助于提升开发者对Web应用服务器内部机制的理解。 【描述】"Tomcat6的可运行Java源码代码,注意可以运行的哦,只需导入即可"表明这个源码包不仅包含源代码,...