<span id="lduzc"><sup id="lduzc"></sup></span>
    1. <span id="lduzc"><sup id="lduzc"></sup></span>
      <span id="lduzc"><sup id="lduzc"><object id="lduzc"></object></sup></span>

      <acronym id="lduzc"></acronym><span id="lduzc"></span>
      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格式就是用冒號分割,客戶端工具會以目錄的形式展示

      全部教程
      91最新偷拍精品,91国产aⅴ在线高清观看 五月丁香综合 制服师生 一级午夜免