最近在研究Spring MVC拦截器,那么今天也算个学习笔记吧!有需要了解使用Spring MVC拦截器实现日志记录的朋友可参考。希望此文章对各位有所帮助。
1. 定义一个类实现HandlerInterceptor,比如:
public class MyInterceptors implements HandlerInterceptor{
/**
* 在渲染视图之后被调用;
* 可以用来释放资源
*/
public void afterCompletion(HttpServletRequest arg0,
HttpServletResponse arg1, Object arg2, Exception arg3)
throws Exception {
// TODO Auto-generated method stub
System.out.println("MyInterceptors afterCompletion");
}
/**
* 该方法在目标方法调用之后,渲染视图之前被调用;
* 可以对请求域中的属性或视图做出修改
*
*/
public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1,
Object arg2, ModelAndView arg3) throws Exception {
// TODO Auto-generated method stub
System.out.println("MyInterceptors postHandle");
}
/**
* 可以考虑作权限,日志,事务等等
* 该方法在目标方法调用之前被调用;
* 若返回TURE,则继续调用后续的拦截器和目标方法
* 若返回FALSE,则不会调用后续的拦截器和目标方法
*
*/
public boolean preHandle(HttpServletRequest arg0, HttpServletResponse arg1,
Object arg2) throws Exception {
// TODO Auto-generated method stub
HandlerMethod handlerMethod = (HandlerMethod) arg2;
System.out.println("MyInterceptors preHandle 调用方法名:"+handlerMethod.getMethod().getName());
/*
写一个日记类和Service,将需要的属性保存到数据库
*/
return true;
}
}
2.在Springmvc.xml中装配
<!-- 装配拦截器 -->
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/*"/>
<bean class="com.datatub.springmvc.interceptors.MyInterceptors"></bean>
</mvc:interceptor>
</mvc:interceptors>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持亿速云。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。