一、数据持久化
1. Session
A Session的有效时间设置(分钟)
1. 在程序中调用session的setMaxInactiveInterval方法设置,session.setMaxInnactiveInterval(30*60);设置的是当前会话的失效时间,不是整个web的时间,单位为以秒计算,如果设置的值为零或负数,则表示会话永远不会超时。
2. Web.xml中的session-config配置
<session-config>
<session-timeout>30</session-timeout>
</session-config>
3. 直接在应用服务器中设置
如果是Tomcat,可以在Tomcat目录下config、web.xml中找到<session-config>元素,Tomcat默认设置是30分钟
<session-config>
<session-timeout>30</session-timeout>
</session-config>
B.30分钟的含义?从最后一次请求开始计算
C.原理:服务器端技术,Session存储的数据都存储在服务器上,所以,不允许存储大量的数据。一般情况下一个对话对应一个进程。关闭了浏览器,这个session并没有销毁,你可以通过sessionID找回来。
D.Session销毁:过期了 调用此session。Invalidate();
2.Application
A.有效期 服务器启动开始(第一次请求) 一直到服务器停止运行(重启)。
B. 针对所有的访问者(请求者)
C. 服务器端技术(数据都存储在服务器的公共区域)
D. 关于Application上锁 lock
E. 用途,网站计数,看在线人数,在线人数列表
3.Cookie
A.它是存储在客户机的文本(文本文件)
B.存储的数据都是key-value的方式存储的。
C.每种浏览器存储的位置是不一样的(一般情况下,Cookie对于不同的浏览器是不共享)
D.Cookie不安全,因为我们的客户端可以随意的删除这个Cookie,禁用Cookie。
E.Cookie的有效时间:第一种,我们没有设置Cookie的有效时间,他的有效时间同会话时间。第二种,利用setMaxAge设置了他的有效时间(秒)