ssm中攔截器

做項目時,我們經常需要驗證當前用戶是否有登錄,登錄後纔可以訪問其他頁面,而註冊和登錄頁面不需要驗證登錄,又因爲每個頁面(除了註冊和登錄)都需要驗證,故,我們可以在訪問頁面前攔截所有的請求,然後檢查是否登錄,具體實現方法:

1.新建filter文件夾

2.新建攔截器類LoginInterceptor 實現接口 HandlerInterceptor,  編寫註解:@Component,右擊Generate,選擇override Methods

3.編寫驗證用戶是否登錄

HttpSession session =request.getSession();
 User user =(User)session.getAttribute("user");
 if(user ==null){
     request.getRequestDispatcher("/login").forward(request,response);
     return false;
 }else{
     return true;//如果session有值,則說明該用戶已經登錄。
 }

4.編寫註冊類,如下圖所示,用來註冊剛纔寫的攔截器,如下圖所示

registry.addInterceptor(loginInterceptor).addPathPatterns("/**").excludePathPatterns("/register","/login","/login/**","/css/**","/font/**","/img/**","/images/**","/js/**","/layui/**");

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章