我试了以下几种方法都报同样的错:java.lang.IllegaStateException1、getServletConfig().getServletContext().getRequestDispatcher("/error.jsp").forword(request,response);
2、request.getRequestDispatcher("/error.jsp").forword(request,response);
3、response.sendRedict("/error.jsp");是路径不对吗?error.jsp在工程的根目录下(即webapps/WebRoot/error.jsp)

解决方案 »

  1.   

    第三个写的不对,是sendRedirect("");
      

  2.   

    request.getRequestDispatcher("../error.jsp").forword(request,response); 试过这样吗?
      

  3.   

    servlet的目录当然在"webapps/WebRoot/WEB-IN/classes"下
      

  4.   

    应该不是路径问题吧, IllegaStateException 应该是服务器已经发出响应了
      

  5.   

    看错误信息应该不是路径问题
    我觉得是lz调用了多次页面跳转(比如forward之前可能调用了include等等)
      

  6.   

    我简单把代码写一下,可能有很多拼写错误,请谅解Login.jsp:
    ......
    <form action="MyServlet?Action=Login" method="Post">
       用户名:<input.../>
       密码:<input.../>
    </form>
    ......MyServlet.java:......
    protected doPost(req,resp){//简单写一下
        String Action = req.getParameter("Action");
       if(Action.equal("Login")){
          if(验证通过)
             getServletConfig().getServletContext().getRequestDispatcher("/index.jsp").forword(req,resp);
       }}
    ......
      

  7.   

    如果只是楼主这些代码应该没有问题,注意在forward后面加return