003_SpringBoot整合Filter
1. 通过注解扫描完成Filter组件的注册(SpringBoot整合Filter方式一)
1.1. 使用maven构建SpringBoot的名叫spring-boot-filter项目
1.2. pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.bjbs</groupId><artifactId>spring-boot-filter</artifactId><version>0.0.1-SNAPSHOT</version><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.5.13.RELEASE</version></parent><!-- 修改jdk版本 --><properties><java.version>1.8</java.version></properties><dependencies><!-- springBoot的启动器 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency></dependencies>
</project>
1.3. 编写FirstFilter.java
package com.bjbs1.controller;import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebFilter;/*** SpringBoot整合Filter方式一 * * <filter> * <filter-name>FirstFilter</filter-name>* <filter-class>com.bjsxt1.filter.FirstFilter</filter-class> * </filter>* * <filter-mapping> * <filter-name>FirstFilter</filter-name>* <url-pattern>/first</url-pattern> * </filter-mapping>*/// @WebFilter(filterName="FirstFilter",urlPatterns={"*.do","*.jsp"})
@WebFilter(filterName = "FirstFilter", urlPatterns = "/first")
public class FirstFilter implements Filter {@Overridepublic void destroy() {}@Overridepublic void doFilter(ServletRequest req, ServletResponse res, FilterChain ch) throws IOException, ServletException {System.out.println("进入FirstFilter");ch.doFilter(req, res);System.out.println("离开FirstFilter");}@Overridepublic void init(FilterConfig cf) throws ServletException {}
}
1.4. @WebFilter注解
1.5. 编写App.java启动类
package com.bjbs1;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletComponentScan;/*** SpringBoot整合Filter方式一, SpringBoot启动类*/
@SpringBootApplication
@ServletComponentScan // 在springBoot启动时会扫描@WebFilter, 并将该类实例化
public class App {public static void main(String[] args) {SpringApplication.run(App.class, args);}
}
1.6. 配置@ServletComponentScan注解, 在SpringBoot启动时会扫描@WebFilter, 并将该类实例化
1.7. 运行项目, 并用浏览器访问FirstFilter
2. 通过方法完成Filter组件的注册(SpringBoot整合Filter方式二)
2.1. 编写SecondFilter.java
package com.bjbs2.controller;import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;/*** SpringBoot整合Filter方式二*/
public class SecondFilter implements Filter {@Overridepublic void destroy() {}@Overridepublic void doFilter(ServletRequest req, ServletResponse res, FilterChain ch) throws IOException, ServletException {System.out.println("进入SecondFilter");ch.doFilter(req, res);System.out.println("离开SecondFilter");}@Overridepublic void init(FilterConfig cf) throws ServletException {}
}
2.2. 编写App2.java启动类
package com.bjbs2;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean;
import com.bjbs2.controller.SecondFilter;/*** SpringBoot整合Filter方式二, SpringBoot启动类*/
@SpringBootApplication
public class App2 {public static void main(String[] args) {SpringApplication.run(App2.class, args);}/*** 注册Filter*/@Beanpublic FilterRegistrationBean getFilterRegistrationBean() {FilterRegistrationBean bean = new FilterRegistrationBean(new SecondFilter());// bean.addUrlPatterns(new String[]{"*.do","*.jsp"});bean.addUrlPatterns("/second");return bean;}
}
2.3. 使用org.springframework.boot.web.servlet.FilterRegistrationBean类注册Filter
2.4. 运行项目, 并用浏览器访问SecondFilter
003_SpringBoot整合Filter相关推荐
- springboot整合filter
如何在SpringBoot当中去整合Filter,SpringBoot在整合Filter时,其实和整合Servlet差不多,提供了两种方案,一种还是通过注解扫描,完成Filter的注册,第二种方式呢, ...
- 第五篇:Spring Boot整合filter
一.Springboot整合Servlet 第一种方案:通过注解扫描完成filter组建的注册 1.编写自定义filter(FirstFilter) //urlPattern是一个数组可以添加多个 / ...
- 玩转 SpringBoot 2 快速整合 Filter 注解版
前言 本文主要介绍如何在SpringBoot 2 中使用 Filter 的快速搭建教程,阅读前需要你必须了解 Filter 的基础使用以及如何搭建 SpringBoot 项目. 快速演示操作 第一步: ...
- 玩转 SpringBoot 2 快速整合 Filter
概述 SpringBoot 中没有 web.xml, 我们无法按照原来的方式在 web.xml 中配置 Filter .但是我们可以通过 javaConfig(@Configuration +@Bea ...
- springmvc整合redis_111 SpringBoot整合Servlet JSP Filter Listener
1. SpringBoot介绍 (1) 什么是Spring Boot? (2) Spring Boot有哪些特点? Spring Boot 设计目的是用来简化新 Spring 应用的初始搭建以及开发过 ...
- Spring Boot整合Servlet,Filter,Listener,访问静态资源
目录 Spring Boot整合Servlet(两种方式) 第一种方式(通过注解扫描方式完成Servlet组件的注册): 第二种方式(通过方法完成Servlet组件的注册) Springboot整合F ...
- 整合servlet、整个filter、整合listener、文件上传
一,整合 Servlet 通过注解扫描完成 Servlet 组件的注册 1.1 编写 servlet /** *SpringBoot 整合 Servlet 方式一 * *<servlet> ...
- Spring Boot基础学习笔记13:路径扫描整合Servlet三大组件
文章目录 零.学习目标 一.创建Spring Boot项目 - IntegrateThreeComponents02 二.使用路径扫描方式整合Servlet三大组件 (一)创建MyServlet类 ( ...
- 玩转 SpringBoot 2 快速整合拦截器
概述 首先声明一下,这里所说的拦截器是 SpringMVC 的拦截器(HandlerInterceptor).使用SpringMVC 拦截器需要做如下操作: 创建拦截器类需要实现 HandlerInt ...
最新文章
- android sdk软件开发套件,ANDROIDSDK-SITARA
- 【号外】来人鸭~ 本公众号纳新啦~
- 图的概念以及常见的图论问题介绍
- 作业05之《6种质量属性战术》
- 数据库面试题【十三、大表数据查询,怎么优化】
- Kafka配置offsets.retention.minutes和log.retention.minutes的区别
- Android闹钟 AlarmManager的使用
- 深度探索I/O完成端口
- String字符串拼接小例
- python 卡方分箱算法_特征工程 - 分箱
- 计算机考研复试问题回答,关于考研复试问题的官方解答及部分问题答题模板!...
- java socket编程—单客户端与服务器通信
- CentOS 6.6上搭建C++运行环境
- 火端搜索V2.1原始程序
- C专家编程 第9章 再论数组 9.6 C语言的多维数组
- 手机移动OA:指尖上也可以拥有会议助手
- MySQL DBA的修炼与未来
- 视频帧率(Frame rate)
- Unity Shader - BRP - Soft Particle - 软粒子
- 流利地回答出面试官提出的八股问题,面试官却突然说“背得不错”,该怎么回答?...