当404是返回静态html页面的响应状态时,我想创建一个自定义过滤器来扩展javax.filter。但它不起作用,我想知道为什么。 这是我的过滤器:为所有404响应创建servlet过滤器
@WebFilter("/*")
public class PageNotFoundFilter implements Filter {
@Override
public void doFilter(final ServletRequest request, final ServletResponse response, final FilterChain filterChain)
throws IOException, ServletException {
HttpServletResponse httpResponse = (HttpServletResponse) response;
if (httpResponse.getStatus() == 404) {
httpResponse.sendRedirect("pages/PageNotFound.html");
}
filterChain.doFilter(request, response);
}
但是没有任何反应,为什么?
注:我不想使用:
<error-page>
<error-code>404</error-code>
<location>/pages/PageNotFound.html</location>
</error-page>
但过滤
你可以发布你的web.xml吗? – Samuel
您是否调试过或放置了日志记录语句以查看您的过滤器是否被调用? – Samuel
我没有web.xml – Xelian