當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
003_SpringBoot整合Filter
生活随笔
收集整理的這篇文章主要介紹了
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的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 002_SpringBoot整合Serv
- 下一篇: 004_SpringBoot整合List