发表新主题 回复该帖子
主题:Can´t sendRedirect() after data has committed to t
唧唧
帖子档案  楼主 Can´t sendRedirect() after data has committed to t   Post by : 2009-09-16 12:25:53.0
  • 幼儿园
  • 幼儿园
  • UID:3
  • 主题:342
  • 帖子:781
  • 加为好友 加为好友    发送短信 发送短信

无意间发现Resin的后台报错,奇怪的是sendRedirect的条件根本不成立,也就是不会执行到这行,resin都会报错,而前台JSP却不报错。

原因:在jsp和servlet中,调用sendRedirect()之后,如果没有return,resin中经常抛这个错!此语句前不允许有out.flush(),如果有,也会报错!

如果前面有out.println 或者 out.write 之类的,sendRedirect前也要response.getWriter().close();和out.close();!也就是说要先关闭response的输出,再进行转发!

解决方法:
response.sendRedirect("./index.jsp");
return;//在sendRedirect后面直接return

[11:52:58.796]  java.lang.IllegalStateException: Can't sendRedirect() after data has committed to the client.
[11:52:58.796]   at com.caucho.server.connection.AbstractHttpResponse.sendRedirect(AbstractHttpResponse.java:604)
[11:52:58.796]   at javax.servlet.http.HttpServletResponseWrapper.sendRedirect(HttpServletResponseWrapper.java:109)
[11:52:58.796]   at com.caucho.server.connection.ResponseWrapper.sendRedirect(ResponseWrapper.java:277)
[11:52:58.796]   at com.caucho.server.connection.ResponseAdapter.sendRedirect(ResponseAdapter.java:159)
[11:52:58.796]   at _jsp._simple._post__jsp._jspService(_post__jsp.java:70)
[11:52:58.796]   at com.caucho.jsp.JavaPage.service(JavaPage.java:61)
[11:52:58.796]   at com.caucho.jsp.Page.pageservice(Page.java:587)
[11:52:58.796]   at com.caucho.server.dispatch.PageFilterChain.doFilter(PageFilterChain.java:195)
[11:52:58.796]   at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:738)
[11:52:58.796]   at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:87)
[11:52:58.796]   at org.javawind.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:29)
[11:52:58.796]   at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:87)
[11:52:58.796]   at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:187)
[11:52:58.796]   at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:265)
[11:52:58.796]   at com.caucho.server.hmux.HmuxRequest.handleRequest(HmuxRequest.java:436)
[11:52:58.796]   at com.caucho.server.port.TcpConnection.run(TcpConnection.java:682)
[11:52:58.796]   at com.caucho.util.ThreadPool$Item.runTasks(ThreadPool.java:743)
[11:52:58.796]   at com.caucho.util.ThreadPool$Item.run(ThreadPool.java:662)
[11:52:58.796]   at java.lang.Thread.run(Thread.java:619)

签名
 ★★★★★★★★
 纵里寻她千百度,蓦然回首,那人却在,灯火阑珊处!
 MyBlog :http://blog.javawind.net
返回页面顶部  


CopyRight © 2008-2009 JavaWind.Net Studio All Rights Reserved
Powered By JWind.BBS Vesion 1.0.0 Beta1 Processed in 13 ms,0 (Queries)  Gzip enabled

WAP - 清除Cookies - 联系我们 - JavaWind.Net Studio - Archiver - TOP Valid XHTML 1.0 Transitional Valid CSS! 粤ICP备07511478号