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

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();

stmtnull

对您的代码的一些建议:

Avoid java code in jsp 在servlet写java代码 正确处理异常

【讨论】:

以上是关于登录页面输入正确的用户名和密码的主要内容,如果未能解决你的问题,请参考以下文章

实现带有验证码的简易登录页面

java登录窗口,如果用户输入用户名或者密码正确了怎么跳转到一个jsp页面或者是servlet?

输入错误的用户名和/或密码后,如何将用户从登录控件重定向到错误页面?

APP通用测试用例-登录和页面展示

软件测试:实例-登录页面怎么测?

输入账号 密码 实现登录功能