【南京校区】Cookie和Session详解
一、会话技术概述?
1、什么是一次会话 、什么是一次会话
用户打开浏览器访问某个网站,在这个网站上浏览任意页面,访问完成后将浏览器关闭的过程称为是一次会话.
2、学习会话要解决的问题是什么? 、学习会话要解决的问题是什么?
会话技术是用于解决,在会话过程中数据的保存问题。
3、常用的会话技术有哪些 、常用的会话技术有哪些
Cookie:将数据保存到客户端浏览器。
Session:将数据保存到服务器端。
二、Cookie详解
1 、Cookie是什么? 是什么?
Cookie是一个小信息,由服务器写给浏览器的并且由浏览器来保存。
客户端保存的Cookie信息,可以再次带给服务器。
2、创建 、创建Cookie
Cookie cookie = new Cookie("username", "admin"); //设置cookie的有效路径,将有效路径设置为当前应用,则访问当前应用下的所有资源,浏览器都会带着它给 服务器。 cookie.setPath(request.getContextPath()); //设置cookie的有效时间,不设置就是会话过程,cookie存在浏览器的内存中 cookie.setMaxAge(60 * 60 * 24 * 7); //将cookie输出到客户端 response.addCookie(cookie);
3、获取 、获取Cookie
// 获得浏览器带过来的所有的Cookie Cookie[] cookies = request.getCookies();
4、 、Cookie的分类 的分类
会话级别:当没有设置Cookie的有效时间,默认就是会话级别的Cookie.关闭浏览器Cookie就会销毁.
持久级别:通过设置Cookie的有效时间.那么关闭浏览器Cookie还会存在.
5、删除持久级别的 、删除持久级别的Cookie
//通过setMaxAge(0),可以销毁持久级别的Cookie。但前提条件是,Cooike的有效路径必须一致。 Cookie cookie = new Cookie("username",null); cookie.setPath(request.getContextPath()); cookie.setMaxAge(0); response.addCookie(cookie);
三、 Session详解
1、 、Session是什么? 是什么?
Session是一个域对象,可以用于保存用户数据
Session的作用域范围是一次会话
2、创建 、创建Session对象 对象
服务器端第一次调用request.getSession()时创建session
3、销毁 、销毁Session对象 对象
Session过期。 注:默认过期时间为30分钟,可以通过配置web.xml修改Session的过期时间 例:
<session-config> <session-timeout>60</session-timeout> </session-config>
非正常关闭服务器。 注:如果正常关闭服务器,session会序列化到硬盘.当服务器重新启动时,会执行反序列化。
调用session.invalidate()方法。
4 、Session的执行原理 的执行原理
当服务器端第一次调用request.getSession()的时候,服务器会自动为其创建一个Session对象,并通过Cookie技术将Session的id,发送给客户端浏览 器。以后客户端再请求本应用中其他资源的时候,会自动将此Cookie携带到服务器端。这样,服务器端在接到请求时候,就会收到Session的id,并根据id在 内存中找到之前创建的Session对象,提供给请求使用。
|
|