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;
}