本文簡單介紹一下,在spring boot 中如何使用Filter。
本文使用版本:
spring boot 2.7.5
java 11
window 11
IntelliJ IDEA
Maven
一、建立 Spring Boot web 來測試
參考本文:
Spring Boot web 專案 RestController Annotation
二、pom.xml 的 dependencies 加入 測試類啟動器
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
三、建立 TestFilter 及FilterConfig
src\main\java\ (專案package)
四、TestFilter程式內容
本文TestFilter程式使用簡單寫法。
package com.example.demo.filter;
import javax.servlet.*;
import java.io.IOException;
public class TestFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain)
throws IOException, ServletException {
System.out.println("doFilter 開始 ");
filterChain.doFilter(servletRequest,servletResponse);
System.out.println("doFilter 結束 ");
}
@Override
public void destroy() {
}
}
五、加入config類
package com.example.demo.config;
import com.example.demo.filter.TestFilter;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class FilterConfig {
@Bean
public FilterRegistrationBean getFilterRegistrationBean(){
FilterRegistrationBean bean = new FilterRegistrationBean(new TestFilter());
//bean.addUrlPatterns("/testFilter");
bean.addUrlPatterns(new String[]{"*.do","*.jsp"});
return bean;
}
}
六、啟動 Application
圖2
七、測試 http://localhost:8080/testFilter.jsp
圖3
本專案下載:
用LINE傳送分享
其它文章



沒有留言:
張貼留言