SpringBoot学习之路:09.Spring Boot中添加Filter应用

Stella981
• 阅读 789

     上篇文章中说了SpringBoot中是如何使用servlet的,本文将讲解在SpringBoot中对过滤器Filter的实现

一.编写MyFilter实现Filter接口

package com.maxbill.core.webbox.filter;

import org.apache.log4j.Logger;

import javax.servlet.*; import javax.servlet.annotation.WebFilter; import java.io.IOException;

/** * @功能 自定义过滤器 * @作者 zuoshuai(MaxBill) * @日期 2017/7/6 * @时间 15:18 * @备注 MyFilter */ public class MyFilter implements Filter {

Logger log = Logger.getLogger(MyFilter.class);

@Override
public void init(FilterConfig config) throws ServletException {
    log.info(">>>>>>>>>过滤器初始化>>>>>>>>>");
}

@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) 

  throws IOException, ServletException { log.info(">>>>>>>>>执行过滤操作>>>>>>>>>"); chain.doFilter(request, response); }

@Override
public void destroy() {
    log.info(">>>>>>>>>过滤器销毁>>>>>>>>>");
}

}

二.增加注解

1.过滤器增加@WebFilter注解,使能够被扫描到

@WebFilter(filterName = "myFilter", urlPatterns = "/*") public class MyFilter implements Filter {

Logger log = Logger.getLogger(MyFilter.class);

@Override
public void init(FilterConfig config) throws ServletException {
    log.info(">>>>>>>>>过滤器初始化>>>>>>>>>");
}

@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) 

  throws IOException, ServletException { log.info(">>>>>>>>>执行过滤操作>>>>>>>>>"); chain.doFilter(request, response); }

@Override
public void destroy() {
    log.info(">>>>>>>>>过滤器销毁>>>>>>>>>");
}

}

2.启动类增加@ServletComponentScan注解,扫描项目中的filter

package com.maxbill;

import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan;

@ServletComponentScan @SpringBootApplication public class MaxbillApplication {

public static void main(String\[\] args) {
    SpringApplication.run(MaxbillApplication.class, args);
}

}

启动项目测试:

INFO com.maxbill.core.webbox.filter.MyFilter:23 - >>>>>>>>>过滤器初始化>>>>>>>>>

INFO com.maxbill.core.webbox.filter.MyFilter:29 - >>>>>>>>>执行过滤操作>>>>>>>>>

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Stella981 Stella981
3年前
SpringBoot学习之路:10.Spring Boot中添加Listener应用
   前面都说到了springboot中应用servlet和filter,本文继续说springboot应用监听器Listener,大体上是和之前差不多的应用。一.HttpSessionListenerpackagecom.maxbill.core.webbox.listener;/\\
Stella981 Stella981
3年前
Eclipse搭建springboot项目(八)拦截器、过滤器、监听器
知识点:1、SpringBoot2.x过滤器Filter和使用Servlet3.0配置自定义Filter(核心知识)  filter简单理解:人检票员(filter)景点  1)SpringBoot启动默认加载的Filter    characterEncodingFilter    
Wesley13 Wesley13
3年前
Java Web 学习笔记
过滤器Filter功能:1、用来拦截传入的请求和传出的相应。2、修改或以某种方式处理正在客户端和服务端之间交换的数据流。如何使用?与使用Servlet类似,Filter是JavaWeb提供的一个借口,开发者只需要自定义一个类并且实现该接口即可packagecom.janeroad.filter;
Easter79 Easter79
3年前
SpringBoot学习之路:09.Spring Boot中添加Filter应用
   上篇文章中说了SpringBoot中是如何使用servlet的,本文将讲解在SpringBoot中对过滤器Filter的实现一.编写MyFilter实现Filter接口packagecom.maxbill.core.webbox.filter;importorg.apache.log4j
Stella981 Stella981
3年前
Spring Boot filter
在SpringBoot中自定义filter本文我们将会讲解如何在SpringBoot中自定义filter并指定执行顺序。定义Filter很简单,我们只需要实现Filter接口即可,同时我们可指定@Order来确定其执行顺序,我们定义两个filter如下:@Slf4j@Component@Order(1)p
Stella981 Stella981
3年前
Introduction of Servlet Filter(介绍javaweb组件之一过滤器filter)
javaweb的三大组件都需要交给web服务器运行,都需要在web.xml文件中配置。①Servlet:javax.servlet.Servlet通过http协议接受客户端的请求,并作出响应的Java应用程序②Filter过滤器:javax.servlet.Filter是一个接口,实现请求的拦截和放行,并可添加新功能,达到过滤请求的作用③list
Python进阶者 Python进阶者
10个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这