【问题标题】:What to do if HttpServletResponse.getWriter() throws an IOException?HttpServletResponse.getWriter() 抛出 IOException 怎么办?
【发布时间】:2021-12-27 03:46:50
【问题描述】:

函数 HttpServletResponse.getWriter() 实际上会抛出 IOException,发生这种情况时,理想的做法是在响应中发送 500 状态,有没有可行的 PrintWriter 的方法?

【问题讨论】:

  • 这已经是默认行为,前提是 IOExcepiton 实际上不是由客户端本身中止请求/响应并因此故意对响应不感兴趣:)

标签: java spring servlets ioexception


【解决方案1】:

是的,你可以, 你可以通过HttpServletResponse 使用sendError() 函数来做到这一点。

你可以这样做:

response.sendError(SC_INTERNAL_SERVER_ERROR, "your error message");

【讨论】:

  • 谢谢!我发现 sendError 也会引发 IOException。这是否意味着当客户端无法从服务器获得任何东西时,总会有一种可能性?
  • @MorrisTown 是的,总会有这种可能性,但常见的情况是请求超时(当您的请求超过时间限制而您没有得到服务器的响应时)
  • 可以详细了解http请求生命周期
猜你喜欢
  • 2017-03-04
  • 1970-01-01
  • 2021-03-05
  • 2012-01-13
  • 2012-09-21
  • 1970-01-01
  • 1970-01-01
  • 2012-06-14
  • 1970-01-01
相关资源
最近更新 更多