SpringBoot使用Filter
对全部请求进行Filter
Filter:
package com.example.demo.filter; import org.springframework.core.Ordered; import org.springframework.core.annotation.Order; import org.springframework.stereotype.Component; import javax.servlet.*; import java.io.IOException; @Component//让容器管理该类 @Order(Ordered.HIGHEST_PRECEDENCE)//设置加载顺序最先 public class FilterTest implements Filter { @Override public void init(FilterConfig filterConfig) throws ServletException { System.out.println("Filter初始化"); } @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { System.out.println("这里开始执行Filter了哈"); filterChain.doFilter(servletRequest, servletResponse); } @Override public void destroy() { System.out.println("结束了哦"); } }
controller:
package com.example.demo.controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class TestController { @GetMapping("testFilter") public String testFilter() { System.out.println("看到哈,Controller开始了哦"); return "第一次请求执行完成了哈"; } }
还有两种方式,可以配置对那些路径进行filter
看这里:https://blog.csdn.net/qq_27905183/article/details/79078561