14-码蚁JavaWeb之会话技术cookie

学习地址:
撩课-JavaWeb系列1之基础语法-前端基础
撩课-JavaWeb系列2之XML
撩课-JavaWeb系列3之MySQL
撩课-JavaWeb系列4之JDBC
撩课-JavaWeb系列5之web服务器-idea
课程下载地址:
链接:https://pan.baidu.com/s/1qilY0kIpgnxuLELxjNIQxw 提取码:4s9t


什么是会话

用户开一个浏览器
点击多个超链接,访问服务器多个web资源
然后关闭浏览器,整个过程称之为一个会话。
和打电话一样,电话接收,开始会话,电话 挂断,结束会话

会话技术解决什么问题

保持各个客户端自己的数据
每个用户在使用浏览器与服务器进行会话的过程中,
不可避免各自会产生一些数据,
程序要想办法为每个用户保存这些数据

学习Cookie

服务器怎样把Cookie写 给客户端

创建Cookie
Cookie cookie = new Cookie(String cookieName,String cookieValue);
cookie会以响应头的形式发送给客户端
Cookie只能存储非中文的字符串

向客户端发送cookie

response.addCookie(cookie名称)
访问
第一次访问时, 请求头当中没有cookie
第一次访问时, 响应当中会看到set-cookie
再一次访问时, 请求头当中就能够看到cookie信息
访问服务器的任何资源,一般情况下都会把cookie带去过
Cookie默认存储时间
默认cookie的会话级别
打开浏览器,关闭浏览器为一次会话
如果不设置持久化时间,cookie会存储在浏览器的内存中,浏览器关闭	cookie信息销毁

设置Cookie在客户端的存储时间

cookie.setMaxAge(int seconds);
设置的时间为秒
如果设置持久化时间,cookie信息会被持久化到浏览器的磁盘文件里
过期会自动删除
设置Cookie的携带路径
访问某一个资源时,要不要带cookie信息
如何每一外资源都携带,会影响传输速度 
如果不设置携带路径
默认情况下会在访问创建cookie的web资源相同的路径
都携带cookie信息
在myxq/CookieServlet下创建的cookie
在myxq/下的index.jsp访问时会携带cookie
不是在myxq下,不会携带cookie

设置携带路径

扫描二维码关注公众号,回复: 4375603 查看本文章
cookie.setPath(String path);
cookie.setPath(“/CookiePro/cookieServlet”);
只有访问cookieServlet才携带cookie信息
cookie.setPath(“/CookiePro”);
访问指定的工程时, 都会携带cookie信息
cookie.setPath(“/”);
访问服务器下部署的所有工程时都会携带cookie

删除Cookie

如果想删除客户端的已经存储的cookie信息
使用同名同路径的持久化时间为0的cookie进行覆盖即可

服务器如何获取客户端携带的cookie
通过Request对象的getCookies()方法
获取的是所有的cookie
要进行遍历,找出自己名称的那一个
示例代码

记录上次登录时间

博文全套 视频讲解 点击以下链接查看
https://study.163.com/course/courseMain.htm?courseId=1005981003&share=2&shareId=1028240359

猜你喜欢

转载自blog.csdn.net/lkitlike/article/details/84818481