如何在Servlet交换机案例中最终避免或避免转发?

时间:2016-03-11 22:07:55

标签: java jsp servlets jstl

这是doPost中的代码:

try {
    switch (request.getParameter("action")){
        case "delete":
            request.setAttribute("message", "Deleting...");
            break;
        case "update":
            request.setAttribute("message", "Updating...");
            break;
        case "new":
            response.sendRedirect("createNew.jsp");     
            break;
        default:
            super.doPost(request, response);
            break;
    }
} finally {
    request.getRequestDispatcher("backHome.jsp").forward(request, response);
    out.close();
}

问题是最终我在案例为'new'时遇到此异常: java.lang.IllegalStateException:

1 个答案:

答案 0 :(得分:1)

如果是" new"你在做response.sendRedirect("createNew.jsp");。此时写入响应流。

最后你正在做request.getRequestDispatcher("backHome.jsp").forward(request, response);。它转发到另一个网址。

但是,由于在回复已经有一些内容被写入另一个前锋不可能发生。抛出java.lang.IllegalStateException