真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

SpringMVC如何使用攔截器控制登錄

SpringMVC如何使用攔截器控制登錄?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

目前創(chuàng)新互聯(lián)已為近1000家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬空間、綿陽服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計、九原網(wǎng)站維護等服務(wù),公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

SpringMVC讀取Cookie判斷用戶是否登錄,對每一個action都要進行判斷。之前使用jstl標簽在頁面上判斷session如果沒有登錄就使用如下代碼跳轉(zhuǎn)到登錄頁面。


 
 


 

但是測試發(fā)現(xiàn)如果session過期,頁面渲染就會無故中斷并且不會跳轉(zhuǎn)到登錄頁面。故嘗試使用攔截器來進行登錄判斷。

攔截器配置文件如下



 
  
  
   
    
     /login
     /static/
    
   
  
 

攔截器實現(xiàn)類如下

public class LoginInterceptor implements HandlerInterceptor {
 private AvatarLogger logger = AvatarLoggerFactory.getLogger(this.getClass());

 private List excludedUrls;

 /**
  * 在DispatcherServlet完全處理完請求后被調(diào)用
  * 當攔截器拋出異常時,依然會從當前攔截器往回執(zhí)行所的攔截器的afterCompletion()
  */
 public void afterCompletion(HttpServletRequest request,
        HttpServletResponse response, Object handler, Exception exception)
   throws Exception {

 }

 //在業(yè)務(wù)處理器處理請求執(zhí)行完成后,生成視圖之前執(zhí)行的動作
 public void postHandle(HttpServletRequest request, HttpServletResponse response,
       Object handler, ModelAndView modelAndView) throws Exception {

 }

 /**
  * 在業(yè)務(wù)處理器處理請求之前被調(diào)用
  * 如果返回false 則退出本攔截器,本攔截器后面的postHandle與afterCompletion不再執(zhí)行
  */
 public boolean preHandle(HttpServletRequest request, HttpServletResponse response,
        Object handler) throws Exception {

  String requestUri = request.getRequestURI();
  for (String url : excludedUrls) {
   if (requestUri.contains(url)) {
    return true;
   }
  }

  HttpSession session = request.getSession();
  Boolean login = (Boolean) session.getAttribute("login");
  if (login == null || !login) {
   //System.out.println(request.getContextPath());
   logger.info("Pedirect to login page");
   response.sendRedirect(request.getContextPath() + "/login");
  }
  return true;
 }

 public void setExcludedUrls(List excludedUrls) {
  this.excludedUrls = excludedUrls;
 }
}

關(guān)于SpringMVC如何使用攔截器控制登錄問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。


網(wǎng)站題目:SpringMVC如何使用攔截器控制登錄
分享路徑:http://weahome.cn/article/jopiop.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部