解决 Tomcat 部署工程 重复加载的问题
来源:互联网 发布:数据库中的null 编辑:程序博客网 时间:2024/05/16 10:59
一. 环境说明
1. 假设待发布工程 名为 myapp,
2. 工程存放到 %CATALINA_HOME%/webapps 下
3. 在 server.xml 中通过如下方法设置 myapp 为默认工程 (访问时不输入/myapp 而直接访问)
---------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------
二. 问题描述
1.每次启动Tomcat 的时候,工程会被加载两次
2. 通过如下两个链接都可以访问到工程:(相同页面)
----------------------------------------------------------------------------------------------------------------------
http://localhost:8080
http://localhost:8080/myapp
----------------------------------------------------------------------------------------------------------------------
三. 原因分析
1.当为 Host 容器 设置了 appBase 属性时, Tomcat 会在启动时自动加载 appBase 指定目录下的所有合法工程;
2. 由于同时又通过 Context 的docBase 属性设置了Tomcat 默认工程, 所以,指定的 myapp工程又会被加载一次
基于以上两点,造成了 myapp工程的重复加载。
---==很拽的分割线==-------=======knityster -=编织者=======------很拽的分割线------======-----
四. 解决办法
方法一
a. 删除 HOST容器的 appBase属性, 即:
将:
----------------------------------------------------------------------------------------------------------------------
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
----------------------------------------------------------------------------------------------------------------------
修改为:
----------------------------------------------------------------------------------------------------------------------
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
----------------------------------------------------------------------------------------------------------------------
b. 在 Context 容器中设置 docBase 属性, 如:
----------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------
注意: 由于删除了上述的 appBase ,所以设置 docBase 属性时要使用绝对路径,不能使用相对路径,因为这里的相对路径既是相对 appBase的路径。
方法二:(推荐的方法)
a. 新建一个目录专门用于存放工程, 如: G:/UserData/debug/web
b. 将工程存放到以上目录下:即:G:/UserData/debug/web/myapp
c. 在 Context 容器中设置 docBase 属性, 如:
----------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------
- 解决 Tomcat 部署工程 重复加载的问题
- tomcat 绑定2级域名解决重复加载的问题
- 解决 log4j:ERROR Failed to rename,不需要修改源码。同时解决工程重复加载的问题。
- IDEA 社区版 使用Maven创建Web工程 并部署tomcat(解决无tomcat的问题)
- 关于MyEclipse工程部署不能实时同步到Tomcat问题的解决
- 解决Eclipse EE部署web项目在Tomcat webapp目录下没有工程文件的问题
- 解决Tomcat启动时项目重复加载问题
- tomcat 加载 spring 工程遇到的问题
- scrollPagination重复加载问题的解决
- Fragment解决重复加载的问题
- Fragment解决重复加载的问题
- tomcat 部署自定义MBean 之二 解决加载冲突的问题
- eclipse + tomcat 重复加载 多工程 host
- 复制的工程部署到同一个tomcat上出错解决
- 一个Tomcat下部署问题的解决
- 关于tomcat的问题,新工程的部署,运行问题
- 快速解决tomcat的自动加载问题!
- 通过war包部署默认tomcat工程的问题
- servlet最常用的过滤器总结
- 2011校赛决赛简短总结
- UI设计工具
- json
- 软件技巧:优蛋开启出现Failed to set data for错误
- 解决 Tomcat 部署工程 重复加载的问题
- 今天,值得回忆的一天
- jsp servlet中的过滤器Filter配置总结
- 众里,,网页尝试
- 【原创】 JS脚本 格式化 着色 工具
- 简明x86汇编语言教程(6)
- javascript进行输入验证
- Debug 使用简介
- 分离自Discuz模板类和语法