目录
Session(客户端存储)
Session是什么?
当用户访问服务器某个网页时,会在服务器端开辟一块内存,这块内存就叫做Session,
每打开一次浏览器就会开辟一个Session,而且每个Seeion位置都不相同,通过Id来分辨,Session过了生命周期就会消失,或者关闭浏览器窗口
为什么要有Session?
当一个项目需要实现历史记录,当你浏览过一篇文章后,系统会将你浏览过的文章存储到另一个界面,但是实现存储功能的时候 拿不到你浏览过得文章,这个时候就可以借助Session来存储
如何分辨是否是自己想要的Session ?
在浏览器给每个Session开辟内存时都会给每个Session分配一个编号,用户可以通过编号来获取
如何创建,使用Session?
创建Session
当用户访问一个网站时就会生成一个Session对象并且是唯一的
可以通过request.getSession(true)来获得Session对象
Session.getId 获得Session对象的编号
创建完Session就可以通过它实现存储跟传输了
Session.setAtribut(String name,object value)//将信息保存在Session内
Session.getAtribut(String name)//获取存储在Session内的数据
1.将产生的Session的id存储到Cookie(客户端存储)
2.当浏览器再次向服务器发送请求时会顺便把Session的ID带过去
3.服务器接收到ID后回到Session库中去查询对应的编号
Cookie对象介绍
概括
Cookie客户端存储,就是由服务器发送到客户端的一些特殊信息,然后使用Cookie技术将这些数据通过文本的方式保存到Cookie中
Cookie作用
最简单的一点用户登录时是否保存账号密码这一功能的实现
Cookie的使用
5.1 通过page指令导入包
<%@ page import="javax.servlet.http.Cookie" %>5.2 创建
Cookie newCookie=new Cookie("key",value);5.3 写入(将Cookie响应到客户端)
response.addCookie(newCookie)
每次关闭浏览器Cookie都会消失,所以最好给Cookie设置存储时间Cookie cookie1=new Cookie(String name, String value)
cookie1.setMaxage()//设置存储时间,以秒为单位,
cookie常用方法
void setMaxAge(int e) //设置Cookie有效期,单位秒,正数为多少秒后失效
负数表示当浏览器关闭时
int getMaxAge() //获取Cookie有的效时间,单位秒
void setValue(String value) //在Cookie创建后,对Cookie进行赋值
String getValue() //获取Cookie的值
String getName() //获取Cookie的名称
Cookie[] getCookies() //获取Cookie中所有的属性名