zoukankan      html  css  js  c++  java
  • spring session使用小记

    在并发量大的WEB系统中,Session一般不使用容器Session,而通常使用Redis作为Session的存储。如果为了保持Servlet规范中的Session接口继续可用,往往需要重新实现Session的接口,Spring Session已帮我们完成了这个实现。我们可以直接拿来使用。相关的配置如下:

        1. 在pom文件中引入相关的依赖

     <dependency>
                    <groupId>org.springframework.session</groupId>
                    <artifactId>spring-session-data-redis</artifactId>
                    <version>1.3.0.RELEASE</version>
                    <type>pom</type>
            </dependency>
            <dependency>
                    <groupId>biz.paluch.redis</groupId>
                    <artifactId>lettuce</artifactId>
                    <version>3.5.0.Final</version>
            </dependency> 

        2. 在spring配置文件中添加相应的Bean

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
        xmlns:redis="http://www.springframework.org/schema/redis"
        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
            http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd
            http://www.springframework.org/schema/redis http://www.springframework.org/schema/redis/spring-redis-1.0.xsd">
    
        <context:annotation-config />
        <bean
            class="org.springframework.session.data.redis.config.annotation.web.http.RedisHttpSessionConfiguration" />
    
    
        <bean class="org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory">
            <property name="hostName" value="127.0.0.1"/>
            <property name="port" value="6379"/>
            <property name="password" value="xxxxxxx"></property>
        </bean>
    </beans>

    3. 在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>/*</url-pattern>
            <dispatcher>REQUEST</dispatcher>
            <dispatcher>ERROR</dispatcher>
        </filter-mapping>

    这样,启动Web项目后,发现Session就保存在Redis中了

  • 相关阅读:
    include与php://input执行任意命令
    php Session反序列化漏洞
    php代码审计-file_get_contents()&file_put_contents()
    php代码审计-用户名和密码分开检验
    php -- get_magic_quotes_gpc()函数
    md5(“ffifdyop“,true)
    php弱类型相关
    BurpWeb安全学院之XXE
    ICMP隐藏通信隧道技术
    BurpWeb安全学院之敏感信息泄露
  • 原文地址:https://www.cnblogs.com/hzhuxin/p/6513412.html
Copyright © 2011-2022 走看看