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

  • 相关阅读:
    解决通用串行总线(USB)控制器有感叹号
    开发者需要了解的WebKit
    Win7系统搭建WiFi热点详细攻略
    给Qt生成的exe执行程序添加版本信息
    IIS(IISReset.exe)命令行
    .net开发微信公众平台
    使用ExitProcess()结束本进程、TerminateProcess 结束进程
    Hosts文件路径及修改方法
    本地动态SQL
    Oracle Package
  • 原文地址:https://www.cnblogs.com/Tpf386/p/11046428.html
Copyright © 2011-2022 走看看