首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > Ruby Rails >

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

2012-08-07 
Cannot forward after response has been committed和.ResponseFacade.sendError?java.lang.IllegalStateE

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

热点排行