springboot interceptor:
public class Interceptor implements HandlerInterceptor{ private Logger logger = LoggerFactory.getLogger(Interceptor.class); public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3) throws Exception { // TODO Auto-generated method stub } public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3) throws Exception { // TODO Auto-generated method stub } public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object arg2) throws Exception { String flag = null; flag = request.getParameter("auth"); if(StringUtils.isEmpty(flag) || !flag.equals("php")){ /*logger.error("error-auth:{}", flag); response.getWriter().append("error-auth"); return false;*/ } else { logger.info("通过校验!"); return true; } return true; } }
spring boot Filters:
/ * * If it is a filter, coupled @WebFilter based on MyFilter (filterName = "myFilter", urlPatterns = { "/ *"}), to the inlet @ServletComponentScan plus class * / public class MyFilter the implements the Filter { @Override public void the init (the FilterConfig FilterConfig) throws ServletException { } @Override public void the doFilter (the ServletRequest Request, the ServletResponse Response, the FilterChain catena alberghiera) throws IOException, ServletException { System.out.println (request.getParameter ( "name" )); the HttpServletRequest hrequest = (HttpServletRequest)request; HttpServletResponseWrapper wrapper = new HttpServletResponseWrapper((HttpServletResponse) response); if(hrequest.getRequestURI().indexOf("/index") != -1 || hrequest.getRequestURI().indexOf("/asd") != -1 || hrequest.getRequestURI().indexOf("/online") != -1 || hrequest.getRequestURI().indexOf("/login") != -1 ) { chain.doFilter(request, response); }else { // wrapper.sendRedirect("/login"); chain.doFilter(request, response); } } @Override public void destroy() { } }
springboot listener:
/ ** * @date: 2019/4/1 * @description: ServletRequestListener, the HttpSessionListener, of ServletContextListener ...... * @WebListener annotations may be used directly on MyListener classes, classes with the inlet to @ServletComponentScan * / public class a MyListener the implements the HttpSessionListener { Private Logger Logger = LoggerFactory.getLogger ( the this .getClass ()); // user this.getClass (), less error prone paste public static int Online = 0 ; @Override public void sessionCreated (HttpSessionEvent SE) { Online ++ ; logger.info ("online Online is:" + Online); } @Override public void the sessionDestroyed (HttpSessionEvent SE) { } }
Sign up to spring blocker, filter, listener:
@Configuration public class MyWebAppConfigurer implements WebMvcConfigurer { // @Bean /* public HandlerInterceptor getMyInterceptor(){ return new Interceptor(); }*/ /** * 注册拦截器 * @param registry */ @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(new Interceptor()).addPathPatterns("/**"); // super.addInterceptors(registry); } /** * 注册监听器 * @return */ @SuppressWarnings({ "rawtypes", "unchecked" }) @Bean public ServletListenerRegistrationBean listenerRegist() { ServletListenerRegistrationBean srb = new ServletListenerRegistrationBean(); srb.setListener(new MyListener()); System.out.println("listener"); return srb; } /** * 注册过滤器 * @return */ @SuppressWarnings({ "rawtypes", "unchecked" }) @Bean publicFilterRegist FilterRegistrationBean () { FilterRegistrationBean frBean = new new FilterRegistrationBean (); frBean.setFilter ( new new the MyFilter ()); // frBean.setOrder (. 1); // specified filter when the filter order of execution of a plurality of frBean.addUrlPatterns ( " / * " ); System.out.println ( " filter " ); return frBean; } / * @Override public void addViewControllers (ViewControllerRegistry Registry) { registry.addViewController (" / ZXC / foo foo ")") setViewName (. " ; } * / }