登录页面输入正确的用户名和密码
问题描述:
即使输入正确的用户名和密码组合,登录页面也会显示一条错误消息,指示登录失败。这个问题的原因是什么?登录页面输入正确的用户名和密码
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();
}
}
答
这是因为
PreparedStatement stmt;
ResultSet rs = stmt.executeQuery();
stmt
是你的代码null
几点建议:
- Avoid java code in jsp 在
- 处理异常
- 编写Java代码正确
servlet
有了这个代码,这是不可能的,你得到一个错误页面“对不起!您输入了无效的用户名或密码。请再试一次“,它会引发HTTP 500内部服务器错误。 – BalusC 2011-03-01 12:32:38