-
-
-
- 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中存储的验证码进行对比。