本文簡單介紹一下,在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傳送分享
其它文章
沒有留言:
張貼留言