您好,登錄后才能下訂單哦!
最近在研究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>
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。