首先创建一个自己的filter(要继承Filter类):
package com.guardianfreedom.fangwu.filter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.io.IOException;
/**
* @ClassName:MyFilter
* @description: 过滤器
* @author: shen_jian
* @date: 2018-11-16 10:22
**/
public class MyFilter implements Filter {
Logger logger = LoggerFactory.getLogger(MyFilter.class);
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) servletRequest;
logger.info("this is 1:" + request.toString());
logger.info("this is 2:" + request.getRequestURI());
logger.info("this is 3:" + request.getServletPath());
logger.info("this is 4:" + request.getContextPath());
HttpSession session = request.getSession();
logger.info("this is 5:" + session.toString());
filterChain.doFilter(request, servletResponse);
}
@Override
public void destroy() {
}
}
实现里面的方法。
在创建一个WebConfiguration类,用来注册你的filter
package com.guardianfreedom.fangwu.config;
import com.guardianfreedom.fangwu.filter.MyFilter;
import org.apache.catalina.filters.RemoteIpFilter;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* @ClassName:WebConfiguration
* @description: 页面配置信息
* @author: shen_jian
* @date: 2018-11-16 10:21
**/
@Configuration
public class WebConfiguration {
@Bean
public MyFilter myFilter() {
return new MyFilter();
}
@Bean
public FilterRegistrationBean testFilterRegistration() {
FilterRegistrationBean registration = new FilterRegistrationBean();
registration.setFilter(new MyFilter());
registration.addUrlPatterns("/*");
registration.addInitParameter("paramName", "paramValue");
registration.setName("MyFilter");
registration.setOrder(1);
return registration;
}
}
这样就可以生效了
setOrder()这个方法可以设置你的过滤器的顺序。