JavaWeb——会话技术

本文详细介绍了如何在Java中创建和管理HttpSession,包括获取ID、设置生存期、存储和获取属性等操作。同时讨论了Session在单体应用和多体应用中的局限性,以及其常见的应用场景如用户信息管理和验证码验证。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        • false
          • 创建一个会话对象HttpSession,当前用户有会话对象则返回,没有则返回null,不创建会话
        • true
          • 创建一个会话对象HttpSession,如果当前已经有会话对象则返回这个会话
  • getId() 获取session的id
  • setMaxInactiveInterval(time) : 设置session存活时间 默认是30分钟,单位秒 如果设置为0或者负数 ,session不会失效
  • getMaxInactiveInterval( ) : 获取session的存活时间
  • invalidate( ) : 解除session的绑定 使session失效
  • setAttribute(name,obje) : 设置session中的属性值
  • getAttribute(name) : 从session作用域获取值
  • getAttributeNames( ) : 获取session作用域中所有属性的name值的集合
  • removeAttribute( name) : 从session作用域中移除属性值
  • getServletContext( ) : 获取当前ServletContext对象

Session的不足

session的原理是将数据存储在服务器中,客户端根据JESSIONID从服务器中查找到对应这个session.这种模式,在单体应用上是适用的,但是不适用多体的应用架构.因为Session在服务器的内存中在,如果存在多个服务器,服务器内存数据没法共享.session没法共享.session一般是在单节点应用.

Session的应用场景

在单体应用中,session主要应用场景如下:

将登录的用户信息存储在session,这样在任何jsp页面或者servlet中都能获取到当前session,从而从session获取当前的用户信息

将登录时验证码存放在session中,将用户输入的验证码和session中存储的验证码进行对比。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值