标签:
1.session是什么
1.1 session是一种会话技术 ps:还有一种是cookie
2.session的作用
2.1 服务器端会话范围内的数据共享
3.session的生命周期
3.1何时创建 request.getSession()时创建(因为session与cookie有关)
3.2 销毁(三种销毁方式)
3.2.1 默认30分钟过期
3.2.2 写一个方法销毁 invalidate()
3.2.3 服务器非正常关闭
4.session的钝化与还原
4.1 钝化
当服务器正常关闭的时候,内存中的session会保存在一个文件里面(apache服务器是在work工作目录下)
4.2 还原
当服务器正常关闭后再次启动时,服务器端未过期的session会恢复到内存中
5.session的原理(JsessionId)
当客户端与服务器进行会话时,服务器会判断request的cookies中是否包含一个JSessionId的这样一个cookie,如果没有就创建一个,有的话就用来区分用户,操作session
6.问题:服务器怎么区分当前访问是来自于哪个用户 答:就用利用从客户端传来的JesessionId
7.问题引申(思考):当客户端禁用cookie是怎么办? 答:当客户端禁用cookie后,那么服务器端的session也不能用了,因为session是基于cookie技术实现的;这样基于session的一些功能都不能用了,比如利用session功能实现的购物功能,那么我们要通过其他的方式来识别用户,这是就有url重定向。url重定向是将sessionid写在url里面作为url的参数,同样可以实现区分用户的目的
8.问题:利用session实现购物、付款功能,且当用户关闭浏览器后还能结算
8.1 知识点:session的应用;session是基于cookie实现的,而普通的cookie是会话级别的当浏览器关闭的时候cookie也就销毁了,现在需求是想当浏览器关闭后再次打开的时候还能进行结算的话,也就是关闭前和再次打开时Jsessionid值是一个,也就是说要把名字为JSessionId的cookie保存到浏览器临时文件中去
9.session举例:购物付款
补充:怎么设置session的timeout时间 java和.net 都是在web配置文件中设置
标签:
原文地址:http://www.cnblogs.com/lihongchen/p/4328588.html