JSP做的登陆页面,我本来是想在登陆失败后进行跳转到error.jsp页面的但不知道为什么出现下面的提示:java.lang.IllegalStateException: Can't sendRedirect() after data has committed to the client望高手指教!

解决方案 »

  1.   

    你是不是用requset跳转了?
    跳转的地方这样写:
    request.getRequestDispatcher("xx.html").forward(request,response);
    out.clear();
    return;

    红色部分不能少
      

  2.   

    我的代码是:String user=request.getParameter("username");
    String psw=request.getParameter("password");
    int reg=Mb.checkLogin(user,psw);
    if(reg==1)
    {
    session.setAttribute("check",user);
    }
    else
    {
    response.sendRedirect("error.jsp");
    return;
    }
      

  3.   

    改为:String user=request.getParameter("username");
    String psw=request.getParameter("password");
    int reg=Mb.checkLogin(user,psw);
    if(reg==1)
    {
        session.setAttribute("check",user);
    }
    else
    {
        response.sendRedirect("error.jsp");
        return null;
    }
      

  4.   

    或者看看这个:
    String user=request.getParameter("username"); 
    String psw=request.getParameter("password"); 
    int reg=Mb.checkLogin(user,psw); 
    if(reg==1) 

     session.setAttribute("check",user); 
    request.getRequestDispatcher(“success.jsp”).forward(req, res); 这里设置你跳转的地址
       
    return;

    else 

        response.sendRedirect("error.jsp"); 
        return; 
    }
      

  5.   

     response.sendRedirect("error.jsp");在这个之前数据没有提交
      

  6.   

    用这个出现错误:
    cannot return a value from method whose result type is
    void
    return null;
           ^
    1 error
      

  7.   

    response.sendRedirect("error.jsp");问题出在这里,response.sendRedirect是重定向,你可以用请求转发,也就是request.getRequestDispatcher;
      

  8.   

    request.getRequestDispatcher("页面
    ").forwar(request,session);
      

  9.   

    谢谢各位的关注,但还是没成功。所以我改用JS来实现,代码如下:String user=request.getParameter("username"); 
      String psw=request.getParameter("password"); 
      int reg=Mb.checkLogin(user,psw); 
      if(reg==1) 
      { 
          session.setAttribute("check",user); 
      } 
      else 
      { 
          out.println("<script>window.window.location.href(\"error.jsp\");</script>");
          return; 
      }