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代码  收藏代码

    <Host   name="localhost"   debug="0"   appBase="webapps" 
              unpackWARs="true"   autoDeploy="true" 
             xmlValidation="false"   xmlNamespaceAware="false"> 



在Host节点内,加入:

  
Xml代码  收藏代码

    <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服务,上面的设置就不生效了





5、tomcat的默认项目名为ROOT,因此,项目名不为ROOT时,将会出现TOMCAt启动正常,但却无法访问的问题。

正常情况下,我们启动tomcat后,直接输入“http://localhost:端口/“ 后,默认访问的是webapp目录下的ROOT应用。

我们要通过上述方式访问自己的应用,有俩种方式。

第一:把自己开发的项目下的webroot复制到ROOT下(先删除掉原有的的ROOT下东西),重启,应该就OK了!

第二种:找到TOMCAT_HOME/conf/server.xml,编辑



<Host name="localhost"  appBase="webapps"

            unpackWARs="true" autoDeploy="true"

            xmlValidation="false" xmlNamespaceAware="false">



</HOST>标签,在其中添加

<Context path="" docBase="jpetstore" debug="0" reloadable="true"/>,其中jpetstore为你要直接访问的项目名称。

Tomcat下访问项目不需要输入项目名称的配置方法

在tomcat下怎么默认启动一个项目而不用写项目名

猜你喜欢

转载自952605615.iteye.com/blog/2342864