HttpServletResponse.sendError()不会重定向到错误页面

时间:2013-03-10 03:29:07

标签: java servlets

我在doFilter()方法中有以下代码,我获得了应用程序作用域bean。

    if (request.getServletContext().getAttribute("resource")==null) {
        response.sendError(503);
        return;
    }

我将503代码映射到web.xml中的特定错误页面。如果发生错误,我真的会在浏览器中获得错误页面的内容。但地址栏中的地址不会因错误页面地址而改变:请求的servlet的地址离开那里。这是正确的行为吗?我想明确告知重定向到错误页面。 是否只能使用sendRedirect()?

1 个答案:

答案 0 :(得分:3)

这是正确的行为。当您使用sendError()时,它将使用错误页面响应当前请求。如果您希望将URL更改为错误页面URL,则需要使用sendRedirect()来响应重定向。