【JavaWeb】11-Cookie技术的使用

【嵌入式底层知识修炼】按键和LED共用IO口的分时复用扫描方法 文章目录01 - PCB原理图例程02 - 分时复用的注意项和设计2.1 - 注意项2.2 - 设计03 - 代码实现 只要我跑的速度够快,寂寞就追不上我 只要Key和Led切换速度够快,人眼就看不出来 ————小白   如果你存在按键Key和显示Led共用同一个IO时,需要分时复用的需求,则可以移植代码进行使用: 代码所占code少于0.5K 线程安全,中断安全 可移植性高,配置容易 注意:系统需要存在一个至少为1ms的时钟中断 01 - PCB原理图例程   举2个Key和Led共用IO口的 阅读详情

cookie技术的最长使用实例就是记住我的功能

学习前注意几点:

  1. 默认情况下,cookie的存活时间为一次会话(不是0秒),当浏览器关闭时,cookie会清除
  2. session中的数据保存在服务器,cookie中的数据保存在浏览器
  3. cookie会以文件的形式保存在磁盘,浏览器中也可以随时查看到,不安全
  4. 建议cookie中保存的数据加密
  5. 服务器获取浏览器的cookie,只能是本服务器生成的cookie,不能获取到其他服务器的cookie

cookie的相关方法:

  1. 创建cookie
Cookie cookie = new Cookie(name, value);
  1. 设置cookie的存活时间
cookie.setMaxAge(n秒);
  1. 将cookie保存到浏览器
response.addCookie(cookie);
  1. 获取浏览器中的所有cookie
Cookie[] cookies = request.getCookies();

实例:通过复选框实现记住我

//得到表单提交的数据
String rememberMe = request.getParameter("rememberMe");

//实现记住我业务
if ("1".equals(rememberMe)) {
	// 创建三个cookie
	Cookie usernameCookie = new Cookie("username", username);
	Cookie passwordCookie = new Cookie("password", password);
	Cookie rememberMeCookie = new Cookie("rememberMe", rememberMe);
	
	// 设置存活时间7天,单位:秒。
	usernameCookie.setMaxAge(60 * 60 * 24 * 7);
	passwordCookie.setMaxAge(60 * 60 * 24 * 7);
	rememberMeCookie.setMaxAge(60 * 60 * 24 * 7);
	
	// 写到浏览器
	response.addCookie(usernameCookie);
	response.addCookie(passwordCookie);
	response.addCookie(rememberMeCookie);
} else {
	// 创建三个name相同的cookie,设置null即清空
	Cookie usernameCookie = new Cookie("username", null);
	Cookie passwordCookie = new Cookie("password", null);
	Cookie rememberMeCookie = new Cookie("rememberMe", null);
	// 将三个cookie的存活时间设置为0
	usernameCookie.setMaxAge(0);
	passwordCookie.setMaxAge(0);
	rememberMeCookie.setMaxAge(0);
	// 写到客户端,会覆盖之前同名的cookie
	response.addCookie(usernameCookie);
	response.addCookie(passwordCookie);
	response.addCookie(rememberMeCookie);
}

//在login的界面
String username = "";
String password = "";
String rememberMe = null;
Cookie[] cookies = request.getCookies();
for (Cookie cookie : cookies) {
	if (cookie.getName().equals("username")) {
		username = cookie.getValue();
	}
	if (cookie.getName().equals("password")) {
		password = cookie.getValue();
	}
	if (cookie.getName().equals("rememberMe")) {
		rememberMe = cookie.getValue();
	}
}

再将得到的值放入表单的value属性中

cookie技术的补充:

通常我们做类似于博客系统的软件,会在首页设置很多个性化的设置,建多个cookie不合理,这是我们选择使用alibaba的fastjson去将我们的设置对象转成json

LoginCookie loginCookieObject = new LoginCookie(username, password, Integer.valueOf(rememberMe));

String loginCookieJson = JSON.toJSONString(loginCookieObject);
注意:此时不可直接保存,因为cookie协议中不允许包含"符号
 RFC6265 Cookie values may not contain character: ["]

我们需要采用编码:

String loginCookieEncode = URLEncoder.encode(loginCookieJson, "utf-8");

创建cookie

Cookie loginCookie = new Cookie("loginCookie", loginCookieEncode);
//设置生命周期
loginCookie.setMaxAge(60 * 60 * 24 * 7);
//写到浏览器
response.addCookie(loginCookie);

得到cookie

<%
	LoginCookie loginCookie = new LoginCookie("", "", 0);
	Cookie[] cookies = request.getCookies();
	for (Cookie cookie : cookies) {
		if (cookie.getName().equals("loginCookie")) {
		//解码,json转Object
			loginCookie = JSON.parseObject((URLDecoder.decode(cookie.getValue(), "utf-8")), LoginCookie.class);
		}
	}
%>
从理论到实践:利用FilterSolutions高效设计7阶椭圆低通滤波器 本文详细介绍了如何利用FilterSolutions软件高效设计7阶椭圆低通滤波器。文章从理论入手,对比了巴特沃斯、切比雪夫等经典滤波器特性,阐述了在要求高衰减陡度(如62dB抑制)和严格通带波纹(0.2dB)时,椭圆滤波器是最优选择。通过分步实战教程,指导读者完成从软件参数设置、性能验证到实际电路布局与调试的全过程,助力射频与高速数字信号处理工程师将理论转化为可靠设计。 阅读详情

相关推荐

BitLocker磁盘锁定解决方法

摘要:本文介绍了BitLocker加密磁盘被锁的两种情况及解决方法。对于系统盘锁定,建议在微软账户中查找48位恢复密钥;数据盘锁定可尝试密码或恢复密钥解锁。若密钥丢失,可通过IT支持或数据恢复服务尝试解决。预防措施包括妥善备份密钥到微软账户和离线位置,避免随意更改系统硬件配置。BitLocker安全性高,恢复密钥是解锁关键,提醒用户务必做好备份以防数据丢失。(148字)

yueke06442300的专栏 2670

java 写入cookie_Java设置domain后,写入cookie失败问题

Java后台写入cookie时,浏览器cookie视图显示为空,仔细查看后台设置参数都是正确的,于是猜测可能是跨域的问题,尝试在请求中加入跨域参数,写入成功。首先解释两个字段:1、xhrFieldsObject类型1.5.1 新增一个具有多个"字段名称-字段值"对的对象,用于对本地XHR对象进行设置。一对「文件名-文件值」在本机设置XHR对象。例如,如果需要,你可以用它来为跨域请求设置XHR对象的...

weixin_29807507的博客 1463

RT-2(robotics-transformer2)论文--阅读笔记

谷歌RT-2机器人论文的阅读笔记。

weixin_61255639的博客 1825

Cookie中包含空格(特殊字符)的解决方案

Cookie中包含空格可能会出现空格之后的数据丢失的情况。 解决办法:使用URLEncoder.encode()对cookie进行编码,再使用URLDecoder.decode()进行解码 Response: StringBuilder cookie = new StringBuilder(); for (BasicNameValuePair basicNameValuePa...

futao__的博客 9947

手机拍照也能玩高光谱?教你用TensorFlow Lite在Android上实现实时RGB转高光谱

本文介绍了如何利用TensorFlow Lite在Android设备上实现实时RGB到高光谱的图像重构技术。通过深度学习模型优化和移动端部署策略,使智能手机具备专业级光谱分析能力,适用于农业检测、化妆品分析等多个领域。

weixin_29091105的博客 244

YOLOv8中的C2f模块代码详解

在YOLOv8网络结构中,C2f模块(CSP Bottleneck with 2 Convolutions)是一个关键组件,用于实现跨阶段部分聚合

zzzyyy8的博客 3万+

http协议之cookie标准RFC6265介绍

cookie是现代web系统开发中非常重要的一个技术,最近对cookie标准RFC6265进行了了解,从中选取了部分内容。 1.cookie的主要作用 因为HTTP协议是无状态的,对于一个浏览器发出的多次请求,WEB服务器无法区分是不是来源于同一个浏览器。所以,需要额外的数据用于维护会话。 Cookie 正是这样的一段随HTTP请求一起被传递的额外数据。 2.cookie的主要作用...

dly41721的博客 564

【DaVinci Developer实战指南】从入门到精通:软件组件设计与配置全解析

本文详细解析了DaVinci Developer在汽车电子开发中的核心应用,从软件组件设计到配置实战,涵盖Application SWC创建、RunnableEntity设计及Exclusive Area配置等关键环节。通过实际案例分享,帮助开发者快速掌握AUTOSAR架构下的ECU软件开发技巧,提升工作效率与系统稳定性。

weixin_30952535的博客 247

RFC6265 Cookie values characters restricted to US-ASCII: 0x5468

Cookie中存储中文异常 今天存储cookie用户名称时发生异常 临床表现:RFC6265 Cookie values characters restricted to US-ASCII: 0x5468 Cookie默认支持的编码方式是ASCII码 治疗手段: 1.创建cookie Cookie cookie = new Cookie(name,URLEncoder.encode...

Java_HuiLong的博客 1068

AI 辅助编程全景:演进、提效场景与未来趋势

本文系统梳理了AI辅助编程的发展历程与应用场景。演进路径分为三代:从代码补全工具(2023)、对话式助手(2024)到自主编程代理(2025)。在软件全生命周期中,AI可显著提升各环节效率:需求分析阶段节省30-60%文档编写时间;设计阶段缩短40-60%技术调研周期;编码阶段通过智能补全提升55%任务速度;测试阶段减少30-60%测试编写时间。数据显示,2025年84%开发者使用AI工具,41%代码由AI生成,平均每周节省3.6小时。AI正推动开发者角色从编写者转变为审核者,但复杂业务逻辑和架构设计仍需人

甘蓝的专栏 472

数据科学技术与应用【中国大学MOOC】:数据可视化_第五次作业_答案

数据科学技术与应用 数据可视化 第五次作业 答案 题目来源:中国大学MOOC-东华大学-宋晖等-数据科学技术与应用 1 ( 30分 ) 2012—2017年我国人均可支配收入为[1.47, 1.62, 1.78, 1.94, 2.38, 2.60](单位:万元)。按照要求绘制以下图形。 1)模仿例4-1和例4-3,绘制人均可支配收入折线图。用小矩形标记数据点,黑色虚线,用注解标注最高点,图标题为“Income chart”,设置坐标轴标题,最后将图形保存为JPG文件。 2)模仿例4-2,使用多个子图分别绘制

Herbert胡不归 6140

Cookie和Session实现记住我的功能

Cookie和Session都是用来保存用户的一些信息的,但是由于Cookie保存在浏览器中,所以相对不安全,后来就出现了Session,Session呢是保存在服务器端的,所以相对安全,在Cookie中有一个SESSIONID,用来唯一的对应服务器端的一个Session,Cookie的默认有效时间是-1,也就是当浏览器关闭的时候,Cookie就会失效了,当再次打开浏览器访问服务器的时候,服务器会...

1984

卡尔曼滤波器中的Q,R

对于系统状态的估计(滤波结果)所使用的信息来源于两个方面,一个是对系统状态演变模型的了解,包括系统转移矩阵和输入控制矩阵,输入孔质量等,另一方面来自于对系统状态的观测量。从上面公式来看,真正所要滤波得到的结果来自于公式(4)中的系统状态估计值x的某些分量,公式(4)的结果是由公式(1)所得到的状态预测值和来自观测量y计算得到的。所以,在不同算法中,R, Q的取值根据反应的不同量纲,可以有很大的变化,但它们的比值会决定了滤波值应该更多来自于系统模型演化的信息,还是来自于观察信号信息。

qq_43416206的博客 499

JavaWEB12:会话技术——Cookie、Session

JavaWEB01:MySQL基础——数据库相关概念、MySQL安装和配置、基本的SQL语句 JavaWEB02:MySQL高级——约束、数据库设计、多表查询、事务 JavaWEB03:JDBC JavaWEB04:Maven JavaWEB05:Mybatis JavaWEB06:Mybatis综合练习 JavaWEB07:HTML、CSS JavaWEB08:JavaScript JavaWEB09:HTTP、Tomcat、Servlet JavaWEB10:Request、Response JavaW

XXXZhy丶Blog 724

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Java Web 11.2 Cookie 11.2.1 Cookie 的基本使用

Java Web 11.2 Cookie 11.2.1 Cookie 的基本使用

代码改变世界 277

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

JavaWeb(11.会话技术)

对于会话跟踪这四个词,我们需要拆开来进行解释,首先要理解什么是会话,然后再去理解什么是会话跟踪会话:用户打开浏览器,访问web服务器的资源,会话建立,直到有一方断开连接,会话结束。在一次会话中可以包含多次请求和响应。从浏览器发出请求到服务端响应数据给前端之后,一次会话(在浏览器和服务器之间)就被建立了会话被建立后,如果浏览器或服务端都没有被关闭,则会话就会持续建立着浏览器和服务器就可以继续使用该会话进行请求发送和响应,上述的整个过程就被称之为会话。

大小曲奇的博客 982

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

JavaWeb核心技术与简单使用

JavaWeb 文章目录JavaWebXMLXML简介XML语法文档声明元素(标签)xml属性语法规则dom4j解析技术dom4j编程步骤遍历标签获取标签中的内容添加标签将标签添加到末尾在指定位置添加标签删除标签ServletServlet技术Servlet简介Servlet的生命周期GET和POST请求的分发处理实现Servlet程序ServletConfig类简介ServletConfig类的...

qq_44002865的博客 3525

Java Web 11.2 Cookie 11.2.3 Cookie 的使用细节

Java Web 11.2 Cookie 11.2.3 Cookie 的使用细节

代码改变世界 554

【JavaWeb学习】11会话跟踪技术(Cookie&Session)

JavaWeb(B站黑马)学习笔记 11会话跟踪技术(Cookie&Session)

weixin_48074431的博客 693

JavaWeb之cookie缓存技术

web应用的会话技术:打开浏览器并访问网站,请求多个资源,关闭浏览器的过程。 在这个过程中,缓存用户数据常用的有两种技术: 1.cookie技术:用于在浏览器端,缓存用户的数据,可以理解为数据缓存在用户本地 2.session技术:用于在服务端,缓存用户的数据,可以理解为数据缓存在服务器。 cookie技术: 1.服务器需要缓存数据,将数据发给浏览器,浏览器对缓存数据进行存储;当浏览器再

HYM BLOG 2686

JavaWeb快速入门-Cookie与Session

会话技术:一次会话中包含多次请求和响应。* 一次会话:浏览器第一次给服务器资源发送请求,会话建立,直到有一方断开为止 功能:在一次会话的范围内的多次请求间,共享数据

龙源IT 的博客 827

JavaWeb基础专项复习4——会话对象Session and Cookie

Cookie翻译成中文是小甜点,小饼干的意思。在HTTP中它表示服务器送给客户端浏览器的小甜点。其实Cookie就是一个键和一个值构成的,随着服务器端的响应发送给客户端浏览器。然后客户端浏览器会把Cookie保存起来,当下一次再访问服务器时把Cookie再发送给服务器。session也是域对象之一,它的范围是在一个会话范围内有效。session既然是域对象,那么当然就要有()和()系列方法了。在一个会话内共享一个session对象,所以session中可以保存一个会话内的数据。

2301_78566776的博客 1052

web后端(javaWeb)

文章目录 javaweb是什么?可以做什么? Java web ,是用Java技术来解决相关web互联网领域的技术的总称。web包括web服务器和web客户端两部分。从事Java web开发需要掌握以下技术: 基于页面的前端技术,如:HTML、CSS、JavaScript、JQuery; 动态语言技术,如:Java、JSP; 数据库技术,如:Oracle、MySQL、Sql Server; 工具与组件,如:服务器、SSM、SSH框架等。 javaweb的应用范围 1.开发网站(如淘宝,京东等大型网站) 2.

客官不爱喝酒的博客 4610

【JavaWeb】Cookie与Session —— 状态管理技术

Cookie与Session技术摘要(150字) Cookie和Session是Web开发中常用的状态管理技术。Cookie由服务器创建并存储在客户端,通过Set-Cookie响应头发送,浏览器后续请求自动携带。可设置maxAge控制生命周期、path限定访问路径、domain实现跨二级域名共享。Session则存储在服务器端,安全性更高,依赖Cookie传递JSESSIONID标识会话。Session作为域对象,作用范围为一次会话,可存储任意类型数据。典型应用如"记住用户名"功能,通过Cookie持久化用

记录学习点滴,分享实战干货,一起奔赴技术之路 568

JavaWeb——Cookie入门

1.会话跟踪 什么是会话呢?从用户进入一个网站浏览开始,到关闭浏览器为止称为一次会话。 会话包含以下意思: 会话是一段时间,这段时间默认从打开浏览器开始到关闭浏览器为止。 一次会话可以包含多次请求与响应。 而Web应用程序是使用HTTP协议传输数据的。HTTP协议是无状态的协议。一旦数据交换完毕,客户端与服务器端的连接就会关闭,再次交换数据需要建立新的连接。这就意味着服务器无法从连接上跟踪会话。即用户A购买了一件商品放入购物车内,当再次购买商品时服务器已经无法判断该购买行为是属于用户A的会话还是用户B的

威威的博客 1644

JavaWeb学习打卡11(cookie(甜点)详解)

用户打开一个浏览器,点击了很多超链接,访问多个web资源,关闭浏览器,这个过程可以称之为会话。一个学生来过教室,下次再来教室,我们会知道这个同学,曽经来过,称之为有状态的会话。客户端 服务端。

2301_80044465的博客 715
上一篇: 【JavaWeb】10-jsp的动作标签
下一篇: 【JavaWeb】04tomcat入门介绍
JeffHan^_^
博客等级 码龄7年 1万+粉丝 134原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JeffHan^_^

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值