解决 Tomcat 部署工程 重复加载的问题
2011-04-03 23:57
435 查看
一. 环境说明
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工程的重复加载。
方法一
a. 删除 HOST容器的 appBase属性, 即:
将:
----------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------
修改为:
----------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------
b. 在 Context 容器中设置 docBase 属性, 如:
----------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------
注意: 由于删除了上述的 appBase ,所以设置 docBase 属性时要使用绝对路径,不能使用相对路径,因为这里的相对路径既是相对 appBase的路径。
方法二:(推荐的方法)
a. 新建一个目录专门用于存放工程, 如: G:/UserData/debug/web
b. 将工程存放到以上目录下:即:G:/UserData/debug/web/myapp
c. 在 Context 容器中设置 docBase 属性, 如:
----------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------
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属性, 即:
将:
----------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------
修改为:
----------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------
b. 在 Context 容器中设置 docBase 属性, 如:
----------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------
注意: 由于删除了上述的 appBase ,所以设置 docBase 属性时要使用绝对路径,不能使用相对路径,因为这里的相对路径既是相对 appBase的路径。
方法二:(推荐的方法)
a. 新建一个目录专门用于存放工程, 如: G:/UserData/debug/web
b. 将工程存放到以上目录下:即:G:/UserData/debug/web/myapp
c. 在 Context 容器中设置 docBase 属性, 如:
----------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------
相关文章推荐
- vue.js 部署到tomcat中出现访问路径不对,页面加载不出来问题及解决
- Win7下利用Myeclipse部署工程到Tomcat时兼容性问题的解决
- 关于MyEclipse工程部署不能实时同步到Tomcat问题的解决
- 解决Eclipse EE部署web项目在Tomcat webapp目录下没有工程文件的问题
- tomcat 绑定2级域名解决重复加载的问题
- myeclipse,Tomcat中部署多个工程的时候出现内存溢出的问题的解决办法
- myeclipse 与Eclipse web工程相互导入部署问题解决---Tomcat 不能识别工程总结
- 关于MyEclipse工程部署不能实时同步到Tomcat问题的解决
- 解决Tomcat启动时项目重复加载问题
- IDEA 社区版 使用Maven创建Web工程 并部署tomcat(解决无tomcat的问题)
- (原创)项目部署-Tomcat设置默认访问项目及项目重复加载问题处理
- 关于MyEclipse工程部署不能实时同步到Tomcat问题的解决
- 解决 log4j:ERROR Failed to rename,不需要修改源码。同时解决工程重复加载的问题。
- Tomcat-在发布项目时两次重复加载的问题介绍与解决
- jhipster生成的工程war包部署到tomcat中,tomcat正常启动,但一直不加载项目的问题原因。
- tomcat 部署自定义MBean 之二 解决加载冲突的问题
- myeclipse 与Eclipse web工程相互导入部署问题解决---Tomcat 不能识别工程总结
- Eclipse的web工程至Tomcat默认的部署目录是在工程空间下,本文旨在将部署目录改为Tomcat安装目录,并解决依赖包输出问题。
- 通过war包部署默认tomcat工程的问题
- 关于tomcat首页打不开部署项目能打开的问题解决方法