1、步骤
1.1、创建自定义拦截器类,实现HandlerInterceptor接口
1.2、在springmvc.xml中配置自定义拦截器
2、具体代码
2.1、自定义拦截器类
package com.ly.mvc.interceptor;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class MyInterceptor1 implements HandlerInterceptor {
/**
* 前处理方法,在控制器方法执行前执行
* 返回false不会执行后续拦截器以及控制器
* 返回true,若还有拦截器会继续执行后续拦截器,若没有拦截器会执行控制器的方法
*/
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
System.out.println("MyInterceptor1------preHandle");
//request.getRequestDispatcher("/WEB-INF/pages/nologin.jsp").forward(request,response);
return true;
}
/**
* 后处理方法,在控制器方法执行后,在jsp页面执行前执行
* 如果控制器方法抛出了异常,此方法不会执行了
*/
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
System.out.println("MyInterceptor1---postHandle");
}
/**
*在jsp页面执行后执行
*就算控制器方法抛出了异常,此方法也会执行
*/
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
System.out.println("MyInterceptor1---afterCompletion");
}
}
2.2、在springmvc.xml中配置自定义拦截器
<!--配置自定义拦截器-->
<mvc:interceptors>
<mvc:interceptor>
<!--配置拦截的请求url-->
<mvc:mapping path="/**"/>
<!--
配置不拦截的请求url
<mvc:exclude-mapping path=""/>
-->
<!--配置自定义拦截器-->
<bean class="com.ly.mvc.interceptor.MyInterceptor1"></bean>
</mvc:interceptor>
</mvc:interceptors>
来源:https://www.cnblogs.com/liuyang-520/p/12382599.html