写JSP代码连接数据库时遇到的问题:
代码:
Connection con=db.getConnection();
Statement stmt=con.createStatement();
String sql="SELECT * FROM userinfo";
sql+=" WHERE loginName ='" +name+ "' AND passWord='"+password+"'";
ResultSet rs=stmt.executeQuery(sql);
错误信息:
解决方法:
1、代码完善
<%
Connection con=null;
Statement stmt=null;
ResultSet rs=null;
try
{
con=db.getConnection();
stmt=con.createStatement();
String sql="SELECT * FROM userinfo";
sql+=" WHERE loginName ='" +name+ "' AND passWord='"+password+"'";
rs=stmt.executeQuery(sql);
if(rs.next())
{
session.setAttribute("userName", name);
response.sendRedirect("main.jsp");
}
else
{
out.print("无此用户或密码错误,登陆失败!<br><br>");
out.print("<a href='login.jsp'>重新登陆</a>");
}
}catch(Exception e){}
finally
{
db.closeConnection(con);
db.closeResultSet(rs);
db.closeStatement(stmt);
}
%>
2、导入驱动jar包 mysql-connector-java-5.1.39.jar
mysql-connector-java-5.1.39.jar
放入当前Web工程\WebRoot\WEB-INF\lib目录下
代码说明:
1、首先将其声明全局变量并初始化为空;
2、将要执行的赋值语句放入try-catch语句块中,捕捉异常;
3、finally语句释放资源;
这样做可以及时清空缓存,释放占用资源,效率更高,同时提高了代码的健壮性。
重要的是养成良好的编码习惯。