会话技术-cookie的API(十六)
来源:互联网 发布:淘宝卖家怎么删除订单 编辑:程序博客网 时间:2024/06/14 18:19
客户端收到cookie之后,下次访问服务器会默认带上cookie。但是,如果客户端重启之后,再次访问服务器,cookie就没有了。
这是因为cookie默认级别是会话级别。如果想让cookie变得更久该怎么办呢?
一、设置Cookie在客户端的持久化时间
cookie.setMaxAge(int seconds); ---时间秒
注意:如果不设置持久化时间,cookie会存储在浏览器的内存中,浏览器关闭 cookie信息销毁(会话级别的cookie),如果设置持久化时间,cookie信息会被持久化到浏览器的磁盘文件里。不同的浏览器的cookie持久化的地方是不一样的。
示例:
cookie.setMaxAge(10*60);
设置cookie信息在浏览器的磁盘文件中存储的时间是10分钟,过期浏览器自动删除该cookie信息
实例:
package com.ken.cookie;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.Cookie;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class SendCookieServlet extends HttpServlet {private static final long serialVersionUID = 1L;protected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {// 1.创建cookie对象Cookie cookie = new Cookie("name", "zhangsan");// 1.1 为cookie设置持久化时间--------cookie信息在硬盘上保存的时间cookie.setMaxAge(50);// 50秒// 2.将cookie中存储的信息发送到客户端----头response.addCookie(cookie);}protected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doGet(request, response);}}首先,我们访问sendCookie这个servlet
我们先关闭浏览器,然后访问静态资源:
cookie的name和value都存在。
过了50秒后,我们访问静态资源:
二、设置Cookie的携带路径
cookie.setPath(String path);
注意:如果不设置携带路径,那么该cookie信息会在访问产生该cookie的web资源所在的路径都携带cookie信息
示例:
cookie.setPath("/WEB16");
代表访问WEB16应用中的任何资源都携带cookie
cookie.setPath("/WEB16/cookieServlet");
代表访问WEB16中的cookieServlet时才携带cookie信息
实例:
package com.ken.cookie;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.Cookie;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class SendCookieServlet extends HttpServlet {private static final long serialVersionUID = 1L;protected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {// 1.创建cookie对象Cookie cookie = new Cookie("name", "zhangsan");// 1.1 为cookie设置持久化时间--------cookie信息在硬盘上保存的时间cookie.setMaxAge(50);// 50秒// 1.2为cookie设置携带的路径cookie.setPath("/cookieDemo/sendCookie");// 访问sendCookie资源时才携带这个cookie// 2.将cookie中存储的信息发送到客户端----头response.addCookie(cookie);}protected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doGet(request, response);}}
先访问sendCookie
再访问静态资源:
再访问sendCookie:
package com.ken.cookie;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.Cookie;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class SendCookieServlet extends HttpServlet {private static final long serialVersionUID = 1L;protected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {// 1.创建cookie对象Cookie cookie = new Cookie("name", "zhangsan");// 1.1 为cookie设置持久化时间--------cookie信息在硬盘上保存的时间cookie.setMaxAge(50);// 50秒// 1.2为cookie设置携带的路径cookie.setPath("/cookieDemo/sendCookie");// 访问sendCookie资源时才携带这个cookie// cookie.setPath("/cookieDemo");// 访问cookieDemo下的任何资源都才携带这个cookie// cookie.setPath("/");// 访问服务器下的任何资源都才携带这个cookie// 2.将cookie中存储的信息发送到客户端----头response.addCookie(cookie);}protected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doGet(request, response);}}
三、删除客户端的cookie:
如果想删除客户端的已经存储的cookie信息,那么就使用同名同路径的持久化时间为0的cookie进行覆盖即可
- 会话技术-cookie的API(十六)
- Servlet第五篇【介绍会话技术、Cookie的API、详解、应用】
- cookie和session会话的技术
- [置顶]会话技术( Cookie ,Session)
- (13)会话和cookie技术
- 会话技术-cookie入门(十五)
- 【cookie/session】会话技术
- 会话技术cookie
- 会话技术之Cookie
- 会话技术(Cookie,Session)
- cookie会话技术
- 会话技术cookie
- Cookie会话技术分析
- 会话技术Cookie&Session
- 会话技术Cookie&Session
- 会话技术Cookie&Session
- 会话技术之COOKIE
- 会话技术 Cookie&Session
- 一个Text,设置不同的颜色,有颜色部分添加点击事件
- js中的DOM编程
- MongoDB 3.4 mongodump 和mongorestore 备份和回复bson数据
- 5、Tensorflow:TensorFlow环境搭建-基于ubuntu16 Python3 tensorflow
- Tensorflow(r1.4)API--tf.nn.max_pool
- 会话技术-cookie的API(十六)
- Spark简介
- 算术逻辑单元之全加器之双重分组跳跃进位链
- 杭电acm P2020绝对值排序
- Windows程序设计:坐标转换
- eclipse如何从官网下载自己想要的版本
- SSH整合
- 【ZJOI2015】诸神眷顾的幻想乡(广义后缀自动机)
- CAXA CAPP工艺图表2018 官方版下载附安装教程