为什么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();
}