`
ansn001
  • 浏览: 93716 次
  • 性别: Icon_minigender_1
  • 来自: 福建
社区版块
存档分类
最新评论

no Session

阅读更多

最近在写框架的时候,采用SSO(单点登录),同时需要使用no session的方式来提高性能。其实就是在所有请求之前把session状态设为失效,这样的话在大用户量的情况下可以减少请求的开支。

 

上面都是题外话:

先看一段对比代码

HttpServletRequest hsr = (HttpServletRequest) request;
		hsr.getSession().invalidate();
		System.out.println(hsr.getSession().getId());
		chain.doFilter(request, response);

HttpServletRequest hsr = (HttpServletRequest) request;
		System.out.println(hsr.getSession().getId());
		chain.doFilter(request, response);

 

7BD84B685916DDFBB602188B6B7B8EBA
7DC83FB878955750330CFCB809D5BFF3
69DF72DC4DBFBAAFFEFACE8AA21C084B
9FB9E9715D27946BEBDDF2D0E4D09860
FD7D4FD3224A7AB3DE5887D7F72EB753

4AEDE9F9739CEC6FB0869B9269B74441
4AEDE9F9739CEC6FB0869B9269B74441
4AEDE9F9739CEC6FB0869B9269B74441
4AEDE9F9739CEC6FB0869B9269B74441
4AEDE9F9739CEC6FB0869B9269B74441

 分别是以上两个代码的结果。从结果可以很清楚的看到,第一种情况的session状态被销毁了,所以每次的请求session的id都是不一样的。

  代码和结果很简单

 

  PS:

session.invalidate()是让当前浏览器的session销毁,也就是一个session被销毁,比如用户登录后注销就用这个,因为注销意味着该用户session中的所有属性均失效。而removeAttribute()可以指定销毁session中的某个属性

分享到:
评论

相关推荐

    Hibernate-nosession

    然而,在某些特定场景下,我们可能并不需要频繁地打开和关闭Session,这时“Hibernate-nosession”就显得尤为重要。本文将深入探讨Hibernate-nosession的概念、应用场景以及如何在实际代码中实现。 首先,理解什么...

    spring MVC No Session found for current thread

    当我们遇到“Spring MVC No Session found for current thread”的错误时,这通常意味着在尝试访问HttpSession对象时,当前线程没有找到相关的session。这个问题可能是由于多种原因导致的,包括配置错误、过滤器设置...

    Spring Boot报错:No session repository could be auto-configured, check your configuration的解决方法

    在Spring Boot应用中,当你遇到“`No session repository could be auto-configured, check your configuration`”的错误时,这通常意味着Spring Boot无法自动配置用于管理会话(session)的存储库。Spring Boot提供...

    Session渗透类

    标题中的"Session渗透类"指的是在Windows操作系统中,特别是Windows 7及更高版本,通过Session级别的交互来实现服务与桌面应用程序之间的通信和控制的技术。Session渗透通常涉及到系统安全和权限管理,因为它允许...

    org.hibernate.HibernateException: No Hibernate Session bound to thread

    "No Hibernate Session bound to thread" 错误信息通常是因为 Hibernate Session 未被绑定到当前线程所致。在 Hibernate 中,每个线程都需要一个 Session 对象来与数据库交互。如果未绑定 Session 到线程, ...

    cookie的使用,实用的demo

    out.println("No session ID found. Please login."); } %> ``` 在提供的"cookiePro"压缩包中,可能包含了一个实际的JSP项目,演示了上述理论的实现。通过运行此Demo,你可以更直观地理解Cookie和Session在JSP中...

    Activiti连接达梦数据库.pdf

    "Activiti连接达梦数据库" Activiti是基于Java的开源工作流引擎,广泛应用于企业级业务流程管理中。然而,在某些国内项目中,需要使用国产的替代方案来替换传统的数据库驱动。达梦数据库是一种国产的数据库管理系统...

    集成spring的hibernate懒加载

    当你尝试在Controller层或者视图层访问懒加载的属性时,如果Session已经关闭("no Session..."错误),就会抛出`org.hibernate.LazyInitializationException`。这是因为懒加载的代理对象需要Session来执行数据库查询...

    详解Java使用Jsch与sftp服务器实现ssh免密登录

    sessionConfig.put("StrictHostKeyChecking", "no"); session.setConfig(sessionConfig); session.connect(); // 打开SFTP通道 channelSftp = (ChannelSftp) session.openChannel("sftp"); channelSftp....

    用VBA操纵Lotusnotes发邮件.pdf

    `Set noDatabase = noSession.GETDATABASE("", "D:\notes\data\mail3\tonyhf.nsf")` 通过`GETDATABASE`方法获取指定路径的邮箱数据库,如果数据库未打开,则使用`OPENMAIL`打开。 3. **创建文档对象**: `Set no...

    activiti7.0支持达梦数据库连接

    网上有大部分的教程修改activiti源码,在编译的时候activiti 用的jdk是11的,大家可以自己找。我把我已经修改好的放上来

    退出页面自动清除session技巧

    ### 退出页面自动清除session技巧 在Web应用开发过程中,管理用户会话是十分重要的一个环节。Session机制作为实现用户状态跟踪的一种手段,在各种应用场景中都扮演着关键角色。但是,如何有效地管理并适时地清除...

    JAVA错误文档.pdf

    6. 线程安全问题:在文档中提到“noSession-no-session”的错误信息,暗示了线程安全问题。当使用Hibernate时,每个线程应该有独立的Session,如果没有正确处理Session与线程的绑定,就会出现线程安全问题。 7. ...

    jsonplugin, 对 struts2.1.X版本jsonplugin-0.34.jar 的修改

    第一次上传,要5分,是物有所值,处理了jsonplugin 的no session的问题,并且添加了,新的注释,例如 @JSON(exclude='对象的名称') 就可以剔除 解决json与Hibernate之间的大部分问题 1.数据只取三层 2.对one-ton-many ,...

    已经交叉编译好的arm64版本的qt5.12.1以及qtmqtt的完整产物

    Session Management ..................... yes Features used by QPA backends: evdev .................................. yes libinput ............................... no INTEGRITY HID ....................

    ubuntu自定义登录session和桌面环境

    例如,如果你不想在登录界面显示某个Session,可以在其配置文件末尾添加`NoDisplay=true`。这样,该Session就不会出现在登录界面的列表中。同时,你还可以自定义新的Session,例如创建一个名为"Simple"的Session。在...

    Spring4.0+Hibernate4.0+Struts2.3整合案例

    2、报错:org.hibernate.HibernateException: No Session found for current thread 意思是必须在transcation.isActive()条件下才能执行, 可以解决办法是:当方法不需要事务支持的时候,使用 Session ...

    S2S3H3整合以及泛型Dao与Service封装

    2.2.3.1+spring-framework-3.1.0+hibernate-distribution-3.6.8+JSON+MySQL+Annotation,并且对Dao和Service进行了封装,内含.jar包,并且解决了一对多双向关联的could not initialize proxy - no Session错误,同时...

Global site tag (gtag.js) - Google Analytics