• Tomcat 技术支持


    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请修改成tomcatwebapps目录之外的目录。 否则 访问http://localhost:8080访问http://localhost:8080/ms,得到的是相同的首页,但是其实是tomcat2contextresponse
    <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亦可。
  • 相关阅读:
    SQL Server -使用表触发器记录表插入,更新,删除行数
    利用DataSet部分功能实现网站登录
    SQL Server排序的时候使null值排在最后
    大数据操作:删除和去重
    C#匿名类型序列化、反序列化
    Js调用asp.net后台代码
    C# Excel
    ajax的介绍
    MySQL数据库的知识总结
    ASP.NET MVC 入门系列教程
  • 原文地址:https://www.cnblogs.com/hzm112567/p/3039457.html
Copyright © 2020-2023  润新知