1. 环境配置
JAVA_HOME:D:/Program Files/Java/jdk1.6
CATALINA_HOME:D:/tomcat6
CLASSPATH:.;%JAVA_HOME%/lib;
%CATALINA_HOME%/lib;
Path:%JAVA_HOME%/bin;
%CATALINA_HOME%/bin;
2. 数据库连接池
<Resource name="jdbc/hzm" auth="Container" autoReconnectForPools="true" type="javax.sql.DataSource" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/db_rent?autoReconnect=true" username="root" password="root" logAbandoned="true" maxActive="2000" maxIdle="5" maxWait="5000" />
3. 改端口
server.xml
4. session处理
<Manager className="org.apache.catalina.session.PersistentManager" > saveOnRestart="true" </Manager>
5. 设置默认应用
在server.xml <Host></Host>中添加 docBase请修改成tomcat的webapps目录之外的目录。 否则 访问http://localhost:8080, 访问http://localhost:8080/ms,得到的是相同的首页,但是其实是tomcat的2个context的response。
<Context docBase="../ms" path="" debug="0" reloadable="true" crossContext="true"/>
或者 修改tomcat ROOT目录的index.jsp,使其加载默认应用的首页,如此处应修改成如下
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title></title>
<meta http-equiv="refresh" content="0;URL=<%=request.getContextPath()%>/ms/index.html">
</head>
<body>
</body>
</html>
6. TomCat 出现 OutOfMemoryError : PermGen space 解决方法
PermGen space的全称是Permanent Generation space,是指内存的永久保存区域OutOfMemoryError: PermGen space从表面上看就是内存益出,解决方法也一定是加大内存。说说为什么会内存益出:这一部分用于存放Class和Meta的信息,Class在被 Load的时候被放入PermGen space区域,它和和存放Instance的Heap区域不同,GC(Garbage Collection)不会在主程序运行期对PermGen space进行清理,所以如果你的APP会LOAD很多CLASS的话,就很可能出现PermGen space错误。这种错误常见在web服务器对JSP进行pre compile的时候。 改正方法,在 run.bat 中加入:-Xms256m -Xmx512m -XX:MaxNewSize=256m -XX:MaxPermSize=256m 因为项目中引用了很多的 jar 包,而这些 jar 包中的 class 信息会被 JBoss 的 class loader 加载到 PermGen space 区域,在 JVM 默认的情况下,该部分空间的大小只有 4M,在 jar 包非常多的情况下,显然是不够用的,所以通过 -XX:MaxPermSize=256m 指定最大值后即可解决问题。 另外,如果 heap 内存不足出现 java.lang.OutOfMemoryError: Java heap space 时,可以通过 -Xmx512m 指定最大 heap 内存来解决这样的问题。
7. SEVERE: Exception loading sessions from persistent storage
java.io.EOFException
分析:EOFException表示输入过程中意外地到达文件尾或流尾的信号,导致从session中获取数据失败,其实就是保存在硬盘上的session数据读取失败。异常是tomcat本身的问题,由于tomcat上次非正常关闭时有一些活动session被持久化(表现为一些临时文件),在重启时,tomcat尝试去恢复这些session的持久化数据但又读取失败造成的。此异常不影响系统的使用,问题不大。但是如果不处理一下,每次启动都会出现这个问题。
解决方法:
将work下面的文件清空,主要是*.ser文件,或者只是删除掉session.ser亦可。