Servlet-Cookie的使用与删除
发布日期:2021-06-30 18:40:53
浏览次数:4
分类:技术文章
本文共 2545 字,大约阅读时间需要 8 分钟。
1、Cookie的使用
/** * @author CSDN_LQR * @TODO * * 一、 Cookie默认是会话级Cookie,即当浏览器关闭时自动删除 * * 二、可以使用maxAge来改变Cookie的存活时间 * * 1、负值:cookie的数据存在浏览器缓存中(默认是-1),当浏览器关闭即删除 * * 2、0:cookie马上删除(浏览器都不用关闭)。路径要保持一致,否则可能删错。 * * 3、正值:缓存的时间(持久化到磁盘上),是指关闭浏览器后该cookie的存活时间 * * 三、path的默认值是Cookie的那个程序 的访问路径 * * 1、比如:http://localhost:8080/cookieDemo/servlet/demo1 写的Cookie * * path就是:/cookieDemo/servlet/ 看当前创建cookie的资源(servlet)文件路径 * * 2、浏览器在访问服务器另外资源时,根据访问的路径来决定 是否带着Cookie到服务器 * * 3、当前访问的路径如果是以cookie的path开关的路径,浏览器就带,否则不带 * * 如果另一个servlet的访问路径是http://localhost:8080/cookieDemo/demo2,path是/ * cookieDemo/而不是/cookieDemo/servlet/,所以不会携带cookie * */public class CookieDemo1 extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); // 遍历所有的cookies,得到指定的cookies并显示到网页 Cookie[] cookies = request.getCookies(); for (int i = 0; cookies != null && i < cookies.length; i++) { if ("lastAcceptTime".equals(cookies[i].getName())) { long time = Long.parseLong(cookies[i].getValue()); out.write("您上次的访问时间是:" + new Date(time).toLocaleString()); } } // 将当前的时间保存到cookie中 Cookie ck = new Cookie("lastAcceptTime", System.currentTimeMillis() + ""); // 设置cookie的存活时间,单位:秒 ck.setMaxAge(10); // ck.setPath(request.getContextPath());// /应用名 ck.setPath("/");// 与上面的效果一致,让所有访问地址以path开头的servlet共享该cookie,即这种情况浏览器都携带 response.addCookie(ck); // 删除cookie out.print("clear"); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); }}
2、Cookie的删除
/** * @author CSDN_LQR * @TODO 删除Cookie * * 只是删除cookie本地文件,浏览器缓存中还是有的(需要关闭浏览器) * */public class CookieDemo2 extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Cookie ck = new Cookie("lastAcceptTime", ""); ck.setPath("/");// 路径一定要正确,否则可能会删错对象 ck.setMaxAge(0); response.addCookie(ck); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); }}
转载地址:https://linqiarui.blog.csdn.net/article/details/52831284 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
感谢大佬
[***.8.128.20]2024年05月04日 07时28分29秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Conditional GAN (CGAN) 条件生成网络
2019-04-30
强化学习(三) —— Policy Gradient 策略梯度
2019-04-30
docker安装oracle(win10)
2019-04-30
Cloudera Quickstart & HUE
2019-04-30
HUE
2019-04-30
CDH
2019-04-30
行为树 BT
2019-04-30
Cassandra & CQL
2019-04-30
Oracle数据库
2019-04-30
Oracle数据库命令
2019-04-30
plsql
2019-04-30
有限状态机FSM
2019-04-30
Win10 Docker
2019-04-30
Python绘制动画并保存为gif/mp4 (matplotlib)
2019-04-30
PRM概率路线图
2019-04-30
ROS(六)——订阅者Subscriber的编程实现(C++ & Python)
2019-04-30
ROS(七)——话题消息的定义与使用
2019-04-30
yolov3入门实战
2019-04-30
B树 & B+树
2019-04-30
Node-Red(一)——简介与安装
2019-04-30