请看上面server.xml中的配置文件,一开始我是这样配置的:
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<!-- SingleSignOn valve, share authentication between web applications
Documentation at: /docs/config/valve.html -->
<!--
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
-->
<!-- Access log processes all example.
Documentation at: /docs/config/valve.html
Note: The pattern used is equivalent to using pattern="common" -->
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
<Context path="" docBase="NjhqWeChat" debug="0"/>
</Host>
我配置<Context path="" docBase="NjhqWeChat" debug="0"/>这个目的是为了,通过ip地址直接访问该项目了,但是这样就导致了一个问题,该项目被tomcat加载了两次了,因为appBase="webapps"自动扫描tomcat下webapp中项目,因为已经存在,又通过<Context>重新加载了一次,所以加载两次了。
下面是正确的配置:
<Host name="localhost" appBase=""
unpackWARs="true" autoDeploy="true">
<!-- SingleSignOn valve, share authentication between web applications
Documentation at: /docs/config/valve.html -->
<!--
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
-->
<!-- Access log processes all example.
Documentation at: /docs/config/valve.html
Note: The pattern used is equivalent to using pattern="common" -->
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
<Context path="" docBase="C:\Tomcat 7.0\webapps\NjhqWeChat" debug="0"/>
</Host>
本文探讨了Tomcat服务器中项目重复加载的问题,分析了原因在于server.xml中appBase属性的不当设置。通过修改appBase路径和正确配置<Context>元素,实现了通过IP直接访问项目且避免重复加载。
6214

被折叠的 条评论
为什么被折叠?



