• <nav id="wkkge"><strong id="wkkge"></strong></nav>
  • <menu id="wkkge"></menu>
  • Spring Session教程
    Spring Session常見的應用場景
    Spring Session的執行流程
    Session會話管理

    Spring Session教程

     

     

    Spring Session簡介

     

    Spring Session 是Spring家族中的一個子項目,它提供一組API和實現,用于管理用戶的session信息;

     

    它把servlet容器實現的httpSession替換為spring-session,專注于解決 session管理問題,Session信息存儲在Redis中,可簡單快速且無縫的集成到我們的應用中。

     

    官網:https://spring.io/

     

    Spring Session的特性

     

    • 提供用戶session管理的API和實現

     

    • 提供HttpSession,以中立的方式取代web容器的session,比如tomcat中的session

     

    • 支持集群的session處理,不必綁定到具體的web容器去解決集群下的session共享問題

     

     

    Spring Session入門案例

     

    1. 環境配置

     

    ①  創建一個空的Maven project,名字及路徑根據自己的情況定。

     

     

    ② 空project創建好后,會提示創建模塊,我們暫時先取消

     

     

    ③ 設置字體

     

     

    ④ 設置編碼方式

     

     

    ⑤ 設置maven信息

     

     

    ⑥ 創建一個Maven的web module,名字為01-springsession-web

     

     

     

    ⑦ 完善Maven項目的結構

     

    A、 在main目錄下,創建java目錄,并標記為Sources Root

     

     

    B、 在main目錄下,創建resources目錄,并標記為Resources Root

     

     

    2. 代碼開發

     

    ① 創建向session放數據的servlet

     

    在java目錄下創建包com.bjpowernode.session.servlet包

     

     

    在servlet包下創建SetSessionServlet

     

     

     

    在Servlet中通過注解指定urlPatterns,并編寫代碼

     

     

    ② 創建從session放數據的servlet

     

    在servlet包下創建GetSessionServlet

     

     

     

    在Servlet中通過注解指定urlPatterns,并編寫代碼

     

     

    ③ 向pom.xml文件中添加servlet及jsp的配置

      
    

     

    ④ 部署訪問測試(目前無法實現session共享)

     

    A、 配置tomcat9100服務器

     

    打開Edit Configurations選項

     

     

    添加tomcat配置

     

     

    給tomcat服務器取名,并修改端口號

     

     

    將項目部署到tomcat9100上

     

     

    指定項目的上下文根為/01-springsession-web

     

     

    為了實現熱部署,在Server選項卡中,配置以下兩個選項

     

     

    B、 配置tomcat9200服務器

     

    操作步驟同配置tomcat9100,配完之后在Application Servers窗口中如下

     

     

    3. SpringSession集成配置

     

    ① 在pom.xml文件中,添加Spring Session相關的依賴

     

     

    ② 在web.xml文件中配置springSessionRepositoryFilter過濾器

     

     

    ③ 在web.xml文件中加載Spring配置文件

     

     

    ④ 創建applicationContext-session.xml

     

    A、 配置一個RedisHttpSessionConfiguration類

     

    <context:annotation-config/>:用于激活已經在Spring容器中注冊的bean或者注解,因為我們通過容器創建的bean中,底層有可能使用了其它的注解,我們通過<context:component-scan>就不能指定具體的包了,所以可以使用<context:annotation-config/>激活

     

     

    B、 配置Spring-data-redis 

     

    <!-- 配置jedis連接工廠,用于連接redis -->
    <bean id="jedisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
        <property name="hostName" value="${redis.hostName}"/>
        <property name="port" value="${redis.port}"/>
        <property name="password" value="${redis.password}"/>
        <property name="usePool" value="${redis.usePool}"/>
        <property name="timeout" value="${redis.timeout}"/>
    </bean>
    
    <!--讀取redis.properties屬性配置文件-->
    <context:property-placeholder location="classpath:redis.properties"/>

     

    ⑤ 配置redis.properties文件

     

    redis.hostName=192.168.235.128
    redis.port=6379
    redis.password=123456
    redis.usePool=true
    redis.timeout=15000

     

    ⑥ 在applicationContext.xml中導入applicationContext-session.xml

     

     

    點擊config將這兩個配置文件進行關聯

     

     

    4. 部署測試

     

    ① 思路

     

    為了演示session的共享,我們這里配置兩個tomcat服務器,端口號分別為9100和9200,將我們上面創建好的項目分別部署到這兩臺服務器上。一臺服務器執行放session,另一臺服務器執行取session的操作

     

    ② 啟動Linux上的redis服務器

     

    ③ 啟動兩臺tomcat服務器

     

    在瀏覽器中訪問tomcat9100服務器的setSession

     

    Ø 在瀏覽器中訪問tomcat9200服務器的getSession

     

    ④ 分析

     

    tomcat9200服務器上的項目可以訪問tomcat9100上的session,說明session共享成功

     

    ⑤ 進一步驗證

     

    打開Resis客戶端工具(RedisDesktopManager),查看Redis里面的session數據

     

    其實標準的redis的key格式就是用冒號分割,客戶端工具會以目錄的形式展示

     

     

    全部教程
  • <nav id="wkkge"><strong id="wkkge"></strong></nav>
  • <menu id="wkkge"></menu>
  • 面对面棋牌游戏