一个比较耗时的请求在servlet中执行时,客户端关闭了,服务器会做些什么?

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

阅读 5.5k
3 个回答

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

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

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题