拦截器

SpringMVC可以是用拦截器对请求进行拦截处理,用户可以自定义拦截器来实现特定的功能,自定义的拦截器必须实现HandlerInterceptor。
在这里插入图片描述

preHandle:这个方法在业务处理器处理请求之前被调用,在该方法中对用户请求Request进行处理。如果程序员决定该拦截器对请求进行拦截处理后还要调用其他的拦截器,或者是业务处理器去处进行处理,则返回true,如果决定不需要再调用其他的组件去处理请求,则返回false。(目标方法调用之前,可以做权限验证,日志,事务等)
postHandle:这个方法在业务处理器处理完请求后,但是DispatcherServlet向客户端返回相应前被调用,在该方法中对用户请求Request进行处理。(调用目标方法后,渲染视图之前,可以对请求域中的属性或视图做出修改)
afterCompletion:这个方法在DispatcherServlet完全处理完请求后被调用,可以在该方法中进行一些资源清理的操作。(渲染视图之后,可以做资源释放)
在这里插入图片描述

1、创建自定义拦截器,实现相应的功能
2、在SpringMVC配置文件中配置该拦截器

	<mvc:interceptors>
		<bean class="自定义拦截器全类名"></bean>
	</mvc:interceptors>

如果使用上述的配置则会对所有的目标方法生效,可以使用以下精确配置

	<!-- 指定拦截器作用的路径,例如只针对/emps的访问才进行拦截 -->
	<mvc:interceptors>
		<mvc:interceptor>
			<mvc:mapping path="/emps"/>
			<bean class="自定义拦截器全类名"></bean>
		</mvc:interceptor>
	</mvc:interceptors>

<mvc:exclude-mapping path=""/>与之相反,表示排除相应的路径。

对于多个拦截器的执行顺序
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值