tomcat原理-启动原理.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
tomcat原理-启动原理

tomcat原理-启动原理 Tomcat 原理解说:启动过程分析 从开始学Java,使用网页编程,我们的程序就一直在web容器内运行。容器的概念也是彷佛距离我们相当遥远。Spring给了我们一扇窗户,让我们理解轻量级容器的解决方案。非常庆幸我们所处在一个开源的Java世界,所有的优秀软件都可以在代码级进行亲密接触。 Tomcat结构写的相当之好,极易阅读。本系列文档计划着重以下3个方面: 1. Tomcat 启动过程分析。分析tomcat的启动过程 2. Tomcat Web容器功能分析。分析web容器的实现方法 3. Tomcat 其他配置说明。一些我们目前应用较少的Tomcat配置项说明 注意,本文档分析基于Tomcat5.028完成。 Tomcat的启动过程简单说起来,就是读取配置文件server.xml,然后对其进行实例化的过程。 1. 启动命令行参数 命令行方式下,直接启动startup.bat/.sh即可。bat文件目的就在于获得启动参数。一般情况下,使用类似如下所示的启动方法。注意:bootstrap.jar文件中,还指定了3个包在classpath中。 java -classpath d:\tools\jdk1.5.0\lib\tools.jar;D:\Tomcat-5.0.28\bin\bootstrap.jar -Dcatalina.base=D:\Tomcat-5.0.28 -Dcatalina.home=D:\Tomcat-5.0.28 -Djava.io.tmpdir=D:\Tomcat-5.0.28\temp org.apache.catalina.startup.Bootstrap start Bootstrap是Tomcat的入口。比如启动、关闭、重启都是通过这个类实现对tomcat的控制。 2. ClassLoader的使用 Tomcat对不同的模块可能使用不同的ClassLoader加载。这也就是为什么很多类不在启动的classpath中,却可以被它调用的原因。 下面是Bootstrap初始化ClassLoader的方法: private void initClassLoaders() { try { ClassLoaderFactory.setDebug(debug); commonLoader = createClassLoader(common, null); catalinaLoader = createClassLoader(server, commonLoader); sharedLoader = createClassLoader(shared, commonLoader); } catch (Throwable t) { log(Class loader creation threw exception, t); System.exit(1); } } 下图是Tomcat用户手册上看到的。 Bootstrap | System | Common / \ Catalina Shared (server) / \ Webapp1 Webapp2 ... Bootstrap是JVM提供的 System是在classpath中提供的 Common包含配置文件/org/apache/catalina/startup/perties中指定的类库支持 Catalina和Shared都从Common中继承,包含的类库也在上面配置文件中指定。 WebappX在部署单个Tomcat5实例时指定。一个webapp下面的类库对另外一个是不可见的 Tomcat加载类的顺序和普通的不太一样,如下: Bootstrap classes of your JVM System class loader classses (described above) /WEB-INF/classes of your web application /WEB-INF/lib/*.jar of your web application $CATALINA_HOME/common/classes $CATALINA_HOME/common/endorsed/*.jar $CATALINA_HOME/common/lib/*.jar $CATALINA_BASE/shared/classes $CATALINA_BASE/shared/lib/*.j

文档评论(0)

htfyzc + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档