1. 程式人生 > >SpringMVC Interceptor攔截器

SpringMVC Interceptor攔截器

今天偶爾看見的,以前還沒見過,就瞭解下

該攔截器主要是:在進Controller之前,

                        出Controller之後到達檢視之前,

                        渲染檢視之後,分別呼叫.

主要用途:https://www.cnblogs.com/maybo/p/5189540.html

1.先自定義實現HandlerInterceptor介面:

public class handlerInterceptor  implements HandlerInterceptor{
    private static org.slf4j.Logger logger=LoggerFactory.getLogger(handlerInterceptor.class);
	public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
			throws Exception {
		logger.info("進入。。。preHandle"+request.getRequestURI().toString());
		return true;
	}

	public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
			ModelAndView modelAndView) throws Exception {
		// TODO Auto-generated method stub
		logger.info("進入。。。postHandle"+request.getRequestURI().toString());
	}

	public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
			throws Exception {
		// TODO Auto-generated method stub
		logger.info("進入。。。afterHandle"+request.getRequestURI().toString());
	}

}

2.寫進配置檔案

<mvc:interceptors>
    <mvc:interceptor>
        <!--攔截什麼路徑 -->
       <mvc:mapping path="/**"/>
       <!-- 不攔截什麼路徑-->
       <mvc:exclude-mapping path="/user/index"/>
       <!--剛剛實現的介面-->
       <bean class="Controller.handlerInterceptor"></bean>
    </mvc:interceptor>
</mvc:interceptors>

控制檯: