Cookie与Session会话
会话技术
什么是会话
用户点开一个浏览器
点击多个超链接,访问服务器多个web资源
然后关闭浏览器,整个过程称之为一个会话。
和打电话一样,电话接收,开始会话,电话 挂断,结束会话
会话技术解决什么问题 (会话技术也叫存储技术:存储对象有数据库、ServletContext、Response)
保持各个客户端自己的数据
每个用户在使用浏览器与服务器进行会话的过程中,不可避免各自会产生一些数据,程序要想办法为每个用户保存这些数据
使用session会话技术解决
Session域当一个浏览器访问服务器创建
关闭服务器或过期时,销毁session域对象
cookei
(1):学习Cookei
服务器怎样把Cookei写给客户端?
1.创建Cookei
Cookie cookie = new Cookie(String cookieName,String cookieValue);
//cookie会以响应头的形式发送给客户端
//Cookie只能存储非中文的字符串
2.向客户端发送cookie response.addCookie(cookie名称)
3.访问
第一次访问时, 请求头当中没有cookie
第一次访问时, 响应当中会看到set-cookie
再一次访问时, 请求头当中就能够看到cookie信息
访问服务器的任何资源,一般情况下都会把cookie带去过
4.Cookei默认存储时间
1.默认cookie的会话级别
打开浏览器,关闭浏览器为一次会话
如果不设置持久化时间,cookie会存储在浏览器的内存中,浏览器关闭 cookie信息销毁
2.设置Cookie在客户端的存储时间
cookie.setMaxAge(int seconds);
设置的时间为秒
如果设置持久化时间,cookie信息会被持久化到浏览器的磁盘文件里
过期会自动删除
5.设置Cookie的携带路径
访问某一个资源时,要不要带cookie信息.如何每一外资源都携带,会影响传输速度
如果不设置携带路径
默认情况下会在访问创建cookie的web资源相同的路径
//在myxq/CookieServlet下创建的cookie
localhost:8080/Cookie-Session/myxq/CookieServlet
//在myxq/下的index.jsp访问时会携带cookie
localhost:8080/Cookie-Session/myxq/index.jsp
//不是在myxq下,不会携带cookie
localhost:8080/Cookie-Session/CookieServlet
设置携带路径
cookie.setPath(String path)