1.创建一个类实现HandlerInterceptor接口,并重写接口里的方法
package com.zhiyou100.kfs.interceptor; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; public class LoginInterceptor implements HandlerInterceptor { @Override public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3) throws Exception { System.out.println("在请求执行完后执行,资源关闭"); } @Override public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3) throws Exception { System.out.println("在请求处理完后");
} @Override public boolean preHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2) throws Exception { System.out.println("在Controller前"); return true;//返回true放行,若返回false则不放行 } } |
2.在springMVC配置拦截器
<!-- 配置拦截器 --> <mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/user/**"/><!-- 拦截的请求路径,**:表示user下的请求地址以及子目录 --> <mvc:exclude-mapping path="/user/register"/><!-- 不拦截的请求路径 --> <bean class="com.zhiyou100.kfs.interceptor.LoginInterceptor"></bean> </mvc:interceptor> </mvc:interceptors> |