国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

spring MVC 中使用Interceptor攔截器

2019-11-08 18:43:26
字體:
來源:轉載
供稿:網友

在實際開發中,有許多地方要使用攔截器,比如驗證用戶有沒有登錄,或者分配權限什么的。還是非常重要的,正好最近學習Interceptor 攔截器,特記錄一下。使用攔截器很簡單,在sPRingMVC中,定義自己的攔截器是通過繼承HandlerInterceptorAdapter 類或者通過實現HandlerInterceptor 接口。 寫一個攔截器,用于判斷用戶是否登錄過,如果登錄過,就可以訪問主頁或其他頁面,如果沒有進行登錄過,就跳轉到登錄界面。

public class MyInterceptor implements HandlerInterceptor { /*afterCompletion也是需要當前對應的Interceptor的preHandle方法的返回值為true時才會執行。該方法將在整個請求完成之后,也就是DispatcherServlet渲染了視圖執行。*/ @Override public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3) throws Exception { } /*postHandle只會在當前這個Interceptor的preHandle方法返回值為true的時候才會執行。postHandle是進行處理器攔截用的,它的執行時間是在處理器進行處理之后,也就是在Controller的方法調用之后執行,但是它會在DispatcherServlet進行視圖的渲染之前執行,也就是說在這個方法中你可以對ModelAndView進行操作。*/ @Override public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3) throws Exception { } // preHandle方法是進行處理器攔截用的,該方法將在Controller處理之前進行調用 @Override public boolean preHandle(HttpServletRequest req, HttpServletResponse resp, Object obj) throws Exception { Httpsession session = req.getSession(); User user = (User) session.getAttribute("user"); if(null != user){ return true; } req.getRequestDispatcher("/WEB-INF/views/login.jsp").forward(req, resp); return false; }}

在springMVC配置文件中配置

<mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/**" /> <bean class="com.test.filter.MyInterceptor "></bean> </mvc:interceptor> </mvc:interceptors>

當然,這只是最簡單的攔截器,其他功能可以在此基礎上進行擴展。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 静乐县| 舞钢市| 花垣县| 兖州市| 玛沁县| 广丰县| 敦煌市| 益阳市| 平潭县| 会昌县| 疏附县| 和顺县| 运城市| 呼和浩特市| 和顺县| 鸡东县| 中西区| 峨眉山市| 美姑县| 安溪县| 绥阳县| 汉中市| 温州市| 合作市| 广宗县| 泸州市| 和平区| 深泽县| 台江县| 葵青区| 会东县| 宣威市| 新昌县| 盘锦市| 苏尼特左旗| 横峰县| 鹰潭市| 玉山县| 永昌县| 呼玛县| 大石桥市|