我明白为什么HttpServlet会抛出ServletException,但为什么会抛出IOException呢?这背后的原因是什么?

有帮助吗?

解决方案

来自文档:

  

IOException - 如果在servlet处理GET请求时检测到输入或输出错误

打印servlet输出时会发生这种情况:

response.getWriter()。print() - 此方法抛出IOException

在响应完成打印输出之前,可以关闭套接字。

其他提示

我建议 IOException 表示处理输入/输出的问题,例如从请求输入读取或写入响应的问题,而 ServletException 更多地与servlet特定的问题有关,例如有关servlet供应/初始化和处理请求的错误。

如果servlet通过I / O接口写入输出流(即页面),则任何I / O错误都将报告为 IOException

也许API不应该直接使用I / O接口。使用RMI的WebApps允许 RMIException 通过servlet接口(由于某种原因它是 IOException 的子类)的情况并不少见。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top