无意间发现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)