`
m635674608
  • 浏览: 5026343 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

spring session 考虑问题解答

 
阅读更多
相关问题
2.Redis容量考虑,由于spring seesion依赖redis,考虑是否和业务redis分开?
Spring session 一次访问会产生3个key,
根据用户量以及程序中session.setAttribute的量来考虑是否需要跟业务redis分开

3.Redis高可用考虑,由于spring seesion依赖redis,如果redis存在单点故障,将会影响到spring session.
在redis层面做高可用,keepalived or Sentinel or  redis3.0 cluster

4.浏览器不支持 cookie 怎么办?
Spring session默认将token写道cookie中,如果浏览器不支持cookie,那将token写到header中,每次请求带上。而外需要在sdk-session.xml增加配置:
<beanname="headerHttpSessionStrategy" class="org.springframework.session.web.http.HeaderHttpSessionStrategy">
</bean>

请求时只要将后端返回的token带上就可以
如:x-auth-token:98cc9e5e-5fc6-4ba9-8d7a-d6677a101820

5.session的失效时间设置问题?
Spring session 默认失效时间是1800秒,也就是30分钟,sdk-session.xml配置参数:
<bean class="org.springframework.session.data.redis.config.annotation.web.http.RedisHttpSessionConfiguration">
       <property name="maxInactiveIntervalInSeconds" value="1800"></property>
    </bean>
6.Session 事件监听配置HttpSessionListener
SessionListenerDemo实现HttpSessionListener 接口,sdk-session.xml配置参数:

<bean id="listenerAdapter" class="org.springframework.session.web.http.SessionEventHttpSessionListenerAdapter">  
        <constructor-arg name="listeners">  
            <list>  
                <bean class="com.mogoroom.bs.listener.SessionListenerDemo" />  
            </list>  
        </constructor-arg>  
    </bean>
7.跨域问题?
cookie方式:
不同域下所带的cookie是不同的,cookie不支持跨域

Header方式:
请求时只要将后端返回的token带上就可以
如:x-auth-token:98cc9e5e-5fc6-4ba9-8d7a-d6677a101820

8.同域不同工程名问题?
如www.baidu.com/aaa 和 www.baidu.com/bbb 共享session 需要而外在sdk-session.xml心中配置

  <bean  class="org.springframework.session.web.http.CookieHttpSessionStrategy">
        <property name="cookieSerializer" ref="defaultCookieSerializer"></property>
     </bean>
     
     <bean id="defaultCookieSerializer" class="org.springframework.session.web.http.DefaultCookieSerializer">
       <property name="cookiePath" value="/"></property>
     </bean>

 

分享到:
评论

相关推荐

    spring-session例子工程

    总的来说,Spring Session 是解决分布式系统中会话共享问题的有效工具,它提供了灵活的配置选项和多种后端存储支持,使得开发者能够轻松地在各种复杂环境中实现会话的一致性。通过这个示例工程,你可以学习如何在...

    tomcat集群session共享解决方案

    在学习这些解决方案时,可以参考“Tomcat集群资料”中的文档,它们通常包含配置示例、最佳实践和常见问题解答,帮助你更好地理解和实施session共享策略。同时,理解负载均衡原理、分布式系统设计以及安全性问题也是...

    spring spEL 表达式详解

    - Spring框架提供了`org.springframework.expression.spel.standard.SpelExpressionParser`类来解析SpEL表达式。 - 通过`parseExpression(String expression)`方法解析表达式,然后使用`getValue(Object root...

    Spring-Reference_zh_CN(Spring中文参考手册)

    9.9. 公共问题的解决方案 9.9.1. 对一个特定的 DataSource 使用错误的事务管理器 9.10. 更多的资源 10. DAO支持 10.1. 简介 10.2. 一致的异常层次 10.3. 一致的DAO支持抽象类 11. 使用JDBC进行数据访问 11.1. 简介 ...

    ZK+spring+hibernate的整合

    4. **配置ZK-Spring**:需要引入ZK-Spring的库,这是一个连接ZK和Spring的桥梁,它提供了Spring的ApplicationContext到ZK Session的绑定,使得ZK组件可以直接使用Spring的Bean。 5. **事务管理**:由于Spring对事务...

    springmvc+spring+hibernate

    Spring MVC、Spring 和 Hibernate 是Java Web开发中的三大主流框架,它们...在实际项目中,可能还需要考虑其他因素,如安全性(Spring Security)、任务调度(Quartz)、日志管理(Log4j)等,以进一步完善系统功能。

    Session详细解答

    ### Session详细解答 #### 一、术语session 在IT领域,特别是Web开发中,`session`一词常常被提及,但其定义并不总是清晰明确。本文将深入探讨session的概念及其在Java Web应用中的作用。 ##### session的基本...

    redis 保存session信息源码

    在现代Web应用中,Session管理是至关重要的一个环节,它用于跟踪用户状态,尤其是在服务器端无状态的HTTP协议...在实际项目中,还需要考虑异常处理、安全性以及与其他服务的集成等问题,以确保系统的稳定性和用户体验。

    五 Spring 国际化问题

    Spring 提供了`MessageSource`接口,用于读取和解析这些资源文件。这个接口的实现类如`ResourceBundleMessageSource`,通过`ResourceBundle`加载不同语言的资源文件。开发者可以通过`getMessage`方法传入消息键和...

    spring-data-redis

    《Spring Data Redis深度解析》 Spring Data Redis是Spring框架下的一个子项目,它为Redis提供了丰富的支持,使得在Java应用中使用Redis变得极其便捷。Redis是一个高性能的键值数据库,适用于高速读写操作,常被...

    Nginx Session共享问题解决方案解析

    本文将详细解析解决Nginx Session共享问题的几种方法。 首先,通过负载均衡器来实现Session共享。在使用Nginx进行负载均衡时,可以通过配置ip_hash指令来确保同一个客户端的请求总是被转发到同一台服务器。这样,...

    Spring MVC简单例子

    Spring MVC 是一个强大的Java web开发框架,用于构建可维护、可扩展且结构良好的Web应用程序。这个框架基于Spring IoC(Inversion of ...实践中遇到的问题和解决方法也会加深对Spring MVC的理解,有助于提升开发技能。

    集成spring的hibernate懒加载

    在Java的Web开发中,Spring框架与Hibernate的整合是常见的数据访问层实现方式。Spring提供了强大的依赖注入(DI)和AOP(面向切面编程...以上就是关于"集成spring的hibernate懒加载"问题的详细解析,希望对你有所帮助。

    Spring 2.0 开发参考手册

    18.2.2. 访问本地的无状态Session Bean(SLSB) 18.2.3. 访问远程SLSB 18.3. 使用Spring提供的辅助类实现EJB组件 19. JMS 19.1. 简介 19.2. 使用Spring JMS 19.2.1. JmsTemplate 19.2.2. 连接工厂 19.2.3. ...

    JavaWeb 用session统计在线人数

    本文将详细解析如何利用session这一核心技术来实现这个功能。 首先,理解session的基本概念。在Web开发中,session是服务器用于跟踪用户状态的一种机制。当用户打开一个网站并登录后,服务器会在其内存中创建一个与...

    SpringTest cookie

    在IT行业中,Spring框架是Java开发中的一个核心组件,它为构建高质量的、可维护的Web应用程序提供了强大的支持。在Spring框架中,测试是保证代码质量和功能正确性的重要环节。当我们谈论“SpringTest cookie”时,这...

    spring-websocket.rar

    《Spring WebSocket深度解析》 WebSocket协议的出现,为实时、双向通信提供了强大的支持,而Spring框架的WebSocket模块(Spring WebSocket)则将这一技术完美地融入到企业级开发中。Spring WebSocket使得开发者能够...

    springmvc+spring4+hibernate5架构搭建实例

    Spring MVC的核心组件包括DispatcherServlet、Controller、ModelAndView以及一系列的拦截器和视图解析器。 Spring 4作为核心容器,主要负责依赖注入(DI)和面向切面编程(AOP)。DI允许开发者在运行时动态地组合...

    spring web flow 官方文档

    《Spring Web Flow 2.30官方文档精要解析》 Spring Web Flow是Spring Framework的一个扩展模块,专门设计用于处理复杂的、多步骤的web应用程序流程。版本2.30是其一个重要的迭代,包含了多项更新与优化,为开发者...

Global site tag (gtag.js) - Google Analytics