Spring boot中添加Filter過濾器

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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章