读书人

Cannot forward after response has b

发布时间: 2012-08-07 14:54:47 作者: rapoo

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掉即可解决。

读书人网 >Ruby Rails

热点推荐