ssmエンジニアリングSpringSession導入
8410 ワード
SpringSessionテクノロジーを使用しているプロジェクトもあり、通常のSessionを使用すると複数のプロジェクトでSessionを共有する目的が達成でき、意味があると感じて、自分でローカルにdemoを構築して、テストしてみました.このブログでは、ssm統合springSessionを参考にして、sessionセッションの損失を解決し、著者の共有に感謝します.SpringSessionの原理は実は簡単で、HttpSessionをredisに入れて、すべてのseesion操作、操作はすべてredisの中のこのsessionで、これによってsession共有の目的を達成しました.はい、原理的なものは今ではこんなにたくさん知っています.次にssmエンジニアリングにSpringSessionテクノロジーを導入する方法を見てみましょう.
1.依存関係の導入
2.web.xml構成
Springのfilterエージェントクラスを構成し、filterのライフサイクルをSpring管理に渡します.
3.Springプロファイル構成
SpringSessionコンフィギュレーションクラスを導入すると、プロジェクトの必要に応じてSpringSessionを構成できます.たとえば、私は例でSpringSessionのredisでのネーミングスペースを構成しました.もう一つは、redisを追加した接続ファクトリクラスです.SpringSessionの共有はredisに依存するため、redisを導入する必要があります.
4.SpringSessionの使用
次に、SpringSessionを使用できます.SpringSessionを使用するのは、通常のHttpSessionを使用するのと同じです.次の例です.
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");
}