首页 > 代码库 > 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文件
- <Host name="localhost" debug="0" appBase="webapps"
- unpackWARs="true" autoDeploy="true"
- xmlValidation="false" xmlNamespaceAware="false">
在Host节点内,加入:
- <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问题总结