首页 新闻 搜索 专区 学院

jsp问题 提示 rs cannot be resolved to a variable

0
悬赏园豆:10 [已解决问题] 解决于 2015-04-16 08:55

<html> <head>

<title>登录验证界面</title> </head>

 <body><%

try{  

Connection conn =null;  

PreparedStatement pstmt =null;

 ResultSet rs=null;

 String driverName ="com.sql.jdbc.Driver";

 String dbName="user";

 String url1="jdbc:sql://localhost/"+dbName;  

String url2="?user=sa&password=lx13784429739";

 String url3="&Unicode=true&characterEncoding=GB2312";  

String url=url1+url2+url3;  Class.forName(driverName);  conn=DriverManager.getConnection(url);

 request.setCharacterEncoding("GB2312");

 String name=request.getParameter("username");

 String pw=request.getParameter("pass");

 String sql="select * from user_b where(uname=?andupassword=?) ";

   pstmt =conn.prepareStatement(sql);

 pstmt.setString(1,name);  

pstmt.setString(2,pw);

 rs=pstmt.executeQuery();  

if(rs.next()){  %><%=name%>:登陆成功!<br><%     }

 else{%>  <%=name %>:登录失败!<br><%}  

}catch(Exception e)

     {%>  

              出现异常错误!<br><%=e.getMessage()%>  

<%}

      finally{    if(rs!=null){rs.close();}  

  if(pstmt!=null){pstmt.close();}    

   if(conn!=null){conn.close();}

 }%>

  </body>

</html>

提示finally里的 rs  pstmt  conn错误

rs cannot be resolved to a variable

个人感觉是:变量定义范围的过,不知道怎么修改,还望大神不吝赐教

恨revenge的主页 恨revenge | 初学一级 | 园豆:193
提问于:2015-04-15 20:41
< >
分享
最佳答案
0

 rs  pstmt  conn都定义到try代码外面,不然它们的范围就只在try{}花括号里面有效

收获园豆:10
晴朗路 | 菜鸟二级 |园豆:373 | 2015-04-15 23:03

谢谢

恨revenge | 园豆:193 (初学一级) | 2015-04-16 08:55

@恨revenge: 建议你学习一下mvc模式和jsp的最佳实践,因为这样的代码风格不符合企业项目的开发规范的

晴朗路 | 园豆:373 (菜鸟二级) | 2015-04-16 09:19
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册