Implement the HttpSessionBindingListener.

解决方案 »

  1.   

    你的Bean太长了。我没看。不过我告诉你一个方法。在每个页面的onunload事件中调用一个javaBean。这个Bean的作用是:conn.close();stmt.close();rest.clsoe();
      

  2.   

    记了告诉你还有一个更简单的方法:
     把关闭连接直接写成一个clsoeDate.jsp文件。然后在页面的onunload事件中调用一个javascript函数。此函数功能是:winodw.action=clsoeDate.jsp;省得你去写javaBean
      

  3.   

    谢谢luo525zheng(天),我也想的是这样做,但是
    在<body background='images/bg.gif' topmargin='0' leftmargin='0' onunload="">里如何捕捉这个事件,然后调用一个bean方法呢?举个例子,谢了!
      

  4.   

    如果写成close.jsp文件的话,你没关闭一次叶面的话,他都会在ie里显示这个文件,这不是很不好吗?还是谢了:)
      

  5.   

    强烈建议你不要用你的方式应用到你的应用中,因为数据库资源是非常稀有的
    建议你使用CachedResultSet
      

  6.   

    onunload?????????????????js?等页面出来再关闭结果集?????????????
    我前面是19层的窗户,别拦我,我跳!!!!
      

  7.   

    建议使用这种方式:
        在处理事务逻辑bean的方法开始时创建一个连接,结束时就close掉,获得的数据通过参数传递到JSP页面上,这样数据库效率更高
      

  8.   

    跟一条广告
    招聘网页编程人员(1-2名)
    1-2年的网页编程经验
    语言:JSP,java,html,javascript
    请在简历中写明对以上语言的掌握程度以及学历.北京友联创新系统集成有限公司
    联系方式:北京82899479-8010王先生
    [email protected]
      

  9.   

    jsp执行完毕就要关闭连接拉~~
    把你的bean里的close()方法改一改
    public void Close(){
    try{
       if(conn!=null&&!conn.isClose()){
         stmt.close();
         conn.close();
       }
    }catch(Exception e){ System.out.println("closeDB errors"); }
    finally{stmt=null;conn=null;}
    }
    当一个jsp执行完毕之后生成的是一个html发送到客户段
    这里ie上的html是不需要和数据库连接的,和数据库连接的是你的jsp程序。
    当你的jsp完成对数据库操作的时候就应该调用Close()方法关闭数据库连接。
    如果你又ResultSet对象操作的话,请先rs.close();再调用bean的Close();
      

  10.   

    你的思路太死板,没有理解http是无态的特点,还在用c/s体系结构的思想来解决问题,楼上 hykwolf(Yankang Hu) 和 migro3000(migro)的解决才治本。
      

  11.   

    jsp->http......>客户端;这才是吴状态绘画。
      

  12.   

    楼上说得很好,我觉得做好的办法就是象migro3000(migro)说得,取完值后调用finally {
             try {
                 if (ps != null) ps.close();
                 if (rs != null) rs.close();
    取到的值通过参数传出去使用
      

  13.   

    呵呵,大家说得都对,可是我的项目比较紧,现在已经作成这样了,没办法大修改了,我只能在这基础上小修改
    我现在的做法是
    在jsp页面调入的末尾调用bean_name.close(),关闭连接,可这支关闭了conn,rs我也在页面关闭了,还有stmt也必须关闭吗??