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

    通过注解的方式实现filter过滤器。

    创建Filter包,并在该包下创建MyFilter

    示例代码:

    package com.bjpowernode.springboot.filter;
    
    import javax.servlet.*;
    import javax.servlet.annotation.WebFilter;
    import java.io.IOException;
    
    @WebFilter(urlPatterns = "/*")
    public class MyFilter implements Filter {
        @Override
        public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
            System.out.println("您的请求已经进入MyFilter过滤器……");
           filterChain.doFilter(servletRequest,servletResponse);
        }
    }

    注意需要加注解,配置需要拦截哪些路径。过滤的逻辑在输出语句处实现。并且如果不阻断请求,需要让请求过滤链继续。

    需要在启动类上加包扫描注解,代码如下:

    package com.bjpowernode.springboot;
    
    import org.mybatis.spring.annotation.MapperScan;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.boot.web.servlet.ServletComponentScan;
    import org.springframework.transaction.annotation.EnableTransactionManagement;
    
    @SpringBootApplication
    @MapperScan("com.bjpowernode.springboot.mapper") //取代在mapper接口上配置的@Mapper
    @ServletComponentScan(basePackages = {"com.bjpowernode.springboot.servlet",
    "com.bjpowernode.springboot.filter"})//扫描Servlet包   扫描filter包
    @EnableTransactionManagement //开启事务支持
    public class WebApplication {
    
        public static void main(String[] args) {
            SpringApplication.run(WebApplication.class, args);
        }
    
    }

    注解:@ServletComponentScan是扫描包的。

  • 相关阅读:
    LINUX下使用crontab进行RMAN备份实验
    cocos2d-x 通过JNI实现c/c++和Android的java层函数互调
    整型与字符型之间转化
    MFC的最大化,最小化,关闭
    [置顶] IT屌丝的离职申请
    The Priest Mathematician
    jQuery入门学习贴
    poj3308Paratroopers(最小割)
    Nginx 开启 debug 日志的办法
    关于产品的一些思考——(四十二)网易之有道云笔记协同版
  • 原文地址:https://www.cnblogs.com/Tpf386/p/11046428.html
Copyright © 2011-2022 走看看