Filter拦截错误
报错日志:org.apache.catalina.core.StandardContext.filterStart 鍚姩杩囨护鍣ㄥ紓甯�
java.lang.AbstractMethodError
代码:
@WebFilter("/*")
public class ValidFilter implements Filter {
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse resp = (HttpServletResponse) response;
System.out.println("请求路径:" + req.getServletPath());
// 可以在此处添加其他过滤逻辑
// 继续传递请求
chain.doFilter(req, resp);
}
}
原因:没有实现其他方法,init(), destory()
@WebFilter("/*")
public class ValidFilter implements Filter {
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse resp = (HttpServletResponse) response;
System.out.println("请求路径:" + req.getServletPath());
// 可以在此处添加其他过滤逻辑
// 继续传递请求
chain.doFilter(req, resp);
}
@Override
public void init(FilterConfig filterConfig) throws ServletException {}
@Override
public void destroy() {}
}
在Servlet高版本中init() destroy()是默认方法,可以不用实现,但是在这里又必须实现Filter才起作用