zoukankan      html  css  js  c++  java
  • 【spring boot】FilterRegistrationBean介绍

    前言

          以往的javaee配置过滤器是在web.xml中配置的,如下代码

       

    <filter>
         <filter-name>TestFilter</filter-name>
            <filter-class>com.cppba.filter.TestFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>TestFilter</filter-name>
        <url-pattern>/*</url-pattern>
        <init-param>
           <param-name>paramName</param-name>
           <param-value>paramValue</param-value>
        </init-param>
    </filter-mapping>

         而spring boot 是没有这个配置的,怎么办?

    解决办法

        定义一个自定义的过滤器,类似原来的模式

       

    package com.cppba.filter;
    
    import javax.servlet.*;
    import java.io.IOException;
    
    public class TestFilter implements Filter {
        @Override
        public void init(FilterConfig filterConfig) throws ServletException {
    
        }
    
        @Override
        public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain)
                throws IOException, ServletException {
            System.out.println("TestFilter");
        }
    
        @Override
        public void destroy() {
    
        }
    }

        主程序启动文件,增加

    @Bean
        public FilterRegistrationBean testFilterRegistration() {
    
            FilterRegistrationBean registration = new FilterRegistrationBean();
            registration.setFilter(new TestFilter());
            registration.addUrlPatterns("/*");
            registration.addInitParameter("paramName", "paramValue");
            registration.setName("testFilter");
            registration.setOrder(1);
            return registration;
        }

    总结:

       

    Spring Boot针对Servlet、Filter等,有几种注册方法
    1. 使用@WebFilter@WebServlet@WebListener注解来标识类
    2. 使用FilterRegistrationBeanServletRegistrationBean来对FilterServlet进行自定义注册
    3. 使用@Bean来自动添加,添加后默认的过滤路径为 /*
  • 相关阅读:
    Ajax:后台jquery实现ajax无刷新删除数据及demo
    利用freemarker导出页面格式复杂的excel
    Java 遍历Map对象的4种方法
    java list遍历三种方法
    java 利用Xstream注解生成和解析xml
    mysql 查看数据库中所有表的记录数
    Java中Map根据键值(key)或者值(value)进行排序实现
    java用匿名内部类实现多线程堆内存变量共享
    面试题集锦(持续更新中。。)
    excel poi 取单元格的值
  • 原文地址:https://www.cnblogs.com/lodor/p/7568765.html
Copyright © 2011-2022 走看看