今天,终于把设计弄好了,开始进入编码阶段了。但是在进行JSP登录验证时却出了问题,首先没改之前,没问题。代码如下:
<%
String userName = request.getParameter("userName");
String password = request.getParameter("password");
//获取连接
DBConnection dbConnection = new DBConnection();
Connection conn = dbConnection.getConn();
//验证
String sql = "select * From tb_users";
Statement s = conn.createStatement();
ResultSet rs = s.executeQuery(sql);
while(rs.next()){
String strName = rs.getString(2);
if(userName.equals(strName)){
System.out.print("登录成功");
request.getRequestDispatcher("index.jsp").forward(request, response);
}else{
request.getRequestDispatcher("login.jsp").forward(request, response);
}
}
%>
可当我添加了对密码的验证时,却出现了500错误,修改的代码如下:
while(rs.next()){
String strName = rs.getString(2);
String strPass = rs.getString(3);
if(userName.equals(strName)&&password.equals(strPass)){
System.out.print("成功");
request.getRequestDispatcher("index.jsp").forward(request, response);
}else{
request.getRequestDispatcher("login.jsp").forward(request, response);
}
我当时就懵了,一直想不通,为什么。当我把代码改回去时,我戳!还是报500错误。我心里就开始骂了。实在是想不通。我上网搜也没搜出个所以然来。我之好自己慢慢调试,发现,错误就在request.getRequestDispatcher("login.jsp").forward(request, response);这句,可我改为response.sendRedirect("login.jsp");时,还是错误。当换成是
out.println("失败");时,有可以了。这时,心里就如同千万只草泥马奔腾而过,太尼玛坑爹了。好吧,我又只能慢慢的
修改了,最终我找到了方案,虽然我至今还是不知道那该死的500错误是怎么回事。
经我修改后的代码如下:
<%
String userName = request.getParameter("userName");
String password = request.getParameter("password");
DBConnection dbConnection = new DBConnection();
Connection conn = dbConnection.getConn();
String sql = "select * From tb_users";
Statement s = conn.createStatement();
ResultSet rs = s.executeQuery(sql);
while(rs.next()){
String strName = rs.getString(2);
String strPass = rs.getString(3);
if(userName.equals(strName)&&password.equals(strPass)){
System.out.print("成功");
request.getRequestDispatcher("index.jsp").forward(request, response);
}
}
response.sendRedirect("login.jsp");
%>
唉,只能先将就着这么用了。等哥牛逼点后,哥在弄死你Y的500错误。