response.sendRedirect java.lang.IllegalStateException

原创 2007年09月11日 16:16:00

类文件中调用 response.sendRedirect(cururl);

发生了如下错误:

[07-9-11 16:09:47:106 CST] 3c5a6abb WebGroup      E SRVE0026E: [Servlet 错误]-[]:java.lang.IllegalStateException
 at com.ibm.ws.webcontainer.srt.SRTServletResponseContext.sendRedirectWithStatusCode(SRTServletResponseContext.java:118)
 at com.ibm.ws.webcontainer.srt.SRTServletResponseContext.sendRedirect(SRTServletResponseContext.java:76)
 at com.ibm.ws.webcontainer.srt.SRTServletResponse.sendRedirect(SRTServletResponse.java:758) 

 

解决方法:

response.sendRedirect的注意事项    
  1,在使用response.sendRedirect时,前面不能有HTML输出。  
  这并不是绝对的,不能有HTML输出其实是指不能有HTML被送到了浏览器。事实上现在的server都有cache机制,一般在8K(我是说JSP SERVER),这就意味着,除非你关闭了cache,或者你使用了out.flush()强制刷新,那么在使用sendRedirect之前,有少量的HTML输出也是允许的。  
  如果报错说,“一些信息已经被submitted”(原文忘了),那么,你就要注意看了,前面是不是有过多的HTML输出了。  
   
  2,在response.sendRedirect之后,应该紧跟一句return;  
  我们已经知道response.sendRedirect是通过浏览器来做转向的,所以只有在页面处理完成后,才会有实际的动作。既然你已经要做转向了,那么后的输出还有什么意义呢?而且有可能会因为后面的输出导致转向失败。

 

结论:在response.sendRedirect之后,应该紧跟一句return

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

idea 地址正确 sendRedirect和getRequestDispatcher报错,java.lang.IllegalStateException

今天写了一个最简单的Servlet 一直报错,显示请求重定向sendRedirect一直报错,找出原因后真的想骂人java.lang.IllegalStateException at org....

Str问题java.lang.IllegalStateException: getOutputStream() has already been called for this response的解决

public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, ...

java.lang.IllegalStateException: Cannot create a session after the response has been committed

2012-2-21 16:10:11 org.apache.catalina.core.StandardWrapperValve invoke 严重: Servlet.service() for s...

OKHttp用法小结,response的巨坑,java.lang.IllegalStateException: closed

1.android studio 添加compile ‘com.squareup.okhttp3:okhttp:3.4.1’ 更新版本可以再github上寻找到 2.请求网络数据...

java.lang.IllegalStateException: Cannot forward after response has been committed几个解决方法

在一个项目中jsp页面出现这个问题。011-5-30 16:03:22 org.apache.catalina.core.ApplicationDispatcher invoke 严重: Servl...

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

错误原因如下 :有二个getAll()方法。多写了一个。解决方法。去掉多写的那个。 getall(0方法有一个转发语句。 request.getRequestDispatcher("/client...

[异常]java.lang.IllegalStateException: Cannot forward after response has been committed 的完美解决 for nutz

大部分的java.lang.IllegalStateException: Cannot forward after response has been committed 异常都是由于response...

关于java.lang.IllegalStateException: getOutputStream() has already been called for this response求解

情况: 控制台打出java.lang.IllegalStateException: getOutputStream() has already been called for this respon...

weblogic下抛java.lang.IllegalStateException: response already committed tomcat下正常

今天刚开始接触weblogic,把以前在tomcat环境下写的项目发布到了weblogic上面,出现了很多问题,其中之一就是过滤器,无论登陆是否成功,过滤器session的判断总是不成功,前台一直处于...

struts2 java.lang.IllegalStateException: getWriter() has already been called for this response(异常解决)

预告: 重点请看最后面。 做excel导出时遇到的问题,很多时候会遇到此错误,异常如下: java.lang.IllegalStateException: getWriter() has alre...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)