6

我在 doFilter() 方法中有以下代码,我在其中获得了应用程序范围的 bean。

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

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

4

1 回答 1

4

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

于 2013-03-11T14:09:25.433 回答