为了账号安全,请及时绑定邮箱和手机立即绑定

为什么在做请求重定向的时候out.flush()会抛异常?

response页面一旦调用一个flush()方法后,代表该response已经提交, 执行完毕,不能再使用

response是服务端对客户端请求的一个响应,其中封装了响应头、状态码、内容等,服务端在把response提交到客户端之前,会向缓冲区内写入响应头和状态码,然后将所有内容flush。

这就标志着该次响应已committed(提交)。对于当前页面中已经committed(提交)的response,就不能再使用这个response向缓冲区写任何东西

(注:同一个页面中的response.XXX()是同一个response的不同方法,只要其中一个已经导致了committed,那么其它类似方式的调用都会导致 IllegalStateException异常)。

详细的解释在下面:

http://jorton468.blog.163.com/blog/static/72588135201102441617287/


正在回答

3 回答

试了一下,用response.flushBuffer()方法后在用response.getWriter.write()方法输入字符串还是可以的啊,按理说不是应该提交response了吗。怎么还可以用它的方法呢


0 回复 有任何疑惑可以回复我~

非常感谢,好人一生平安!

0 回复 有任何疑惑可以回复我~

感谢分享

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么在做请求重定向的时候out.flush()会抛异常?

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号