我明白为什么HttpServlet会抛出ServletException,但为什么会抛出IOException呢?这背后的原因是什么?
答案 0 :(得分:4)
来自文档:
IOException - 如果在servlet处理GET请求时检测到输入或输出错误
打印servlet输出时会发生这种情况:
response.getWriter()。print() - 此方法抛出IOException
在响应完成打印输出之前,可以关闭套接字。
答案 1 :(得分:3)
我建议IOException
表示处理输入/输出的问题,例如从请求输入读取或写入响应的问题,而ServletException
更多地与servlet特定的问题有关,例如有关servlet供应/初始化和处理请求的错误。
答案 2 :(得分:0)
如果servlet通过I / O接口写入输出流(即页面),则任何I / O错误都将报告为IOException
。
也许API不应该直接使用I / O接口。使用RMI的WebApps允许RMIException
通过servlet接口(由于某种原因它是IOException
的子类)的情况并不少见。