会话技术:用户打开浏览器访问一个页面开始,多次访问页面,到最后关闭浏览器的过程称为一次会话。
常见的会话技术:cookie和session
一、cookie
cookie是一种客户端技术,将数据保存到浏览器的内存中。
【cookie的使用总结】
(1)获得cookie:Cookie[] request.getCookies()
(2)向浏览器回写cookie:response.addCookie(Cookie c)
(3)构造cookie:Cookie(String name,String value)
【cookie的API】
(1)获取cookie名字:String getName()
(2)获取对应名字的cookie的value:String getValue(String name)
(3)设置路径:void setPath(request.getContextPath()+"/")
(4)设置cookie最大存活时间:void setMaxAge(int maxAge),setMaxAge(0)删除持久的cookie
【注意事项】
Cookie保存的时候一个浏览器上对Cookie的个数和大小都是由限制的
Cookie默认不能保存中文
二、session
session是一种服务器端的技术,把数据保存到服务器端。
session是一个域对象,保存的是私有数据。
【生命周期】
服务器端第一次调用getSession()就会创建一个session对象
session销毁三种情况:
* session过期:默认过期时间30分钟【在web.xml中配置的】
* 非正常关闭服务器:(正常关闭服务器 序列化到硬盘)
* 调用session.invalidate()
作用范围:多次请求,一次会话
三、jsp
jsp本质上是一个servlet,运行在服务器端处理请求,在jsp运行时,对应的java和class文件在tomcat安装包下的work目录,比如我的是在:
【jsp的执行流程】
(1)浏览器发送请求,访问jsp页面
(2)服务器接受请求,jsp servlet会帮我们查找对应的jsp文件
(3)服务器将页面翻译成java文件
(4)jvm把java文件编译成.class文件
(5)服务器运行class文件,生成动态内容
(6)将内容传递给服务器
(7)服务器组成相应信息,发送给浏览器
(8) 浏览器把内容解析出来