Javaweb…网络项目

Servlet:第五篇【seesion】

2018-05-22  本文已影响17人  __y

1.session的基本概念

session是另外一种会话技术。不同的是Cookie是保存在浏览器里,session是保存在服务器中。用户在使用浏览器的时候,服务器把用户的信息以某种形式记录在服务器上。相比较于Cookie,session使用上更方便也更灵活,Cookie只能保存字符串,session可以保存对象!

2.session常用API

session域对象

session作为域对象只要没被销毁就可以在servlet之间实现通讯。

//初始化session对象
 HttpSession session = request.getSession();
//设置session属性
session.setAttribute("name","Test");

获得上面设置的值

//初始化session对象
 HttpSession session = request.getSession();
String value = (String)session.getAttribute("name");

什么时候用session?
一般我们我们要存进用户级别的数据就用session,只要浏览器不关闭,希望数据还在就用session。

3.session生命周期和有效期

1.session在用户第一次访问服务器的servlet,jsp等动态资源的时候就会被创建且保存在服务器的内存中(如果访问HTML,IMAGE等静态资源的话不会创建)
2.session生成后,用户继续访问,无论是否对session进行读写,服务器都会认为session活跃了一次
3.为了防止内存溢出,服务器会把长时间没有活跃的session从内存中删除,这个时间也就是session的超时时间
4.session默认的超时时间是30分钟,有以下三种方式修改时间:

<session-config>
    <session-timeout>20</session-timeout>
</session-config>
<session-config>
    <session-timeout>20</session-timeout>
</session-config>

4.Cookie和session比较

1.有效期不同。session周期指的是不活动的时间。比如我们设置了10S,在10S内如果session没有活跃,就失效。但是如果在9S的时候使用session则重新计算,重启,关闭服务器,或者重新加载web应用session也会失效。cookie的生命周期则是按累计的时间来算
2.Cookie存储在客户端,session在服务端
3.对服务器的负担比较。如果并发量过大,session会大量消耗内存,一般推荐使用cookie


先到这,以后更新项目上的应用~

上一篇下一篇

猜你喜欢

热点阅读