亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

SpringMVC攔截器實(shí)現(xiàn)監(jiān)聽session是否過期詳解

 更新時(shí)間:2017年11月11日 10:10:05   作者:渡劫錦官城  
這篇文章主要介紹了SpringMVC攔截器實(shí)現(xiàn)監(jiān)聽session是否過期詳解,還是比較不錯(cuò)的,這里分享給大家,供需要的朋友參考。

本文主要向大家介紹了SpringMVC攔截器實(shí)現(xiàn):當(dāng)用戶訪問網(wǎng)站資源時(shí),監(jiān)聽session是否過期的代碼,具體如下:

一、攔截器配置

<mvc:interceptors>
  <mvc:interceptor>
    <mvc:mapping path="/**"/>
    <mvc:exclude-mapping path="/user/login"/>  <!-- 不攔截登錄請求 -->
    <mvc:exclude-mapping path="/user/logout"/>  <!-- 不攔截注銷請求 -->
    <mvc:exclude-mapping path="*.jsp"/>
    <mvc:exclude-mapping path="*.html"/>
    <mvc:exclude-mapping path="*.js"/>
    <mvc:exclude-mapping path="*.css"/>
    <bean class="org.huaxin.interceptor.AccessInterceptor"></bean>
  </mvc:interceptor>
</mvc:interceptors>

二、攔截器編碼

public boolean preHandle(HttpServletRequest request, HttpServletResponse response,
      Object obj) throws Exception {
    System.out.println("[AccessInterceptor]:preHandle執(zhí)行");
    HttpSession session = request.getSession();
    ServletContext application = session.getServletContext();
    if(application.getAttribute(session.getId()) == null){  //未登錄
      PrintWriter out = response.getWriter();
      StringBuffer sb = new StringBuffer("<script type=\"text/javascript\" charset=\"UTF-8\">");
      sb.append("alert(\"你的賬號被擠掉,或者沒有登錄,或者頁面已經(jīng)過期,請重新登錄\")");
      sb.append("window.location.href='/user/logout';");
      sb.append("</script>");
      out.print(sb.toString());
      out.close();
      return false;
    }else{  //已經(jīng)登錄
      return true;
    }
  }

三、總結(jié)

1.注意這里使用的攔截器是HandlerInterceptor,你的攔截器需要實(shí)現(xiàn)這個(gè)接口

2.在你的登錄handler里面,要將session保存到application中,方便根據(jù)sessionId來判斷是否存在session

3.sb.append("window.location.href='/user/logout';"); 這行代碼是說,執(zhí)行注銷操作,在你的/user/logout 這個(gè)handler里面得把頁面解析到登錄頁,方便重新登錄

以上就是本文關(guān)于SpringMVC攔截器實(shí)現(xiàn)監(jiān)聽session是否過期詳解的全部內(nèi)容,希望對大家有所幫助,感興趣的朋友可以繼續(xù)參閱本站:Java監(jiān)聽器的作用及用法代碼示例SpringMVC開發(fā)restful API之用戶查詢代碼詳解、springmvc接收jquery提交的數(shù)組數(shù)據(jù)代碼分享等,如有不足之處,歡迎留言指出。小編會及時(shí)進(jìn)行更改,感謝朋友們對本站的支持!

相關(guān)文章

  • Java基于UDP協(xié)議的聊天室功能

    Java基于UDP協(xié)議的聊天室功能

    這篇文章主要為大家詳細(xì)介紹了Java基于UDP協(xié)議的聊天室功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-09-09
  • Java中Optional.of()方法及源碼解析(非常詳細(xì)!)

    Java中Optional.of()方法及源碼解析(非常詳細(xì)!)

    這篇文章主要給大家介紹了關(guān)于Java中Optional.of()方法及源碼解析的相關(guān)資料,Java中java.util .Optional類的of()方法用于獲得該Optional類中具有指定類型的指定值的一個(gè)實(shí)例,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-06-06
  • java判斷class子類或父類的實(shí)例方法

    java判斷class子類或父類的實(shí)例方法

    在本篇文章里小編給大家整理的是關(guān)于java判斷class子類或父類的實(shí)例方法,需要的朋友們可以參考學(xué)習(xí)下。
    2020-02-02
  • POI通過模板導(dǎo)出EXCEL文件的實(shí)例

    POI通過模板導(dǎo)出EXCEL文件的實(shí)例

    下面小編就為大家?guī)硪黄狿OI通過模板導(dǎo)出EXCEL文件的實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-08-08
  • java輸入字符串并將每個(gè)字符輸出的方法

    java輸入字符串并將每個(gè)字符輸出的方法

    今天小編就為大家分享一篇java輸入字符串并將每個(gè)字符輸出的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • 如何計(jì)算Java對象占用了多少空間?

    如何計(jì)算Java對象占用了多少空間?

    在Java中沒有sizeof運(yùn)算符,所以沒辦法知道一個(gè)對象到底占用了多大的空間,但是在分配對象的時(shí)候會有一些基本的規(guī)則,我們根據(jù)這些規(guī)則大致能判斷出來對象大小,需要的朋友可以參考下
    2016-01-01
  • 三分鐘帶你了解SpringBoot真正的啟動引導(dǎo)類

    三分鐘帶你了解SpringBoot真正的啟動引導(dǎo)類

    這篇文章主要介紹了三分鐘帶你了解SpringBoot真正的啟動引導(dǎo)類,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • EventBus與Spring Event區(qū)別詳解(EventBus 事件機(jī)制,Spring Event事件機(jī)制)

    EventBus與Spring Event區(qū)別詳解(EventBus 事件機(jī)制,Spring Event事件機(jī)制)

    這篇文章主要介紹了EventBus與Spring Event區(qū)別,需要的朋友可以參考下
    2020-02-02
  • Spring Boot定時(shí)任務(wù)的使用方法

    Spring Boot定時(shí)任務(wù)的使用方法

    這篇文章為大家詳細(xì)主要介紹了Spring Boot定時(shí)任務(wù)的使用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • SpringBoot之Controller的使用詳解

    SpringBoot之Controller的使用詳解

    本篇文章主要介紹了SpringBoot之Controller的使用詳解,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
    2017-08-08

最新評論