最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

spring session同域下單點(diǎn)登錄實(shí)現(xiàn)解析

 更新時(shí)間:2019年10月21日 14:44:18   作者:王大軍  
這篇文章主要介紹了spring session同域下單點(diǎn)登錄實(shí)現(xiàn)解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

Session會(huì)話管理

在Web項(xiàng)目開(kāi)發(fā)中,Session會(huì)話管理是一個(gè)很重要的部分,用于存儲(chǔ)與記錄用戶(hù)的狀態(tài)或相關(guān)的數(shù)據(jù);通常情況下session交由容器(tomcat)來(lái)負(fù)責(zé)存儲(chǔ)和管理,但是如果項(xiàng)目部署在多臺(tái)tomcat中,則session管理存在很大的問(wèn)題;

1、多臺(tái)tomcat之間無(wú)法共享session,比如用戶(hù)在tomcat A服務(wù)器上已經(jīng)登錄了,但當(dāng)負(fù)載均衡跳轉(zhuǎn)到tomcat B時(shí),由于tomcat B服務(wù)器并沒(méi)有用戶(hù)的登錄信息,session就失效了,用戶(hù)就退出了登錄;

2、一旦tomcat容器關(guān)閉或重啟也會(huì)導(dǎo)致session會(huì)話失效;因此如果項(xiàng)目部署在多臺(tái)tomcat中,就需要解決session共享的問(wèn)題;

配置文件

pom.xml
<dependency>
  <groupId>org.springframework.session</groupId>
  <artifactId>spring-session-data-redis</artifactId>
  <version>1.3.1.RELEASE</version>
</dependency>
web.xml
  <filter>
    <filter-name>springSessionRepositoryFilter</filter-name>
    <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>springSessionRepositoryFilter</filter-name>
    <url-pattern>*.do</url-pattern>
  </filter-mapping>

  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>
      classpath:applicationContext.xml
    </param-value>
  </context-param>
applicationContext.xml
  <context:annotation-config/>
  <!-- 初始化一切spring-session準(zhǔn)備,且把springSessionFilter放入IOC -->
  <bean id="redisHttpSessionConfiguration" class="org.springframework.session.data.redis.config.annotation.web.http.RedisHttpSessionConfiguration">
    <property name="maxInactiveIntervalInSeconds" value="300"/>
  </bean>
  <!-- 配置cookie信息-->
  <bean class="org.springframework.session.web.http.DefaultCookieSerializer" id="defaultCookieSerializer">
    <property name="cookieName" value="SESSION_NAME"/>
    <property name="domainName" value="wangjun.com"/>
    <property name="useHttpOnlyCookie" value="true"/>
    <property name="cookiePath" value="/"/>
    <property name="cookieMaxAge" value="31536000"/>
  </bean>
  <!-- 配置redis連接池信息-->  
  <bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
    <property name="maxTotal" value="20"/>
  </bean>
  <!--配置redis連接信息-->
  <bean id="jedisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
    <property name="hostName" value="127.0.0.1"/>
    <property name="port" value="6379"/>
    <property name="poolConfig" ref="jedisPoolConfig"/>
  </bean>

代碼測(cè)試

public class SessionServlet extends HttpServlet {
 
  protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    this.doGet(request,response);
  }
 
  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    String sesssionID = request.getSession().getId();
    //部署兩份,把這個(gè)地方8081改成8080就行了,只是為了區(qū)分
    response.getWriter().write("8081 Server SessionID"+sesssionID);
  }
}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 通過(guò)Java實(shí)現(xiàn)RSA加密與驗(yàn)證的方法詳解

    通過(guò)Java實(shí)現(xiàn)RSA加密與驗(yàn)證的方法詳解

    RSA是一種非對(duì)稱(chēng)加密算法,是目前廣泛應(yīng)用于加密和數(shù)字簽名領(lǐng)域的一種加密算法,本文主要講述如何通過(guò)Java實(shí)現(xiàn)RSA加密與驗(yàn)證,應(yīng)用場(chǎng)景為與其他平臺(tái)對(duì)接接口時(shí),通過(guò)RSA加密和解密驗(yàn)證請(qǐng)求的有效性,在對(duì)接時(shí)雙方互換公鑰,需要的朋友可以參考下
    2023-12-12
  • spring boot整合quartz實(shí)現(xiàn)多個(gè)定時(shí)任務(wù)的方法

    spring boot整合quartz實(shí)現(xiàn)多個(gè)定時(shí)任務(wù)的方法

    這篇文章主要介紹了spring boot整合quartz實(shí)現(xiàn)多個(gè)定時(shí)任務(wù)的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-01-01
  • Spring中的spring-retry重試機(jī)制解析

    Spring中的spring-retry重試機(jī)制解析

    這篇文章主要介紹了Spring中的spring-retry重試機(jī)制解析,spring-retry可以通過(guò)注解,在不入侵原有業(yè)務(wù)邏輯代碼的方式下,優(yōu)雅的實(shí)現(xiàn)重處理功能,在spring-retry中,所有配置都是基于簡(jiǎn)單注釋的,需要的朋友可以參考下
    2024-01-01
  • SpringMvc使用GoogleKaptcha生成驗(yàn)證碼

    SpringMvc使用GoogleKaptcha生成驗(yàn)證碼

    這篇文章主要為大家詳細(xì)介紹了SpringMvc項(xiàng)目中使用GoogleKaptcha 生成驗(yàn)證碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • 學(xué)習(xí)Java之異常到底該如何捕獲和處理

    學(xué)習(xí)Java之異常到底該如何捕獲和處理

    我們知道,Java的異常處理是通過(guò)5個(gè)關(guān)鍵字來(lái)實(shí)現(xiàn)的,即try、catch、throw、throws和finally,try?catch語(yǔ)句用于捕獲并處理異常,但具體該怎么捕獲異常,怎么拋出異常,什么時(shí)候拋,什么時(shí)候捕,感興趣的小伙伴跟著小編一起來(lái)看看吧
    2023-08-08
  • Java如何批量執(zhí)行datax腳本

    Java如何批量執(zhí)行datax腳本

    這篇文章主要介紹了Java如何批量執(zhí)行datax腳本問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • 關(guān)于HashSet與HashMap的區(qū)別及說(shuō)明

    關(guān)于HashSet與HashMap的區(qū)別及說(shuō)明

    這篇文章主要介紹了關(guān)于HashSet與HashMap的區(qū)別及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • springboot整合mongodb使用詳解

    springboot整合mongodb使用詳解

    MongoDB是一個(gè)文檔數(shù)據(jù)庫(kù)(以?JSON?為數(shù)據(jù)模型),由C++語(yǔ)言編寫(xiě),旨在為WEB應(yīng)用提供可擴(kuò)展的高性能數(shù)據(jù)存儲(chǔ)解決方案,本文就給大家介紹一下詳細(xì)介紹一下springboot整合mongodb使用,需要的朋友可以參考下
    2023-07-07
  • Java多線程編程中線程鎖與讀寫(xiě)鎖的使用示例

    Java多線程編程中線程鎖與讀寫(xiě)鎖的使用示例

    這篇文章主要介紹了Java多線程編程中線程鎖與讀寫(xiě)鎖的使用示例,鎖是控制程序多線程并發(fā)的重要手段,需要的朋友可以參考下
    2016-04-04
  • java 對(duì)象的序列化和反序列化詳細(xì)介紹

    java 對(duì)象的序列化和反序列化詳細(xì)介紹

    這篇文章主要介紹了java 對(duì)象的序列化和反序列化的相關(guān)資料,需要的朋友可以參考下
    2016-10-10

最新評(píng)論

诏安县| 兴宁市| 海伦市| 绥宁县| 洛南县| 深泽县| 彝良县| 赤峰市| 乐东| 枣阳市| 新宁县| 山东| 禹城市| 玉环县| 迭部县| 绥德县| 霍山县| 阜阳市| 武安市| 泾阳县| 荥经县| 桐庐县| 宁河县| 绥化市| 双桥区| 徐州市| 宜良县| 惠安县| 县级市| 井冈山市| 昌平区| 阿拉善左旗| 木兰县| 商河县| 淮阳县| 丰宁| 石城县| 南京市| 新宁县| 平山县| 泰安市|