第一个问题的解决方法:1 修改TOMCAT_HOME/conf/server.xml里面对应的<context ... reloadable="true" >2 或在浏览器里面输入http://YOUR_HOST/manager/reload?path=YOUR_CONTEXT第二个问题的解决方法:
1 可能与数据库和操作系统有关系. 记得曾经有个项目,Tomcat在Win2K上比较慢,换到WinXP上就比较快了.用的是同一个mssql数据库.建议用性能诊断工具察看一下第三个问题的答案:
1 如果用户数不多,这样关闭是不会出现问题的.如果用户量很大,建议使用数据库连接池, Apache的DBCP还可以. 毕竟Connection资源申请和释放的代价都是十分高昂的.

解决方案 »

  1.   

    第三个问题答案的补充:ResultSet和Statement使用完毕后,必须关闭,否则将在数据库中形成很多sleeping状态的子进程,占用资源殆尽.
      

  2.   

    一个比较好的Example,引用自Tomcat Document:
    ---------------------------------------------------
      Connection conn = null;
      Statement stmt = null;  // Or PreparedStatement if needed
      ResultSet rs = null;
      try {
        conn = ... get connection from connection pool ...
        stmt = conn.createStatement("select ...");
        rs = stmt.executeQuery();
        ... iterate through the result set ...
        rs.close();
        rs = null;
        stmt.close();
        stmt = null;
        conn.close(); // Return to connection pool
        conn = null;  // Make sure we don't close it twice
      } catch (SQLException e) {
        ... deal with errors ...
      } finally {
        // Always make sure result sets and statements are closed,
        // and the connection is returned to the pool
        if (rs != null) {
          try { rs.close(); } catch (SQLException e) { ; }
          rs = null;
        }
        if (stmt != null) {
          try { stmt.close(); } catch (SQLException e) { ; }
          stmt = null;
        }
        if (conn != null) {
          try { conn.close(); } catch (SQLException e) { ; }
          conn = null;
        }
      }
      

  3.   

    谢谢 chn217(天涯) 的回复!1。我的虚拟目录是在http://localhost:8080/admin里设置的,其中Context Properties下边和Loader Properties 下边都有Reloadable这个选项,都设置为:TRUE吗?在server.xml里没有发现context标签。2。我的WEB服务器一直都在一台机器上啊!3。关于Apache的DBCP的能不能介绍一下?
      

  4.   

    1.可以进入tomcat的manage界面,手动对修改过的工程进行reload。
      

  5.   

    1  应该是在Context标签下的reloadable,呵呵,这个你自己多try几下不就OK了么2  第二个问题,我建议你用性能诊断工具查一下,我觉得可能是数据库的问题3  http://jakarta.apache.org/commons/dbcp/   实际上还有很多连接池的实现,PoolMan也不错.自己多搜索吧
      

  6.   

    开发阶段roloadable设为true有助于调试servlet和其他class文件
    但这一功能会加重服务器得运行负荷,建议在发布阶段改为false