javaWeb学习笔记--Session

Session:

1.概念:

服务器端会话技术,在一次会话的多次请求间共享数据,将数据保存在服务器端的对象中。Httpsession

2.快速入门:

1.获取Httpsession对象:

 Httpsession session = request.getsession();

2.使用HttpSession对象:

object getAttribute(String name)
void setAttribute(string name, object value)
void removeAttribute(string name)
 

3.原理

Session的实现是依赖于cookie的。

4.细节:

1.当客户端关闭后,服务器不关闭,两次获取session是否为同一个?

默认情况下。不是。
如果需要相同,则可以创建cookie,键为JSESSIONID,设置最大存活时间,让cookie持久化保存。

Cookie c = new Cookie("JSESSIONID",session.getId());
c.setMaxAge(60*60);
respgnse.addcookie(c);

2.客户端不关闭,服务器关闭后,两次获取的session是同一个吗?

不是同一个,但是要确保数据不丢失

  • session的钝化:
    在服务器正常关闭之前,将session对象系列化到硬盘上
  • session的活化:
    在服务器后动后,将session文件转化为内存中的session对象即可。

3.session的失效时间?

1.服务器关闭
2.session对象调用invalidate()。
3.session默认失效时间30分钟
选择性配置修改

<session-config>
<session-timeout>30</session-timeout>
</session-config>

5.session的特点

1.session用于存储一次会话的多次请求的数据,存在服务器端
2.session可以存储任意类型,任意大小的数据

session与cookie的区别:

1.session存储数据在服务器端,Cookie在客户端
2.session没有数据大小限制,Cookie有
3.session数据安全,cookie相对于不安全

Guess you like

Origin blog.csdn.net/weixin_44459831/article/details/119993607