Cannot forward after response has been committed和.ResponseFacade.sendError

 

java.lang.IllegalStateException: Cannot forward after response has been committed  

 

if(!isCheck)

{  

          //此处本意就是要跳转,那么后面就不能在把request response交给过滤链了

           request.getRequestDispatcher("/error.jsp").forward(request,response);  

          // 必须return,否则报错   

 // 不return的话 转向后再去执行关于response的操作,就等于执行了两遍转向,因此会报错!

           return ;  

}  

chain.doFilter(request, response);  

 

 

java.lang.IllegalStateException  

    at org.apache.catalina.connector.ResponseFacade.sendError(ResponseFacade.java:407) 

1)同一个页面中再次调用response.sendRedirect()方法。 

2)提交的URL错误,即不是个有效的URL。

 

说白了,这两种方式 就是 reponse.sendRedirect或者request.getRequestDispatcher之后 后面代码又有转发或者重定向的动作在执行而导致。



一般情况的解决方案就是return掉即可解决。

你可能感兴趣的:(response)