Filter过滤器是属于servlet里的内容
1,定义一个filter
2,注册filter
定义filter就是实现Filter接口,
public class PageQueryFilter implements Filter {
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) servletRequest;
String requestURI = request.getRequestURI();
if (requestURI.endsWith("/byPage")) {
request.getParameter("pageNum");
int index = requestURI.lastIndexOf("/byPage");
String dispatcherURI = requestURI.substring(0, index);
RequestDispatcher requestDispatcher = request.getRequestDispatcher(dispatcherURI);
requestDispatcher.forward(servletRequest, servletResponse);
return;
}
filterChain.doFilter(servletRequest, servletResponse);
}
}
注册filter
@Bean
public FilterRegistrationBean getPageFilter() {
FilterRegistrationBean registrationBean = new FilterRegistrationBean();
registrationBean.setFilter(new PageQueryFilter());
registrationBean.addUrlPatterns("/*");
registrationBean.setName("queryPageFilter");
//设置优先级
registrationBean.setOrder(1);
return registrationBean;
}