SpringMVC拦截器
程序员文章站
2022-07-14 11:57:28
...
1.拦截器编写
public class MyInterceptor implements HandlerInterceptor {
//前置拦截
/*
* 执行时机:在controller执行之前
* 返回值boolean类型,如果是false表示被拦截
* true表示放行
* */
@Override
public boolean preHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o) throws Exception {
System.out.println("前置拦截");
return true;
}
//后置拦截
/*
* 执行时机:controller执行完毕但是还没有走视图解析器
* */
@Override
public void postHandle(HttpServletRequest req, HttpServletResponse rep, Object o, ModelAndView mv) throws Exception {
System.out.println("后置拦截");
}
//最终拦截
/*
* 执行时机:视图解析器解析完页面后,主要是做项目运行期异常
* */
@Override
public void afterCompletion(HttpServletRequest req, HttpServletResponse rep, Object o, Exception e) throws Exception {
System.out.println("最终拦截");
}
}
2.配置文件编写
<!--配置拦截器-->
<mvc:interceptors>
<mvc:interceptor>
<!--设置拦截路径-->
<!--如果要对controller中的一个或者两个方法进行拦截则
@RequestMapping("/upload/toUpload.do")
path="/upload/upload/**"
如果要拦截系统中所有的path="/**"
-->
<mvc:mapping path="/upload/**"/>
<bean class="mvc.controller.MyInterceptor"></bean>
</mvc:interceptor>
</mvc:interceptors>
上一篇: python 装饰器 限制函数的最长运行时间,适用于爬虫超时
下一篇: kafka使用SASL认证