为什么Servlet的RequestDispatcher方法forward()不仅抛出ServletException,而且还抛出IOException?

时间:2018-07-20 13:31:51

标签: servlets

为什么Servlet中的RequestDispatcher的forward(request, response)方法会引发IOException?

提交表单(<form action="MyServlet">时,我从 somefile.html 向我的Servlet请求。然后,我的servlet调用JSP页面向用户显示提交表单的结果-这就是为什么我调用forward()的原因。我可以理解,如果我的servlet有任何问题(调用forward()),它将抛出已检查的ServletException。但是为什么它也关心IO?

@WebServlet("/MyServlet")
public class MyServlet extends HttpServlet {

    protected void doPost(HttpServletRequest request, HttpServletResponse response) {           

        RequestDispatcher rd = getServletContext().getRequestDispatcher("/my.jsp");
        try {
            rd.forward(request, response);
        } catch (ServletException e) {          
            e.printStackTrace();
        } catch (IOException e) {    // why???      
            e.printStackTrace();
        }

0 个答案:

没有答案