首页 > 代码库 > Tomcat问题总结

Tomcat问题总结

1、Tomcat下WAR包和同名已解压项目,如何加载??

首先你要明白什么时候war包才会解压,当tomcat启动时候会去查看webapps下的所有war包,同时查看是否有该war包对应的已解压文件,如果已经存在就不会再解压,也不会将你已经修改的jsp覆盖掉,只有当你删除war包对应的同名文件夹(你的工程)后,启动tomcat时才会再解压war文件

 

 

2、tomcat可以访问默认页面,但是无法访问webapp下的指定项目

conf/web.xml --> tomcat的Web配置文件

        <init-param>

            <param-name>listings</param-name>

            <param-value>false</param-value>

        </init-param>

value改成 true就行了!

        <init-param>

            <param-name>listings</param-name>

            <param-value>true</param-value>

        </init-param>

 

 

3、直接在Tomcat的webapp下修改项目的TestProject的JS、CSS时,访问页面不起作用,原因??

Tomcat的部署问题,有时候也是一个麻烦的问题,要不是采用热部署,我们就只能对原来的文件没做一次修改就重新部署一次,而每次重新部署都要关闭Tomcat,部署完成后重启Tomcat,可见,这是一个多么麻烦的事情。现在,我们可以采用热部署了,以后,就不用做凡人做的重启关闭工作。

 

实现方式:

编辑Tomcat的server.xml文件

Xml代码  收藏代码
  1. <Host   name="localhost"   debug="0"   appBase="webapps"  
  2.           unpackWARs="true"   autoDeploy="true"  
  3.          xmlValidation="false"   xmlNamespaceAware="false">  

 

在Host节点内,加入:

   

Xml代码  收藏代码
  1. <Context   path="/requestTest"   docBase="D:\apache-tomcat-6.0.33\webapps\TestProject"   debug="99"   reloadable="true"   />  

 

"myapp"为要部署的应用程序,通常在webapps目录下。

 

context元素的属性:

path:指定访问该web应用的URL入口

docBase:指定web应用的文件路径,可以给绝对路径,也可以给定相对于<Host>的appBase属性的相对路径,如果web应用采用开放目录结构,则指定web应用的跟目录,如果web应用是一个war文件,则指定war文件的路径。

 

reloadable:如果这个属性设为true,tomcat容器会在运行的状态下,监视WEB-INF/class和WEB-INFb目录下的class文件的改动,如果有检测到class文件被更新,服务器会自动重新加载web应用,即自动部署。

 

在开发阶段将reloadable 属性设为true,有助于调试servlet和其他的class文件,但这样会加重服务器运行负荷,建议在web应用的开发阶段将reloadable设为false。

 

注意:

改过之后访问下页面,有时只改可能不会自动部署。

 

 

4、直接使用startup.bat启动时,内存溢出

 

catalina.bat最前面加入

set JAVA_OPTS=-Xms256m -Xmx512m -XX:PermSize=64M -XX:MaxPermSize=128m 即可

 

但是如果不是执行startup.bat启动tomcat而是利用windows的系统服务启动tomcat服务,上面的设置就不生效

 

 

Tomcat问题总结