tomcat host appBase属性为空所导致的任意访问程序文件问题!
因项目中使用spring quartz,如果不将appBase设置为空,会导致quartz执行两次。
使用如下配置:
<Host name="localhost" appBase=""
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="E:\tomcat\webapps\mywebapp" reloadable="true" debug="0"></Context>
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt" pattern="%h %t "%r" %s %b %T" resolveHosts="false"/>
但又会导致:
http://*.com/conf/web.xml直接暴露的问题!
自己在网上搜索想出个办法,直接使用默认设置,删除Context。
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt" pattern="%h %t "%r" %s %b %T" resolveHosts="false"/>
在webapps中建ROOT文件夹将网站程序放在这个目录下。
但是tomcat配置了多个站点,使用不同的端口,这样不是要在tomcat根目录下建N多webapps/ROOT。
所以求大神想个办法。
------解决方案--------------------直接把你那个mywebapp放到别的地方不就完了吗?比如D:\怎么会这么费劲呢?