过滤器
- @WebFilter配置过滤器名和url策略
- implement filter接口,并重写方法init(初始化),doFilter(调用时),destory(销毁时)。
//过滤的请求不会经过controller层
@WebFilter(filterName="MyFilter",urlPatterns="/getAll/*")
public class MyFilter implements Filter {
private static Logger logger = LoggerFactory.getLogger(MyFilter.class);
@Override
public void init(FilterConfig filterConfig) throws ServletException {
logger.info("初始化过滤器");
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest) servletRequest;
String requestURI = req.getRequestURI();
logger.info("过滤到的请求--->"+requestURI);
}
@Override
public void destroy() {
}
}
- 过滤器关注点:web请求
- 如何实现:函数回调
- 应用场景:设置字符编码、URL级别的权限访问控制、过滤敏感词汇、压缩响应信息
- 是否依赖servlet容器:依赖
- servlet提供支持:filter接口
- 级别:系统级
转载:https://blog.csdn.net/u013037661/article/details/102065715
查看评论