zoukankan      html  css  js  c++  java
  • [十三]SpringBoot 之 过滤器(Filter)和监听器(Listener)

    过滤器(Filter)和 监听器(Listener)的注册方法和 Servlet 一样,不清楚的可以查看下上一篇文章

    代码示例

    package me.shijunjie.filter;
    
    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;
    
    @WebFilter(filterName="myFilter",urlPatterns="/*")
    public class MyFilter implements Filter {
    
        @Override
        public void init(FilterConfig arg0) throws ServletException {
            System.out.println("MyFilter init");
        }
    
        @Override
        public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
                throws IOException, ServletException {
            System.out.println("MyFilter doFilter");
            chain.doFilter(request, response);
        }
        
        @Override
        public void destroy() {
            System.out.println("MyFilter destroy");
        }
    }
    package me.shijunjie.listener;
    
    import javax.servlet.annotation.WebListener;
    import javax.servlet.http.HttpSessionEvent;
    import javax.servlet.http.HttpSessionListener;
    
    @WebListener
    public class MyHttpSessionListener implements HttpSessionListener {
    
        @Override
        public void sessionCreated(HttpSessionEvent arg0) {
             System.out.println("MyHttpSessionListener sessionCreated");
        }
    
        @Override
        public void sessionDestroyed(HttpSessionEvent arg0) {
            System.out.println("MyHttpSessionListener sessionDestroyed");
        }
    
    }
    package me.shijunjie.listener;
    
    import javax.servlet.ServletContextEvent;
    import javax.servlet.ServletContextListener;
    import javax.servlet.annotation.WebListener;
    
    @WebListener
    public class MyServletContextListener implements ServletContextListener {
    
        @Override
        public void contextInitialized(ServletContextEvent arg0) {
            System.out.println("ServletContex contextInitialized");
        }
    
        @Override
        public void contextDestroyed(ServletContextEvent arg0) {
             System.out.println("ServletContex contextDestroyed");
        }
    
    
    
    }
    package me.shijunjie.testspringboot2;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.boot.web.servlet.ServletComponentScan;
    
    /**
     * Hello world!
     *
     */
    @SpringBootApplication
    @ServletComponentScan("me.shijunjie")
    public class App 
    {
        
        /* *//**
         * 注册Servlet.不需要添加注解:@ServletComponentScan
         * @return
         *//*
        @Bean
        public ServletRegistrationBean myServlet1(){
    
               return new ServletRegistrationBean(new MyServlet1(),"/myServlet/*");
        }*/
        
        public static void main( String[] args )
        {
            SpringApplication.run(App.class, args);
        }
    }
  • 相关阅读:
    Spring Boot → 08:嵌入式Servlet容器自定义
    Spring Boot → 09:使用外置Servlet容器_tomcat9.0
    Spring Boot → 07:错误处理机制
    Spring Boot → 06:项目实战-账单管理系统
    Spring Boot → 05:Web开发
    zzz Objective-C的消息传递机制
    Objective-C中的SEL、IMP和Class类型(转)
    zzzObjective-C的动态特性
    zzz KVC/KVO原理详解及编程指南
    zzzzz iOS绘图教程
  • 原文地址:https://www.cnblogs.com/s648667069/p/6490162.html
Copyright © 2011-2022 走看看