zoukankan      html  css  js  c++  java
  • springboot中filter的用法

     

    一、在spring的应用中我们存在两种过滤的用法,一种是拦截器、另外一种当然是过滤器。我们这里介绍过滤器在springboot的用法,在springmvc中的用法基本上一样,只是配置上面有点区别。

    二、filter功能,它使用户可以改变一个 request和修改一个response. Filter 不是一个servlet,它不能产生一个response,它能够在一个request到达servlet之前预处理request,也可以在离开 servlet时处理response.换种说法,filter其实是一个”servlet chaining”(servlet 链).

    一个Filter包括:
    1)、在servlet被调用之前截获;
    2)、在servlet被调用之前检查servlet request;
    3)、根据需要修改request头和request数据;
    4)、根据需要修改response头和response数据;
    5)、在servlet被调用之后截获.

    三、应用

    复制代码
    @Component
    @ServletComponentScan
    @WebFilter(urlPatterns = "/login/*",filterName = "loginFilter")
    public class LoginFilter implements Filter{
    
        @Override
        public void init(FilterConfig filterConfig) throws ServletException {
    
        }
    
        @Override
        public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
    
        }
    
        @Override
        public void destroy() {
    
        }
    }
    复制代码

    四、解释:

    1、@Component 这个注解的目的是将LoginFilter交给容器来处理。也就是让LoginFilter起作用

    2、@ServletComponentScan 这个使用来扫描@WebFilter 的让@WebFilter起作用。当然对于servlet线管注解也是可以的。这个@ServletComponentScan最好卸载Apllication这个上面,通用配置。我这里因为只有一个Filter所以没有写在Application上面。

    3、@WebFilter 这个用处显而易见,针对于什么链接做过滤,filter的名称是为什么。

    五、简单介绍一下springmvc中的Filter的用法

    1、写的方法还是一样的都是继承Filter,来实现3个方法处理

    2、丢入容器:这个需要配置在web.xml里面

    复制代码
        <filter>
            <filter-name>loginFilter</filter-name>
            <filter-class>com.troy.boot.filter.LoginFilter</filter-class>
        </filter>
        <filter-mapping>
            <filter-name>loginFilter</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>
  • 相关阅读:
    百度地图开发 InfoBox 弹出消息框使用详解!某物流网应用
    百度地图api画圆 标注 搜索周边功能
    有用的linux操作命令
    php后台守护进程 sh脚本 三个文件 让您的后台php永不止步
    CLR via C# 第二章 (1)
    CLR via C# 第一章 (2)
    CLR via C# 第一章(3)
    ios 画图总结
    简析 iOS 程序图标的设计
    10个必需的iOS开发工具和资源 http://coolshell.cn/articles/5089.html
  • 原文地址:https://www.cnblogs.com/pjsweb/p/10069694.html
Copyright © 2011-2022 走看看