为什么HttpServlet抛出IOException?

时间:2009-04-29 15:42:13

标签: java servlets

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

3 个答案:

答案 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的子类)的情况并不少见。