Cookie

 Cookie:客户端对象

1)什么是Cookie

Cookie是Web服务器保存在用户硬盘上的一段文本。Cookie允许一个Web站点在用户电脑上保存信息并且随后再取回它。

举例来说,一个Web站点可能会为每一个访问者产生一个唯一的ID,然后以Cookie文件的形式保存在每个用户的机器上。

如果用户使用IE浏览器访问Web,那么用户就会看到所有保存在自己硬盘上的Cookie。它们最常存放的地方是C:\Windows\Cookies。Cookie是以"关键字key=值value"的格式来保存记录的。

基本原理:

1.创建Cookie(服务器端创建)

2.设置存储Cookie(存储到响应头中)

3.发送Cookie

4.读取Cookie

客户端第一次发送请求 -->  服务器接收到请求 -->  创建cookie对象 --> 存储到响应头  

--> 以响应的形式发送到客户端  --> 客户端收到响应信息 解析响应信息  保存cookie  

--> 客户端再次发送同类请求的时候会携带cookie信息发送请求  --> 服务器 解析cookie

在关闭浏览器之前, cookie变量便一直是有效的,所以能够保证长时间不掉线

 

2)创建一个Cookie对象

调用Cookie对象的构造函数就可以创建Cookie对象。Cookie对象的构造函数有两个字符串参数:Cookie名字和Cookie值。

例如:

Cookie c = new Cookie("username","john"); 

3)将Cookie对象传送到客户端

在JSP中,如果要将封装好的Cookie对象传送到客户端,可使用Response对象的addCookie()方法。

例如:

response.addCookie(c) 

4)读取保存到客户端的Cookie

使用Request对象的getCookie()方法,执行时将所有客户端传来的Cookie对象以数组的形式排列,如果要取出符合需要的Cookie对象,就需要循环比较数组内每个对象的关键字。

例如:

Cookie[] c = request.getCookies();  if(c != null){for(int i = 0;i < c.length;i++){  if("username".equals(c[i].getName())){  out.println(c[i].getValue());  }}}

修改cookie的值

	public Cookie updateCookie(String cookieName, String newValue, Cookie[] cookie) {if (cookie != null) {for (int i = 0; i < cookie.length; i++) {if ("cookieName".equals(cookie[i].getName())) {cookies[i].setPath("/url");	cookies[i].setValue(newValue);// 将修改后的cookie作为响应返回给客户端response.addCookie(cookies[i]);}}}
}

5)设置Cookie对象的有效时间

调用Cookie对象的setMaxAge()方法便可以设置Cookie对象的有效时间。

例如:

Cookie c = new Cookie("username","john");  c.setMaxAge(3600); 

如何解决Cookie中的中文乱码问题?请写一段程序,在后台servlet中设置cookie,cookie中需要包含中文字符,客户端发送请求后,能够在页面上显示出Cookie中的所有信息

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stub//对中文value值进行编码String value = java.net.URLEncoder.encode("中文","utf-8");Cookie cookie = new Cookie("chinese_code",value);cookie.setPath("/");cookie.setMaxAge(60*60*24*6);response.addCookie(cookie);//解析response.getWriter().write(cookie.getName()+" = "+URLDecoder.decode(cookie.getValue(),"utf-8"));}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/352242.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

cookie设置

各位大佬周末好&#xff0c;又到我们最喜欢的知识交流环节   今天我们一起来看一下cookie设置的相关知识   首先让我们看下什么是cookie。cookie是一个保存在客户机中的简单的文本文件, 这个文件与特定的 Web 文档关联在一起, 保存了该客户机访问这个Web 文档时的信息, 当客…

2018 年一月联考逻辑真题

2018 年一月联考逻辑真题 三、逻辑推理&#xff1a;第 26-55 小题&#xff0c;每小题 2 分&#xff0c;共 60 分。下列每題给出的A.、 B.、C.、D.五个选项中&#xff0c;只有一项是符合试题要求的。请在答题卡上将所选项的字母涂黑。 真题&#xff08;2018-26&#xff09;-翻译…

搜索算法(四) 广度优先搜素算法

一、BFS bfs一层一层地遍历图或树&#xff0c;一般用队列实现&#xff0c;可以计算距离目标的步数。 二、例题 1&#xff09; 力扣https://leetcode.cn/problems/shortest-bridge/ 这道题实际是计算两个岛屿之间的最短距离&#xff0c;可以先用dfs搜索到第一个岛屿并且记录第…

关于万物悦享推广案例

关于万物悦享推广案例 项目介绍 万物悦享是一家改变传统消费模式的公司&#xff0c;致力于让消费者在衣食住行都能把消费变成开心享受的事情。该公司通过消费增值、绿色积分、12倍通证强制出局、卷轴和撸实现这一目标。在通证经济下&#xff0c;消费者可以通过获得通证再赚回…

Python字典及用法详解

Python中的字典&#xff08;Dictionary&#xff09;是一种无序、可变的数据类型&#xff0c;用于存储键&#xff08;Key&#xff09;和值&#xff08;Value&#xff09;之间的映射关系。字典是一种高效的数据结构&#xff0c;可以用于快速查找和检索数据。 1.创建字典 可以使…

人事项目开发记录-登录模块

人事项目开发记录 后端接口实现 后端接口实现 后端权限认证采用Spring Security实现&#xff08;本小节中大量知识点与第10章的内容相关&#xff0c;需要读者熟练掌握第10章的内容&#xff09;&#xff0c;数据库访问使用MyBatis&#xff0c;同时使用Redis实现认证信息缓存。因…

Alertmanager的pod如何添加标签(label)

在Alertmanager.spec.podMetadata字段下添加&#xff0c;如下图&#xff1a;

蘑菇街购物商城

P148-P151 项目创建 项目我用脚手架3创建&#xff1a;vue creat supermall (这个项目名字是supermall)后面配置直接选Babel 运行项目&#xff1a;npm run serve(因为我们观察创建好的项目的初始文件目录&#xff0c;没有config,说明这个使用脚手架3创建的&#xff0c;可以去查…

蘑菇街服务器信息,蘑菇街开放平台

一、授权方式 为保证用户数据的安全性&#xff0c;若您的应用已完成与蘑菇街开放平台对接&#xff0c;需要获取一些与用户紧密相关的信息(如订单、商品、促销等)&#xff0c;需要征得用户的同意&#xff0c;获得用户的授权许可。蘑菇街开放平台采用国际通用的OAuth2.0标准协议&…

仿蘑菇街界面(2)

上一篇博客&#xff0c;博客地址http://blog.csdn.net/itbailei/article/details/38561297把基本的主界面框架已经搭建完毕&#xff0c;我们采用的基本框架为fragment进行页面之间的切换&#xff0c;底部菜单采用的是RadioButton。今天我们来重点来仿照一下第一个底部菜单“爱逛…

仿蘑菇街界面应用(1)

看到郭霖大神仿微信主界面的博客&#xff0c;在佩服大神文笔犀利、讲解详尽、代码风骚之余&#xff0c;也想在上班无所事事时&#xff0c;找点有意思的东西玩玩&#xff0c;蘑菇街作为中国最大女性购物社区&#xff0c;其APP的设计水平也毋庸置疑的&#xff0c;最近博客将连续来…

实现蘑菇街首页效果

打算出一个系列&#xff0c;专治现在市面上各种app的各种滑动不服系列&#xff0c;解决各种滑动冲突问题&#xff0c;现在已经发现了9种样式&#xff0c;打算一个一个一一破解&#xff0c;这是第一篇。 今天给大家带来的是高仿蘑菇街的首页&#xff0c;现在这种页面的格式很流…

设备指纹系列--基础篇

基础概念 618还没开始&#xff0c;但是又好像已经结束了…在这种电商大促的大节日前&#xff0c;电商行业客户一般会提前找到合适的设备指纹产品&#xff0c;去防止被“薅秃”。因为&#xff0c;黑灰产拥有专业的设备牧场&#xff0c;通过使用模拟器、刷机改机等手段&#xff…

仿蘑菇街个人主页

效果图&#xff1a; 看到效果图&#xff0c;第一想到的大致布局是一个scrollview嵌套一个viewpage&#xff0c;viewpage里面有一两个fragment或者写成一个fragment。但是fragment肯定包含两个布局&#xff0c;一个是含有图片(gridview)的listview&#xff0c;另一个布局是只含有…

App竞品分析报告:美丽说VS蘑菇街

1.产品概况 iOS App Store中国区iPhone免费-生活类排名&#xff08;最近3个月&#xff09; 数据来源&#xff1a;ann9.com 蘑菇街排名基本稳定在Top 10至20之间&#xff0c;美丽说在8月下旬后基本游离在Top 30外。 2015年6月活跃用户数比对-iOS端 数据说明&#xff1a;MAU为月…

社会化购物:Pinterest,Fancy还是美丽说,蘑菇街?

转自&#xff1a;网站分析在中国 原文地址&#xff1a;http://www.chinawebanalytics.cn/social-shopping-pinterest-or-fancy/ 【每期一句】越强烈的网络效应&#xff0c;越接近成功。 【前言】这篇文章是应 的邀请所做。很高兴能有机会与几年前一样&#xff0c;分析一个细分行…

仿蘑菇街项目

引言 仿蘑菇街的Vue.js项目是我学习vue.js做的第一个项目&#xff0c;今天来重温一下项目实现的功能&#xff0c;记录一下&#xff0c;方便以后查看。首先需要创建项目&#xff0c;本项目采用cli-3脚手架创建项目&#xff0c;采用默认安装模式&#xff0c;没有安装vue-router和…

高仿蘑菇街欢迎页

####蘑菇街欢迎页 ####高仿效果 这里这里…Demo下载地址 #####前言 本文将介绍如何对蘑菇街欢迎页效果进行分析&#xff0c;拆分&#xff0c;并一步步实现1个高仿版本&#xff0c;最重要的设计思路包括以下2点&#xff1a; 1.ViewPager切换时&#xff0c;通过offset偏移量动…

美丽说蘑菇街首页效果(UITableView和UIScrollerView联动)

作为一名菜鸟iOS开发程序员&#xff0c;第一次写文章&#xff0c;有点小激动&#xff01;进入正题&#xff0c;最近项目中有个需求&#xff0c;类似美丽说蘑菇街首页效果&#xff0c;在网上找了一些资料后自己研究了下终于搞定了&#xff01; 先看效果&#xff1a; 接下来详细…

【Linux】Nginx 优化与防盗链

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 Nginx 优化与防盗链 一、隐藏版本号方法一&#xff1a;修改配置文件方式方法二&#xff1a;修改源码文件&#xff0c;重新编译安装 二、修改用户与组三、缓存时间四、日志切割…