SpringMVC 自定义一个拦截器

时间:2022-08-26 14:01:20

自定义一个拦截器方法,实现HandlerInterceptor方法

public class FirstInterceptor implements HandlerInterceptor{

	/**
* 该方法在目标方法之前被调用.
* 若返回值为 true, 则继续调用后续的拦截器和目标方法.
* 若返回值为 false, 则不会再调用后续的拦截器和目标方法.
*
* 可以考虑做权限. 日志, 事务等.
*/
@Override
public boolean preHandle(HttpServletRequest request,
HttpServletResponse response, Object handler) throws Exception {
System.out.println("[FirstInterceptor] preHandle");
return true;
} /**
* 调用目标方法之后, 但渲染视图之前.
* 可以对请求域中的属性或视图做出修改.
*/
@Override
public void postHandle(HttpServletRequest request,
HttpServletResponse response, Object handler,
ModelAndView modelAndView) throws Exception {
System.out.println("[FirstInterceptor] postHandle");
} /**
* 渲染视图之后被调用. 释放资源
*/
@Override
public void afterCompletion(HttpServletRequest request,
HttpServletResponse response, Object handler, Exception ex)
throws Exception {
System.out.println("[FirstInterceptor] afterCompletion");
} }

在SpringMVC配置文件中配置

<mvc:interceptors>
<!-- 配置自定义的拦截器 -->
<bean class="com.ll.springmvc.interceptors.FirstInterceptor"></bean>
<mvc:interceptor>
</mvc:interceptors>