java - 一个比较耗时的请求在servlet中执行时,客户端关闭了,服务器会做些什么?
阿神
阿神 2017-04-17 13:08:43
[Java讨论组]

两个问题,请大大们看看:
1、一个比较耗时的请求在servlet中执行时,客户端关闭了,服务器会做些什么,中段?还是正常运行到结束?
2、浏览器request时建立的连接是一直到response完成后才中断么?

阿神
阿神

闭关修行中......

全部回复(3)
黄舟

会正常执行完毕,直到调用response client才会抛异常。
另外可以用一个thread monitor connect status,通过request对象获取到inputstream对象,如果client close了,应该会发送一个结束标志的,read操作会返回-1的。

黄舟

应该是正常执行到结束,http是无状态的,服务器不会知道客户端关闭了除非客户端给它发送一条“我关闭了”的信息

迷茫

看具体在做什么了,如果已经拿完请求传递到下层,比如查询数据库之类的会执行完毕。
如果正在通过建立的连接out.print之类的会抛出io异常,比如客户端在上传数据。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号