登录页面输入正确的用户名和密码

问题描述:

即使输入正确的用户名和密码组合,登录页面也会显示一条错误消息,指示登录失败。这个问题的原因是什么?登录页面输入正确的用户名和密码

try { 
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
Connection conn = DriverManager.getConnection("jdbc:odbc:mydsn","sa","[email protected]"); 
String sql = "select customer_id, fname, lname, email_id, phone_number from customer_details where user_name=? and password=?"; 
PreparedStatement stmt; 
ResultSet rs = stmt.executeQuery(); 
if (rs.next()) { 
session.setAttribute("customerId", rs.getString(1)); 
session.setAttribute("userName", userName); 
session.setAttribute("fName", rs.getString(2)); 
session.setAttribute("lName", rs.getString(3)); 
session.setAttribute("emailId", rs.getString(4)); 
session.setAttribute("phoneNumber", rs.getString(5)); 
conn.close(); 
%> 
<jsp:forward page="welcome.jsp" /> 
<%} else {%> 
Sorry! You have entered an invalid username or password. Please try again. 
<%} 
conn.close(); 
} catch (SQLException e) { 
e.printStackTrace(); 
} 
} 
+0

有了这个代码,这是不可能的,你得到一个错误页面“对不起!您输入了无效的用户名或密码。请再试一次“,它会引发HTTP 500内部服务器错误。 – BalusC 2011-03-01 12:32:38

这是因为

PreparedStatement stmt; 
ResultSet rs = stmt.executeQuery(); 

stmt是你的代码null

几点建议: