[springmvc]拦截器功能
11.拦截器
- 只会拦截controller的请求,对于静态资源不处理
被spring代理的拦截器实现只需要两步:
1.实现一个拦截器类
package com.spring.config;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* @author panglili
* @create 2022-07-26-13:43
*/
//继承一个拦截器
public class MyInterceptor implements HandlerInterceptor {
//true 放行
//false 不放行
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
System.out.println("处理前-------------");
return true;
}
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
System.out.println("处理后-------------");
}
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
System.out.println("清理—--------------");
}
}
2.配置拦截器
<!--拦截器配置-->
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/**"/>
<bean class="com.spring.config.MyInterceptor"/>
</mvc:interceptor>
</mvc:interceptors>