呵呵,我知道了,你用的是session级的javabean,如果你用page级的就可以了,因为一个浏览器窗口产生了一个会话,如果你是session级的bean当然不能刷新了,况且这时的bean是不可能释放的

解决方案 »

  1.   

    但是我关掉所有的浏览器之后,web服务器的内存还是不能释放掉呀?
      

  2.   

    不会吧,把你的jsp code贴上来看看
      

  3.   

    <body background="images/back/top.jpg"  bgproperties="fixed">
      <jsp:useBean id="ds_data" scope="session" class="pack.DataSource"/>
      <jsp:useBean id="query_data" scope="session" class="pack.Query"/>
      <jsp:useBean id="pubclass" scope="session" class="pack.PubClass"/>
      <%
        String current_page=request.getParameter("current_page");
        String current_page10=request.getParameter("current_page10");
        String refresh=request.getParameter("refresh");
        String caption="";
        int count=20;
        int pages=0;
        int page10=0;
        if(refresh.equals("yes")){
          ds_data.readConfigData("d:/mywork/net/erms/config/config.txt");
          ds_data.open();
          query_data.setDataSource(ds_data);
          String res_id=request.getParameter("res_id");
          if(res_id==null)res_id="1";
          query_data.executeQuery("select * from resourcedb..erms_netresource where res_id="+res_id);
          caption=query_data.getString(0,"res_name");
          String sql_str=query_data.getString(0,"table_data");
          query_data.executeQuery(sql_str);
          current_page="0";
          current_page10="0";
          refresh="no";
        }
        pages=query_data.getRowCount()/count+1;
        page10=pages/10;
        out.print("<table width=100% >");    
        out.print("<tr><td>"+caption+"</td><td align=right>");
        int cur_page10=Integer.valueOf(current_page10.trim()).intValue();
        int cur_page=Integer.valueOf(current_page.trim()).intValue();
        if(pages==1){out.print("只有一页!!!");}
        else{
          if(cur_page10!=0)
            out.print("[<a href='netright.jsp?refresh=no&current_page=0&current_page10="+(cur_page10-1)+"'>上十页</a>]");
          if(cur_page!=0)
            out.print("[<a href='netright.jsp?refresh=no&current_page="+(cur_page-1)+"&current_page10="+cur_page10+"'>上一页</a>]");
          for(int k=0,i=(cur_page10*10);i<pages;i++,k++){
            if(i>=(cur_page10+1)*10)break;
            out.print("[<a href='netright.jsp?refresh=no&current_page="+i+"&current_page10="+cur_page10+"'>");
            out.print(i+1);
            out.print("]</a>");
          }
          if((cur_page<=10)&&(cur_page<(pages-(cur_page10*10)-1)))
            out.print("[<a href='netright.jsp?refresh=no&current_page="+(cur_page+1)+"&current_page10="+cur_page10+"'>下一页</a>]");
          if(cur_page10<page10){
            out.print("[<a href='netright.jsp?refresh=no&current_page=0&current_page10="+(cur_page10+1)+"'>下十页</a>]");
          }
        }
        out.print("</td></tr>");
        out.print("</table>");
        out.print("<table border=1 width=100% >");
        out.print("<tr>");
        for(int col=0;col<query_data.getColumnCount();col++){
          out.print("<td>");
          out.print(query_data.getColumnName(col).toUpperCase());
          out.print("</td>");
        }
        out.print("</tr>");
        
        for(int k=0,i=(cur_page10*10+cur_page*count);i<query_data.getRowCount();i++,k++){
          if(k>=20)break;
          out.println("<tr>");
          for(int j=0;j<query_data.getColumnCount();j++){
            out.println("<td>");
            String data=query_data.getString(i,j);
            if((data==null)||(data.trim().equals("")))data="&nbsp";
              out.print(data);
            out.println("</td>");
          }
          out.println("</tr>");
        }
        out.println("</table>");
      %>
    </body>