SpringMVC拦截器配置及用途

首先需要写一个类:


public class UserInterceptor implements HandlerInterceptor {

	/**
	 * 在执行handler之前执行,用于身份校验,权限认证
	 * 返回true表示放行
	 * 返回false表示拦截
	 */
	@Override
	public boolean preHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2) throws Exception {
		System.out.println("preHandle");
		return true;
	}
	
	/**
	 * 在执行handler时返回ModelAndView之前执行
	 * 
	 * 如果要向页面提供一些公共数据或者一些公共配置信息,可以考虑使用ModelAndViewd对象
	 */
	@Override
	public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3)
			throws Exception {
		System.out.println("postHandle");
		arg3.addObject("XXX", "XXXXX");
		
	}
	
	/**
	 * 在执行handler之后执行
	 * 用于日志信息,系统性能分析
	 */
	@Override
	public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3)
			throws Exception {
		System.out.println("afterCompletion");
	}

}

 配置servlet.XML文件

 <!-- 配置拦截器 -->
    <mvc:interceptors>
    	<!-- 多个拦截器顺序执行 -->
    	<mvc:interceptor>
    		<mvc:mapping path="/**"/>
    		<bean class="com.ljw.springmvc.Interceptor.UserInterceptor"></bean>
    	</mvc:interceptor>
    	<mvc:interceptor>
    		<mvc:mapping path="/**"/>
    		<bean class="com.ljw.springmvc.Interceptor.UserInterceptor2"></bean>
    	</mvc:interceptor>
    </mvc:interceptors>

测试结果:

发布了25 篇原创文章 · 获赞 0 · 访问量 509

猜你喜欢

转载自blog.csdn.net/luojiawen208/article/details/104990527