最近在學習ssh框架時,照著網上做了一個商城系統,之前在一些需要用戶存在的操作中,都是在每一個action中寫重復的代碼,這樣做現在想起來并不好,想起了spring的aop,于是想通過aop來給每個需要用戶操作的Action驗證用戶登錄狀態。
想法是這樣的:
1. 用戶登錄時把userId放入session中
2. 通過spring 寫一個advice來獲取session中的userId,判斷用戶登錄狀態,如果userId不符合,則拋出自定義異常
3. 通過struts中配置來捕獲異常,跳轉界面
以下是代碼:
advice代碼:
public class IsUserLoginAdvice{ public void isUserLogin() throws UserNotFoundException{ // TODO Auto-generated method stub int id=0; Map sessionMap=ActionContext.getContext().getSession(); System.out.println(sessionMap); try { //這里在一開始時userId是不存在的可能會拋出NullPointException,catch起來 id=(int) sessionMap.get("userId"); //在用戶注銷時我把session中的userId設為0 if(id==0){ throw new UserNotFoundException(); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); throw new UserNotFoundException(); } } }
網站欄目:springaopaction中驗證用戶登錄狀態的實例代碼-創新互聯
網址分享:http://www.2m8n56k.cn/article22/dhpscc.html
成都網站建設公司_創新互聯,為您提供商城網站、App設計、建站公司、動態網站、做網站、企業建站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:[email protected]。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯