• 【Spring boot 集成 Fliter 和 Linstener】


    Spring boot 集成 Fliter Linstener
    上一章已经对定义 Servlet 的方法进行了说明,过滤器(Filter)和监听器(Listener)的注册方法和 Servlet 一
    样,不清楚的可以查看下上一篇文章(20):
    本文将直接使用@WebFilter 和@WebListener 的方式,完成一个
    Filter 和一个 Listener;使用注解
    @ServletComponentScan// 这个就是扫᧿相应的 Servlet ;
    开发 Filter【:添加 @ServletComponentScan 注解之后,使用注解开发的 Filter 和 Linstener 将会被自动注册】
    具体实现代码:
    com.hpit.sb.filter.MyFilter
    import java.io.IOException;
    import javax.servlet.Filter;
    import javax.servlet.FilterChain;
    import javax.servlet.FilterConfig;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;
    import javax.servlet.annotation.WebFilter;
    import org.apache.log4j.Logger;
    //使用注解定义一个过滤器
    @WebFilter (urlPatterns = "/*" , filterName = "myFilter" )
    public class MyFilter implements Filter {
    private Logger logger = Logger. getLogger (getClass());
    @Override
    public void destroy() {
    logger .info( "destroy()" );
    }
    @Override
    public void doFilter(ServletRequest request , ServletResponse response , FilterChain chain )
    throws IOException, ServletException {
    logger .info( "doFilter()" );
    logger .info( "before filter" );
    chain .doFilter( request , response );
    logger .info( "after filter" );
    }
    @Override
    public void init(FilterConfig config ) throws ServletException {
    logger .info( "init()" );
    }
    }
    开发 Linstener
    具体实现代码:
    com.hpit.sb.listener. Mylistener
    import javax.servlet.ServletContextEvent;
    import javax.servlet.ServletContextListener;
    import javax.servlet.annotation.WebListener;
    import org.apache.log4j.Logger;
    /**
    * TODO 使用注解开发一个监听器
    *
    *
    */
    @WebListener
    public class Mylistener implements ServletContextListener {
    private Logger logger = Logger. getLogger (getClass());
    @Override
    public void contextDestroyed(ServletContextEvent contextEvent ) {
    logger .info( "contextDestroyed" );
    }
    @Override
    public void contextInitialized(ServletContextEvent contextEvent ) {
    logger .info( "contextInitialized" );
    }
    }
    启动日志,并请求一个有效连接:

     

  • 相关阅读:
    免费考AI OCP认证,附通关秘籍!
    system verilog(1) --- 数据类型
    Softing smartLink产品系列新版本为工厂资产管理提供了扩展功能
    Head First设计模式(阅读笔记)-07.适配器模式
    springboot+vue+mysql+easyexcel实现文件导出+导出的excel单元格添加下拉列表
    我用chatgpt写了一款程序
    Spring Aop
    Vite4TSX前端版本号生成
    大文件分片上传、断点续传、秒传
    人工神经网络建模过程,人工神经网络建模例子
  • 原文地址:https://blog.csdn.net/m0_72254454/article/details/127769419