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是扫描包的。

  • 相关阅读:
    Java中的静态方法
    捕获异常代码
    重载与重写的区别
    继承代码
    Android Studio 快捷键一览
    android两种基本联网方式与一种第三方开源项目的使用
    Android Studio导入github下载的project和module
    SlidingMenu 侧滑菜单的用法
    显示图片的(自定义)吐司Toast
    用volley在Genymotion上获取网页源码
  • 原文地址:https://www.cnblogs.com/Tpf386/p/11046428.html
Copyright © 2011-2022 走看看