当前位置: 代码迷 >> Web开发 >> javaBean验证出错
  详细解决方案

javaBean验证出错

热度:176   发布时间:2012-03-14 12:01:12.0
javaBean验证出错 - Web 开发 / 其他
Java code
public class CheckLogin {
    public String checkLogin(String username,String userPassword){
        BaseConn conn=null;     //已定义好数据库连接
        String index="";
        try{
            conn=new BaseConn();
            String sql="select * from userInfo where nickname=?";
            PreparedStatement ps=conn.preparedStatement(sql);
            ps.setString(1, username);
            
            ResultSet rs=conn.executeQuery();
            if(rs.next()){
                if(rs.getString("userPassword").equals(userPassword)){
                    SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"    );
                    String time=sdf.format(new java.util.Date());//登录时间
                    sql="update userInfo set lastLoginTime=? where nickname=?";
                    ps=conn.preparedStatement(sql);
                    ps.setString(1, time);
                    ps.setString(2, username);
                    conn.executeUpdate();
                    
                    return index="succes";
                }
                else{
                    return index="wrongpassword";
                }
            }
            else{
                return index="no";
            }
        }
        catch(Exception e){
            e.printStackTrace();
            return index;
        }
        finally{
            conn.close();
        }
    }



HTML code
<jsp:useBean id="check" class="mytalk.CheckLogin"/>
  <body>
  <%
   request.setCharacterEncoding("gb2312");
   String nickname=request.getParameter("nickname");  <!--用户的输入名-->
   String userPassword=request.getParameter("userPassword");<!--密码-->
   String loginMsg=check.checkLogin(nickname,userPassword);
   if(loginMsg.equals("success"))
       {
           session.setAttribute("user",nickname);
           
           session.setAttribute("login","success");
           
           response.sendRedirect("chatRoomList.jsp");
   }
   else if(loginMsg.equals("wrongpassword")){
           out.println("你输入的用户名或密码错误,请核实后重新输入");
           if(session.getAttribute("login")!=null)
               session.removeAttribute("login");
       }
       else if(loginMsg.equals("no")){
           check.saveToDataBase(nickname,userPassword);
           session.setAttribute("user",nickname);
           session.setAttribute("login","success");
           response.sendRedirect("chatRoomList.jsp");
    }
    else{
        out.println("程序出错!");
    
    }
   %>
  
    
  
  </body>

为什么运行该jsp文件的时候,未执行if{}else if{}中的代码,只输出了"程序出错!"

------解决方案--------------------
因为loginMsg的值是“no”吧

也就是说 数据库中没有查到这个username,你可以单步跟一下程序,看看每步获得的值是不是你想要的。
  相关解决方案