`
johnie_sheng
  • 浏览: 112373 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Tomcat的加载顺序

阅读更多

应用Tomcat对于我们来讲实在是司空见惯了,但是对于每个使用者来讲,应该了解其运转的机制也是必不可少的,本人在维护"apache开源项目"论坛时遇到此问题,并略作研究,望与大家共讨、分享。

  一、配置自动部署时的web应用加载顺序:

  当tomcat的server.xml中对虚拟主机(Host)配置中autoDeploy=true和unpackWARs=true时,如:

  server.xml

  ...<Host name="localhost" debug="0" appBase="webapps"

  unpackWARs="true" autoDeploy="true"

  xmlValidation="false" xmlNamespaceAware="false">...

  下面的部署顺序在Tomcat启动时发生:

   1。任何具有上下文描述符(Context Descriptors)的web应用首先被部署,tomcat在$CATALINA_HOME/conf/[enginename] /[hostname]/目录中罗列出所有的以xml为结尾的文件,将其作为web应用的上下文描述符,并按照文件名排序逐一部署。

  注意作为上下文描述符的文件名可以不为web应用名,因为tomcat会读取其中的内容来判断,但是改变上下文描述符的文件名会使部署的顺序发生变化。

  如:

  $CATALINA_HOME\conf\Catalina\localhost\devoffer.xml

   <?xml version='1.0' encoding='utf-8'?><Context docBase="E:/eclipse3.1RC3/workspace/devOfferProject/web" path="/devoffer" useNaming="false" workDir="work\Catalina\localhost\devoffer"></Context>

  上面的上下文描述符说明了devoff这个web应用的docBase和部署的path以及其工作目录。

   2。另外,位于$CATALINA_HOME/webapps/[webappname]/META-INF/目录中的context.xml也作为上 下文描述符使用,在处理了上文所说的位于$CATALINA_HOME/conf/[enginename]/[hostname]/目录中的上下文描述 符后,tomcat将部署这些在web应用的META-INF目录中的context.xml。加载顺序按照应用名的字母顺序。

  3。 没有上下文描述符的已经被展开的web应用将按照其应用名顺序逐个被部署,如果其中的一个web应用关联着一个在appBase(一般 为"$CATALINA_HOME/webapps"目录)中的WAR文件,则当WAR文件比相对应的被展开的web应用新时,那个被展开的web应用将 被删除,tomcat将WAR文件展开并部署作为替换旧的web应用。

  4。在执行了1-3步后,tomcat将部署在appBase中的WAR文件。

  请注意:在每个应用被部署后,tomcat为没有上下文描述符的web应用建立上下文描述符。

  二、非自动部署配置下的应用加载顺序:

  此时完全按照在tomcat manager中人工部署顺序。

  三、参考资源:

  http://tomcat.apache.org/tomcat-5.5-doc/deployer-howto.html
本文来自:http://doc.linuxpk.com/46749.html

分享到:
评论

相关推荐

    Tomcat加载顺序

    ### Tomcat加载顺序详解 Apache Tomcat作为一款广泛使用的开源Servlet容器,其类加载机制是理解和维护基于Tomcat的应用程序的重要部分。Tomcat的类加载器遵循特定的加载顺序,确保了不同应用间的隔离性和资源的正确...

    Tomcat启动时类加载顺序

    ### Tomcat启动时类加载顺序详解 #### 一、引言 Apache Tomcat是一款开源的Servlet容器,主要用于部署Java Web应用程序。它支持最新的Servlet、JSP等规范,并且以其轻量级、简单易用的特点而受到开发者的青睐。在...

    tomcat详解与启动加载顺序

    tomcat详解与启动加载顺序 tomcat详解与启动加载顺序

    tomcat8改了jar加载顺序的踩坑记录

    Tomcat8相较于之前的版本,确实对JAR包的加载顺序进行了调整,这在某些情况下可能会导致开发者遇到意料之外的问题。本文将深入探讨这个问题,以及如何理解和解决因jar加载顺序改变而引发的错误。 首先,我们要明白...

    Tomcat启动顺序

    Tomcat的启动顺序涉及到多个层次的加载,从Bootstrap类开始,逐步加载系统配置、公共库、共享库以及Web应用程序。 【详细知识点】: 1. Bootstrap类: Tomcat的启动始于Bootstrap类,这是Tomcat服务器的主入口点...

    tomcat类加载器

    例如,可以通过修改`common.loader`、`shared.loader`和`context.loader`属性来改变类的加载顺序和来源。 在深入研究"DevLoader"之前,需要查看压缩包内的具体文件,例如org目录下可能包含与DevLoader相关的源代码...

    Java 类在 Tomcat 中是如何加载的(过程分析)

    当Tomcat加载类时,它遵循以下顺序: - 使用Bootstrap类加载器尝试加载。 - 使用System类加载器尝试加载。 - 使用Webapp类加载器加载`WEB-INF/classes`下的类。 - 使用Webapp类加载器加载`WEB-INF/lib`中的jar...

    tomcat 类加载机制 —— ClassLoader

    在Tomcat中,我们可以通过配置`catalina.properties`文件和`server.xml`文件来调整类加载策略,例如设置自定义的类加载顺序或启用共享类加载器。 此外,Tomcat还支持热部署,即在不重启服务器的情况下更新Web应用的...

    Spring+SpringMVC配置加载顺序1

    Spring 和 SpringMVC 的配置加载顺序是理解这两个框架协同工作的重要方面。首先,DispatcherServlet 是 SpringMVC 的核心组件,它扮演着请求分发者的角色,确保请求被正确地路由到相应的处理器。DispatcherServlet ...

    Myeclipse + sqlserver+tomcat 安装顺序和配置方法

    MyEclipse + SQL Server + Tomcat 安装顺序和配置方法 MyEclipse 作为 Java 开发的集成开发环境,需要与 SQL Server 和 Tomcat 进行集成以实现数据库交互和 Web 应用程序部署。本文将详细介绍 MyEclipse 8.5、SQL ...

    Tomcat中用web.xml控制Web应用详解

    Tomcat 中 web.xml 文件是 Web 应用的核心配置文件,负责管理 Web 应用的生命周期、Servlet 的加载顺序、Filter 的配置等。下面对 web.xml 文件中的重要元素进行详细解释。 context-param 元素 context-param 元素...

    tomcat 源码分析系列文档

    5. "tomcat加载类的顺序.doc":详细说明了Tomcat加载类的具体步骤和顺序,这对于理解和调试类加载问题至关重要。 6. "Tomcat源码研究.pdf":提供了一个全面的源码分析概览,可能包括了Tomcat的主要组件、设计模式...

    web.xml文件加载顺序[归纳].pdf

    理解Web.xml的加载顺序对于开发和调试Web应用程序至关重要。 首先,当Web应用程序启动时,Web容器(如Tomcat、Jetty等)会读取web.xml文件。在这个过程中,它会首先处理`&lt;listener&gt;`和`&lt;context-param&gt;`这两个元素...

    web项目的启动时文件加载顺序1

    在Web开发中,理解Web项目的启动时文件加载顺序是至关重要的,因为它直接影响到应用程序的初始化和运行。本文将深入探讨这个主题,重点关注Web容器如何处理配置文件`web.xml`,以及不同组件(如`context-param`、`...

    细说Tomcat如何打破双亲委派(有源码和图)

    6. **优化的加载顺序**: Tomcat通过自定义加载顺序,使得应用可以覆盖服务器级别的类库,从而实现了更灵活的部署和扩展。 `classloader2.vsd`文件可能是类加载器层次结构的Visio绘图文件,它能直观地展示上述类加载...

    tomcat加载jar异常问题的分析与解决

    在实际操作中,结合项目实际部署情况和环境变量,逐一排查并解决上述提到的问题点,就能有效解决Tomcat加载JAR异常的问题。 需要注意的是,由于文档内容是通过OCR扫描得到的,可能存在个别字词的识别错误。因此,在...

    Tomcat帮助文档全集

    例如,当遇到类加载问题时,API文档可以帮助理解类的生命周期和加载顺序;在性能瓶颈分析时,开发向导则能指导如何调整线程池大小、缓存设置等。对于初学者,这些文档能提供系统的学习路径,对于经验丰富的开发者,...

    tomcat 学习与分析总结资料

    理解类加载顺序和隔离机制,能避免类冲突,保证应用的正常运行。 5. **Tomcat权威指南** "Tomcat权威指南"通常涵盖Tomcat的安装、配置、安全管理、集群、连接池、日志和性能调优等方面。阅读这本书可以系统地学习...

Global site tag (gtag.js) - Google Analytics