SpringBoot中使用过滤器和监听器

    xiaoxiao2022-07-04  155

    在springboot中使用过滤器和监听器的目的:

    Filter也称过滤器,是处于客户端与服务器端资源文件之间的以到过滤网。可以实现URL级别的的权限访问控制,过滤敏感词,压缩相应信息等一些高级功能 Listener是Servlet的监听器,可以监听Web应用中某些对象信息的创建,销毁,增加,修改,删除等动作的发生,然后做出响应处理 过滤器的使用:

    新建一个类,该类实现Filter接口,实现该类的方法,类上添加注解 @WebFilter(filterName = “名称”,urlPatterns = “/地址”),前提要记住,要在启动类中加入一个注解

    //加上此注解时,Servlet,Filter,Listener才可以自动注册 @ServletComponentScan

    然后再类的具体方法中写具体,

    @WebFilter(filterName = "urlFilter",urlPatterns = "/ny.do") public class UrlFilter implements Filter { Logger logger = LogManager.getLogger(UrlFilter.class); @Override public void init(FilterConfig filterConfig) throws ServletException { logger.info("=============================>init"); } @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { logger.info("=============================>doFilter"); } @Override public void destroy() { logger.info("=============================>destroy"); } }

    Listener的使用,实现ServletContextListener接口,添加注解@WebListener,也是要在启动类中加入上面的注解的

    @WebListener public class UrlListener implements ServletContextListener { Logger logger = LogManager.getLogger(UrlListener.class); @Override public void contextInitialized(ServletContextEvent sce) { logger.info("ServletContext上下文初始化"); } @Override public void contextDestroyed(ServletContextEvent sce) { logger.info("ServletContext上下文销毁"); } }

    这是控制台打印的信息

    最新回复(0)