Tomcat设置默认访问项目及项目重复加载问题处理

今天解决公司网站只要经过域名加端口就能够访问的问题(因为没有设置tomcat默认启动项致使当不输入项目名访问项目时,看到的是Tomcat配置页面),虽之前有弄过,但记不太全了,仍是那句话"好记性不如烂笔头". 

主要是经过配置<Tomcat安装目录>/conf/server.xml文件  

步骤: 
一、打开server.xml,在</Host>的上一行添加内容格式以下 
<Context path="" reloadable="true" docBase="<项目名>"/> 
如: 
<Context path="" docBase="gps" debug="0" reloadable="true"/> 
dosBase里写的是你要设置为默认项目的名称。 

另: 若是想要只输入IP或域名就能够访问的话,那就把Tomcat的端口设置为80(但需确认此端口有没有其它程序占用),修改以下: 

<Connector  port="80"   maxHttpHeaderSize="8192" 
    maxThreads="150" minSpareThreads="25" maxSpareThreads="75" 
    enableLookups="false" redirectPort="8443" acceptCount="100" 
    connectionTimeout="20000" disableUploadTimeout="true" /> 


注:经过上面的设置有一个问题就是项目会重复加载两次.  

缘由分析  
<Host name="localhost"  appBase="webapps" 
       unpackWARs="true" autoDeploy="true" 
       xmlValidation="false" xmlNamespaceAware="false"> 

<Context path="" docBase="gps"  reloadable="true"/> 

1.当为 Host 容器 设置了 appBase 属性时, Tomcat 会在启动时自动加载 appBase 指定目录下的全部合法工程;
2. 因为同时又经过 Context 的docBase 属性设置了Tomcat 默认工程, 因此,指定的 gps工程又会被加载一次 
基于以上两点,形成了 gps工程的重复加载。 

解决办法  
1. 新建一个目录专门用于存放工程, 如: G:\apache-tomcat-6.0.20\project 
2. 将工程存放到以上目录下:即:G:\apache-tomcat-6.0.20\project\gps 
3. 在 Context 容器中设置 docBase 属性, 如: 
<Context path="" docBase="G:\apache-tomcat-6.0.20\project\gps" /> 

至此问题解决,重启Tomcat服务器就能够经过不加项目名访问此项目. 
注意:记得把webapps目录下的原项目删除
相关文章
相关标签/搜索