zoukankan      html  css  js  c++  java
  • Spring Boot的filter简单使用

    过滤器(Filter)的注册方法和 Servlet 一样,有两种方式:代码注册或者注解注册

    1.代码注册方式

    通过代码方式注入过滤器

        @Bean
        public FilterRegistrationBean indexFilterRegistration() {
            FilterRegistrationBean registration = new FilterRegistrationBean(new IndexFilter());
            registration.addUrlPatterns("/");
            return registration;
        }

    IndexFilter.Java类:

    package com.example.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;

    public class IndexFilter implements Filter{

        @Override
        public void destroy() {
            System.out.println("filter destroy method");
            
        }

        @Override
        public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2)
                throws IOException, ServletException {
            System.out.println("filter doFilter method");
            
        }

        @Override
        public void init(FilterConfig arg0) throws ServletException {
            System.out.println("filter init method");
            
        }

    }


    2.注解方式

    通过注解方式注入过滤器

    IndexFilter2.java类

    package com.example.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(urlPatterns = "/*", filterName = "indexFilter2")
    public class IndexFilter2 implements Filter{

        @Override
        public void destroy() {
            System.out.println("filter2 destroy method");
            
        }

        @Override
        public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2)
                throws IOException, ServletException {
            System.out.println("filter2 doFilter method");
            
        }

        @Override
        public void init(FilterConfig arg0) throws ServletException {
            System.out.println("filter2 init method");
            
        }

    }

    把注解加到入口处启动即可

    @SpringBootApplication
    @ServletComponentScan
    public class SpringBootSimpleApplication {
     
        public static void main(String[] args) {
            SpringApplication.run(SpringBootSimpleApplication.class, args);
        }
    }

  • 相关阅读:
    PHP sessions that have already been started
    DOM对象和JQuery对象的区别
    iOS在支持arc的工程中,导入不支持arc的第三方的插件
    Android下利用RadioGroup和RadioButton实现Tabbar的效果
    iOS7.1以后企业应用发布需要HTTPS协议,解决步骤
    Scrapy基础(四)————Scrapy的使用Pycharm进行Debuge设置
    Scrapy基础(三) ------xpath基础
    Scrapy基础(二)————Scrapy的安装和目录结构
    python基础一 ------Python 的编码
    Scrapy基础(一) ------学习Scrapy之前所要了解的
  • 原文地址:https://www.cnblogs.com/web424/p/6755957.html
Copyright © 2011-2022 走看看