Tomcat笔记
tomcat自己配置 出错可能是哪些原因
出错可能原因:
1.java环境变量问题 jdk版本
2. CATALINA_HOME环境变量未设置
3.CATALINA_HOME错误设置
4,端口冲突
5.localhost.yyyy-mm-dd.log看日志错误是啥
6.Error FilterStart过滤器问题
7.确定Web应用是否成功启动
8.webapps下的ROOT目录顶折
有的时候,在server.xml 中配置的<context 是以“/"为开始路径的,与此同时,在webapps目录下还存在一个ROOT目
录,这个ROOT目录其实也是告诉tomcat,以“/” 为开始路径,那么这样就发生冲突了,Tomcat只能二选一,通常情况下都会
选择ROOT目录,那么在server.xml中配置的<context 就无法启动了,导致访问对应的资源提示404错误。
解决办法就是删除掉ROOT目录,或者把ROOT目录重命名
9.记得加项目名称
10.不能访问WEB-INF目录下的资源
11.启动报错顶折
Tomcat启动的时候会报一个Exception loading sessions from persistent storage异常
该问题的原因是tomcat的session持久化机制引起的,tomcat这个功能本身的用意在于重启tomcat后保存之前的session,Tomcat会把session持久化在%TOMCAT%/work/Catalina/localhost/session.ser 这个文件里。 但是因为tomcat非正常关闭,所以这个文件没有正确地结束(无EOF标记)
解决办法治标: 只需要删除 session.ser文件即可。
解决办法治本:关闭tomcat的持久化功能,就能一劳永逸的解决这个问题。具体为修改conf下的server.xml文件。在项目的context间加入一句代码
<Manager className="org.apache.catalina.session.PersistentManager" saveOnRestart="false"/>
重启tomcat以后再也不会报这个错误了。
<Context path="/" docBase="D:\\project\\j2ee\\web" debug="0" reloadable="false" >
<Manager className="org.apache.catalina.session.PersistentManager" saveOnRestart="false"/
>
</Context>
tomcat部署
1.docBase设置为j2ee项目所在路径
下载好j2ee.rar后,解压出来,假设解压到如下目录:
E:\download\j2ee
接着用记事本把 前面下载的 tomcat8080 对应的 conf 目录下的 server.xml文件打开,复制本来被注释掉的
<Context path="/" docBase="E:\\project\\j2ee\\web" debug="0" reloadable="false" />
2.启动startup.sh 然后启动成功
如图所示,把e:\project\j2ee\web 修改为 e:\download\j2ee\web。
如果没有把握就下载右上角的server.xml,并覆盖server.xml。
注: 文件路径是双斜杠哦,不是单斜杠
Tomcat启动时为什么要配置CATALINA_HOME环境变量??
CATALINA_HOME的值被设为Tomcat的安装目录,如果环境变量CATALINA_HOME已经存在,则通过这个环境变量调用bin目录下的“catalina.bat start”命令
1.Tomcat启动时,需要查找CATALINA_HOME这个环境变量,如果在Tomcat的bin目录下调用 startup.bat,Tomcat会自动并正确设置CATALINA_HOME
2.执行startup.bat命令,实际上执行的是 “catalina.bat start”命令。
3.如果要想在任意目录下都能启动Tomcat,就需要设置CATALINA_HOME环境变量,你可以将CATALINA_HOME添加到系统的环境变量中,其值就是Tomcat的安装目录。
4.在Tomcat 4以前,用的就是TOMCAT_HOME来表示Tomcat的安装目录,在Tomcat 4以后,采用了新的Servlet容器Catalina,所以环境变量的名字也改为了CATALINA_HOME。
5.“catalina.bat run”命令有时候是非常有用的,特别是当我们需要查看Tomcat的出错信息时。

浙公网安备 33010602011771号