Java笔记---JSP页面中登录问题

今天,终于把设计弄好了,开始进入编码阶段了。但是在进行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错误。

 

你可能感兴趣的:(java,Web,jsp)