题
我明白为什么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
的子类)的情况并不少见。
不隶属于 StackOverflow