在用response.sendRedirect()时,如何避免出现java.lang.IllegalStateException异常

oldbig615 2004-09-15 11:49:28
如题
...全文
372 点赞 收藏 9
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
zzffrr 2004-12-29
在response.sendRedirect之后,应该紧跟一句return
回复
wumingwangzi 2004-12-29
2,在response.sendRedirect之后,应该紧跟一句return;
我们已经知道response.sendRedirect是通过浏览器来做转向的,所以只有在页面处理完成后,才会有实际的动作。既然你已经要做转向了,那么后的输出还有什么意义呢?而且有可能会因为后面的输出导致转向失败。

======================================================================================
我就碰见过这类事情,跳转后,后面的语句还会执行,呵呵,后来知道要加return
回复
tom2005 2004-12-29
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是通过浏览器来做转向的,所以只有在页面处理完成后,才会有实际的动作。既然你已经要做转向了,那么后的输出还有什么意义呢?而且有可能会因为后面的输出导致转向失败。
回复
oldbig615 2004-12-29
up
回复
zfsnxhj 2004-11-03


if(!response.isCommitted())
response.sendRedirect("forward");
回复
zhaohh 2004-11-03
我也
有此问题!
回复
rainboy20024 2004-09-15
catch
回复
youthy_yy 2004-09-15
捕获它
回复
oldbig615 2004-09-15
我的意思是要避免出现这个异常,该怎么做
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2004-09-15 11:49
社区公告
暂无公告