登录页面输入正确的用户名和密码
Posted
技术标签:
【中文标题】登录页面输入正确的用户名和密码【英文标题】:login page enter correct username and password 【发布时间】:2011-03-01 07:24:50 【问题描述】:即使输入了正确的用户名和密码组合,登录页面也会显示指示登录失败的错误消息。这个问题的原因是什么?
try
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conn = DriverManager.getConnection("jdbc:odbc:mydsn","sa","password@123");
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();
【问题讨论】:
使用此代码,您不可能收到带有“抱歉!您输入的用户名或密码无效。请重试”的错误页面。它会引发 HTTP 500 内部服务器错误。 【参考方案1】:因为
PreparedStatement stmt;
ResultSet rs = stmt.executeQuery();
stmt
是null
对您的代码的一些建议:
Avoid java code in jsp 在servlet
写java代码
正确处理异常
【讨论】:
以上是关于登录页面输入正确的用户名和密码的主要内容,如果未能解决你的问题,请参考以下文章
java登录窗口,如果用户输入用户名或者密码正确了怎么跳转到一个jsp页面或者是servlet?