ssmエンジニアリングSpringSession導入


SpringSessionテクノロジーを使用しているプロジェクトもあり、通常のSessionを使用すると複数のプロジェクトでSessionを共有する目的が達成でき、意味があると感じて、自分でローカルにdemoを構築して、テストしてみました.このブログでは、ssm統合springSessionを参考にして、sessionセッションの損失を解決し、著者の共有に感謝します.SpringSessionの原理は実は簡単で、HttpSessionをredisに入れて、すべてのseesion操作、操作はすべてredisの中のこのsessionで、これによってsession共有の目的を達成しました.はい、原理的なものは今ではこんなにたくさん知っています.次にssmエンジニアリングにSpringSessionテクノロジーを導入する方法を見てみましょう.
1.依存関係の導入
<!-- springsession-->
    <dependency>
      <groupId>org.springframework.session</groupId>
      <artifactId>spring-session-data-redis</artifactId>
      <version>1.3.0.RELEASE</version>
    </dependency>

2.web.xml構成
Springのfilterエージェントクラスを構成し、filterのライフサイクルをSpring管理に渡します.
<!--SpingSession-->
  <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>/*
  

3.Springプロファイル構成
SpringSessionコンフィギュレーションクラスを導入すると、プロジェクトの必要に応じてSpringSessionを構成できます.たとえば、私は例でSpringSessionのredisでのネーミングスペースを構成しました.もう一つは、redisを追加した接続ファクトリクラスです.SpringSessionの共有はredisに依存するため、redisを導入する必要があります.
<bean class="org.springframework.session.data.redis.config.annotation.web.http.RedisHttpSessionConfiguration" p:redisNamespace="mvc"/>
<bean name="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}"/>
</bean>

4.SpringSessionの使用
次に、SpringSessionを使用できます.SpringSessionを使用するのは、通常のHttpSessionを使用するのと同じです.次の例です.
@RequestMapping(value = "/get",method = RequestMethod.GET)
    public String getConfigName(HttpServletRequest request,HttpSession session){
        log.info("  get  ,[{}]",request.getRequestURI());
        session.getAttribute("configName");
        return (String)session.getAttribute("configName");
    }