跳转错误

来源:互联网 发布:滴滴截图造假软件 编辑:程序博客网 时间:2024/06/01 17:00

java.lang.IllegalStateException: Cannotforward after response has been committed

    atorg.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:312)

    atorg.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)

    atzhao.ai.nan.servlet.UserServlet.login(UserServlet.java:57)

    atzhao.ai.nan.servlet.UserServlet.doGet(UserServlet.java:20)

    atzhao.ai.nan.servlet.UserServlet.doPost(UserServlet.java:66)

    atjavax.servlet.http.HttpServlet.service(HttpServlet.java:637)

    atjavax.servlet.http.HttpServlet.service(HttpServlet.java:717)

    atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)

    atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

    atorg.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)

    atorg.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)

    atorg.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)

    atorg.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)

    atorg.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

    atorg.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)

    atorg.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)

    atorg.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)

    atorg.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)

    atjava.lang.Thread.run(Thread.java:619)

错误代码为:

if (user != null) {
   request.getSession().setAttribute("user",user);
   
   try {
    request.getRequestDispatcher("/admin/index.jsp").forward(
      request,response);
   } catch(ServletException e1) {
    e1.printStackTrace();
   } catch(IOException e1) {
    e1.printStackTrace();
   }
  
  }

try {
    request.getRequestDispatcher("login.jsp")
      .forward(request,response);
   } catch(Exception e) {
    e.printStackTrace();
   }

 

改正后为:

if (user != null) {
   request.getSession().setAttribute("user",user);
   
   try {
    request.getRequestDispatcher("/admin/index.jsp").forward(
      request,response);
   } catch(ServletException e1) {
    e1.printStackTrace();
   } catch(IOException e1) {
    e1.printStackTrace();
   }
  
  }else{
   try {
    request.getRequestDispatcher("login.jsp")
      .forward(request,response);
   } catch(Exception e) {
    e.printStackTrace();
   }
  }

0 0