方法一:
- 启动类加注解:
- 创建MyFilter 类
package com.exampl.filter;
import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
/**
* @author 19417
*/
@WebFilter(filterName = "MyFilter",urlPatterns = {"/app/*"})
public class MyFilter implements Filter {
private String openUrl;
@Override
public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException {
HttpServletRequest request= (HttpServletRequest) req;
String uri = request.getRequestURI();
String method = request.getMethod();
System.out.println("请求接口:"+uri+"请求方式:"+method);
chain.doFilter(req, resp);
}
@Override
public void destroy() {
}
@Override
public void init(FilterConfig config) throws ServletException {
System.out.println(" 项目初始化");
}
}
- 测试:
方法二:
- 创建自定义 FilterConfig 类
package com.exampl.config;
import com.exampl.filter.MyFilter;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* @author 19417
*/
@Configuration
public class FilterConfig {
@Bean
public MyFilter getMyFilter(){
return new MyFilter();
}
@Bean
public FilterRegistrationBean filterRegistrationBean(MyFilter myFilter){
FilterRegistrationBean registrationBean = new FilterRegistrationBean();
registrationBean.setFilter(myFilter);
//执行顺序 数字越大 越后执行
registrationBean.setOrder(1);
registrationBean.addUrlPatterns("/app/*");
registrationBean.setName("myfilter");
return registrationBean;
}
}
- 测试: