`
johnie_sheng
  • 浏览: 110864 次
  • 性别: 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加载顺序。加载方法以及加载的顺序。

    Tomcat启动时类加载顺序

    详细说明了tomcat启动过程中 加载资源的顺序

    tomcat详解与启动加载顺序

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

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

    主要给大家介绍了关于tomcat8改了jar加载顺序的踩坑记录,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧

    Tomcat启动顺序

    Bootstrap--&gt;System --&gt;Common--&gt;Catalina/Shared--&gt;WebApp

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

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

    Tomcat 类加载器的实现方法及实例代码

    JVM 在加载时,采用的是一种双亲委托机制,当类加载器要加载一个类时,加载顺序是: 首先将请求委托给父加载器,如果父加载器找不到要加载的类然后再查找自己的存储库尝试加载 这个机制的好处就是能够保证核心类库不...

    tomcat虚拟路径的配置方法汇总

    一般我们都是直接引用webapps下面的web项目,如果我们要部署一个在其它地方的WEB项目,这就要在TOMCAT中设置虚拟路径了,Tomcat的加载web顺序是先加载 $Tomcat_home$\conf\Catalina\localhost下面的xml文件(文件中配置...

    14-Servlet注解以及IDEA与tomcat相关配置.pdf

    * loadOnStartup 属性:指定 Servlet 的加载顺序,默认为 -1。 * initParams 属性:指定 Servlet 的初始化参数,默认为空数组。 * asyncSupported 属性:指定 Servlet 是否支持异步处理,默认为 false。 * smallIcon...

    TOMACT配置详解

    TOMCAT配置详解 TOMCAT是一款流行的开源Web服务器软件,它基于Java语言开发,可以运行于多种操作系统平台上。在本文中,我们将详细介绍TOMCAT的配置详解,...其中,类库的存放位置和加载顺序是TOMCAT配置的重要部分。

    解决The project cannot be built until build path

    其中,Libraries 是指项目所依赖的 jar 包或其他库文件,而 Order and Export 则是指项目的类加载顺序和输出设置。 解决方法 解决“项目无法构建直到build path”问题的方法可以按照以下步骤进行: 1. 检查 Build...

    mapbox加载带高度的建筑白膜全流程

    发布矢量瓦片服务可以按照以下顺序进行: 1. 进行工作区-添加新的工作区,一般新建个,也可以使用默认已有的工作区。 2. 新建数据存储,就是上传shp等数据注意有中文的可以选择这个编码。 3. 新建一个图层发布。 4....

    SSH的jar包.rar

    SSH(struts+spring+hibernate)的jar包 SSH 通常指的是 Struts2 做前端控制器,Spring ...配置文件加载顺序为:default.properties -&gt; struts-default.xml -&gt; struts-plugins.xml -&gt; struts.xml -&gt; struts.locale。

    javascript-sandbox:一个沙箱,供我在 mavenized 环境中试验 JavaScript 开发

    JavaScript 沙盒 这个项目是我试验如何在 Maven 项目中进行 JavaScript 开发的地方。 你可以做: ... Maven 中的常规测试和构建: mvn ...开始运行前加载资源的过程和顺序 但是,目前无法避免一些细微的差异。 对于加载

    JavaScript完全自学宝典 源代码

    7.4.html 检测onkeydown事件与onkeypress事件执行的先后顺序。 7.5.html 窗口离开时提示。 7.6.html 防止onresize事件重复执行。 7.7.html onerror事件相关处理。 7.8.html onsubmit事件使用...

    Java数据编程指南

    数据定义 基本数据操作 数据完整性 表达式 连接 合并 子...Tomcat安装和配置 JRun 3.0安装和配置 安装检索 附录E 在WebLogic 6.0上配置并部署EJB 设置配置属性 生成EJB容器类 加载...

    leetcode下载-blogNote:个人博客学习笔记

    配置文件顺序加载还未分析 SpringBoot学习笔记(五)-SpringBoot如何启动内嵌的tomcat 链表 题目编号 代码 题解 备注 难度 medium 使用双指针法 medium 迭代法递归法 easy Se存储判断使用双指针法 easy 双指针法 ...

    java面试题

    以下程序使用内部类实现线程,对j增减的时候没有考虑顺序问题。 107 84.4. 现在输入n个数字,以逗号”,”分开;然后可选择升或者降序排序;按提交键就在另一页面显示按什么排序,结果为,提供reset 108 84.5. 金额...

    SpringBoot开发非常美观的java博客系统(包含后台管理功能)

    三、idea以maven项目导入该项目后,发现没有maven的依赖包时,需要对每个maven module进行clear和install,并且注意maven的依赖顺序 SpringBoot开发非常美观的java博客系统(包含后台管理功能) SpringBoot开发非常...

Global site tag (gtag.js) - Google Analytics