问题描述
代码如下:<%@pagelanguage="java"contentType="text/html;charset=GB18030"pageEncoding="GB18030"%><%@pageimport="com.bjsxt.drp.sysmgr.*"%><%Stringcommand=request.getParameter("command");if(command!=null&&command.equals("login")){StringuserId=request.getParameter("userId");Stringpassword=request.getParameter("password");try{Useruser=UserManager.getInstance().login(userId,password);session.setAttribute("user",user);response.sendRedirect("main.html");return;}catch(UserNotFoundExceptionunfe){out.println(unfe.getMessage());//用户名不正确}catch(PasswordNotCorrectExceptionpnce){out.println(pnce.getMessage());//密码不正确}}%>方法调用:publicUserlogin(StringuserId,Stringpassword){Useruser=this.findUserById(userId);if(user==null){thrownewUserNotFoundException("用户不能找到");}if(!user.getPassword().equals(password)){thrownewPasswordNotCorrectException("用户密码不正确");}returnuser;}findUserById和数据库交互没有问题,可以取到userId值,例如:root现在的问题是永远跳转不到main.html页面。。。。
解决方案
解决方案二:
findUserById如下:publicUserfindUserById(StringuserId){System.out.println("UserManager.findUserById()-userId="+userId);Stringsql="select*fromt_userwhereuser_id=?";Connectionconn=null;PreparedStatementpstmt=null;ResultSetrs=null;Useruser=null;try{conn=DB.getConnection();pstmt=conn.prepareStatement(sql);pstmt.setString(1,userId);rs=pstmt.executeQuery();if(rs.next()){user=newUser();user.setUserId(rs.getString("user_id"));user.setUserName(rs.getString("user_name"));user.setPassword(rs.getString("password"));user.setContactTel(rs.getString("contact_tel"));user.setEmail(rs.getString("email"));user.setCreateDate(rs.getTimestamp("create_date"));}}catch(SQLExceptione){e.printStackTrace();}finally{DB.close(rs);DB.close(pstmt);DB.close(conn);}returnuser;同时javascript是调用自身functionsubmitForm(){with(document.forms[0]){action="login.jsp?command=login";method="post";submit();}}
解决方案三:
永远是调用../login.jsp?command=login这个界面,多谢高人指点一下。。。。。
解决方案四:
你确定"response.sendRedirect("main.html");"这句执行了?
解决方案五:
首先看跳转的名字是不是写错了,然后对Useruser=UserManager.getInstance().login(userId,password);进行测试out.println(user);是不是null?.....楼主仔细点肯定能找到错误的所在。
解决方案六:
将"response.sendRedirect("main.html");"里的路径该为绝对路径试试。。。
解决方案七:
全路径我试过,还是不行