首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

jsp点击多了服务器反映面慢,数据库关闭,说访问地客户端过多!多谢各位了急用

2012-01-05 
jsp点击多了服务器反映面慢,数据库关闭,说访问地客户端过多!谢谢各位了急用if(1.equals(arch_Borrow)){s

jsp点击多了服务器反映面慢,数据库关闭,说访问地客户端过多!谢谢各位了急用
if("1".equals(arch_Borrow)){ 
  sql = "Select * From archives where arch_User =\'"+arch_User+"\' and arch_Borrow = \'"+arch_Borrow+"\'"; 
}else if("2".equals(arch_Borrow)){ 
  sql = "Select * From archives where arch_Borrow = \'"+arch_Borrow+"\'"; 
  
}else{ 
  sql = "Select * From archives where 1=2";  

ResultSet rs = DBConn.archivesQuery(sql); 
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
 <a href="cadre_borrow.jsp?arch_Borrow=1"> <strong> <font color="#FFFFFF">查看借阅申请 </font> </strong> </a>  
  </b> </td> 
  <td width="214" align="center" valign="center" bgcolor="#799AE1"> <b> 
  <a href="cadre_borrow.jsp?arch_Borrow=2"> <strong> <font color="#FFFFFF">查看借阅信息 </font> </strong> </a>  
  </b> </td> 

、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
while(i <intPageSize && !rs.isAfterLast()){ 
  String user_host = rs.getString("arch_User"); 
  String sql_a = "Select * From cadre where user_ID = \'"+user_host+"\'"; 
  ResultSet rs_a = DBConn.executeQuery(sql_a);
  rs_a.next(); %> 
  <tr onMouseOver="Cbg(this, '#799AE1')" onMouseOut="Cbg(this, '#FFFFFF')">  
  <td align="center"> <b> <%=rs.getString("arch_No")%> </b> </td> 
  <td align="center"> <b> <%=rs.getString("arch_Mark")%> </b> </td> 
  <td align="center"> <b> <%=rs.getString("arch_Name")%> </b> </td> 
  <td align="center"> <b> <%=rs.getString("arch_cardNo")%> </b> </td> 
  <td align="center"> <b> <%=rs.getString("arch_Birthday")%> </b> </td> 
  <td align="center"> <b> <%=rs.getString("arch_W_hours")%> </b> </td> 
  <td align="center"> <b> <%=rs.getString("arch_Plant")%> </b> </td> 
  <td align="center"> <b> <%=rs.getString("arch_TOW")%> </b> </td> 
  <td align="center"> <b> <%=rs.getString("arch_Actuality")%> </b> </td> 
  <td align="center"> <b> <%=rs.getString("arch_Place")%> </b> </td> 
  <td align="center"> <b> <%=rs.getString("arch_Company")%> </b> </td> 
  <td align="center"> <b> <%=rs_a.getString("user_Name")%> </b> </td> 
  </tr> 
  <% 
  rs.next(); 
  i++; 


  } 
while()中是否应该加入:rs_a.close();
在这个文件地结束是否应该加入这三句话?
rs.close();
stmt.close();
conn.close();
可是点多了“查看借阅信息”“查看借阅申请”,这个页面还是发送到这个页面,服务器就会变慢,各位高手帮帮忙,看是那里地问题

[解决办法]
你程序中的几个问题:
1、sql中的单引号没必要转义。想避免SQL注入,需要使用PreparedStatement而不是Statement。
2、你的rs.next()调用了两次,这样你的数据读取将会隔行丢失。
3、操作完毕之后,ResultSet、Statement、Connection等各个与数据库连接有关的对象都必须关闭。否则你的程序用不了几分钟就会崩溃。

热点排行