Servlet的Cookie对象
Cookie的介绍:
Cookie 定义:Cookie 用于浏览器端的数据存储,解决了不同请求之间需要数据共享的问题。例如,可以将用户的登录信息接收并设置为Cookie,对其进行相关操作以使得用户在特定时间内向某服务器发送请求时,无需再次输入这些数据。
Cookie 应用场景:记住密码、特定期限内免登录等。
Cookie 数据存储:Cookie 把指定的数据存储在浏览器端,向服务器发送请求时,自动将该数据添加在请求数据中
临时存储:不设置 cookie 信息的存储时间,一次会话内有效,存储在浏览器内存中
定时存储:设置存储时间,周期为时间的设置,存储在浏览器端本地磁盘中
Cookie的使用:
Cookie 对象的创建:
//new Cookie(键, 值);
Cookie ck = new Cookie("password", "123456");
Cookie 对象有效期的设置:
//值以秒为单位,例:设置有效期为一天
ck.setMaxAge(1*24*3600);
设置请求特定url时将Cookie 对象添加进请求数据中:
//设置cookie的有效路径,值为url端口号之后的内容,即uri
ck.setPath("/sxt/ccc");
Cookie 对象的添加,第一次响应时向浏览器端发送该Cookie 对象:
response.addCookie(ck);
Cookie 对象的获取:
//获取cookie组成的数组
Cookie[] cookies = request.getCookies();
//遍历cookie:由于可能没有cookie,为了防止空指针异常,要进行判断
if (cookies != null) {
for (Cookie cookie : cookies) {
System.out.println(cookie.getName() + ":" + cookie.getValue());
}
}
例:
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 CookieServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Cookie ck = new Cookie("password","123456");
ck.setMaxAge(1*24*3600);
ck.setPath("/cookie/cs");
response.addCookie(ck);
}
}
第一次向该servlet发送请求时,请求数据中没有设置的cookie“password”,而响应数据中出现了设置的cookie“password”:
<ignore_js_op>![]()
由于指定了cookie的uri(即使是无效的uri),所以向指定的uri发送请求时,响应头中没有了cookie,而请求头中出现了cookie;由于制定了一天内有效,所以即使重启浏览器,向该uri发送请求时,请求头中依然有cookie:
<ignore_js_op>![]()
如果要人为清除设置的没到期限的cookie,清除浏览器的历史记录即可
更多技术资讯可关注:itheimaGZ获取
Servlet的Cookie对象的更多相关文章
- Servlet 笔记-Cookie 处理
Cookie 是存储在客户端计算机上的文本文件,并保留了各种跟踪信息. 识别返回用户包括三个步骤: 服务器脚本向浏览器发送一组 Cookie.例如:姓名.年龄或识别号码等. 浏览器将这些信息存储在本地 ...
- 重温Servlet学习笔记--Cookie对象
首先要了解cookie必须得先了解http协议,,Cookie是http协议指定的,先由服务器保存cookie到浏览器,在下次浏览器请求服务器时把上次请求得到的cookie归还给服务器,cookie以 ...
- Cookie对象工具包,对象添加,获取,修改-亲测可用
先来了解下Cookie 和 Session对象的概念吧. 首先,Cookie是客户端缓存技术,大小一般为4kb左右,主要存储一些比较小的信息,常用的例子有用户名和密码,且是不安全的: Session是 ...
- Servlet/JSP-05 Cookie
一. 问题? HTTP协议是一种无状态协议,服务器本身无法识别出哪些请求是同一个浏览器发出的,浏览器的每一次请求都是独立的.现实业务中服务器有时候需要识别来自同一个浏览器的一系列请求,例如购物车,登录 ...
- Servlet 利用Cookie实现一周内不重复登录
import java.io.IOException;import java.io.PrintWriter; import javax.servlet.ServletException;import ...
- javascript中的 cookie对象
Cookie 对象 是一种以文件(Cookie文件)的形式保存在客户端硬盘的Cookies文件夹中的数据信息(Cookie数据).Cookie文件夹中的用户数据信息(Cookie数据).Cookie文 ...
- servlet中cookie的使用
---恢复内容开始--- Cookie是存储在客户端计算机上的文本文件,并保留了它们的各种信息跟踪的目的. Java Servlet透明支持HTTP Cookie. 涉及标识返回用户有三个步骤: 服务 ...
- JavaWeb学习记录总结(二十九)--Servlet\Session\Cookie\Filter实现自动登录和记住密码
一.Servlet package autologin.servlet.login; import java.io.IOException;import java.security.MessageDi ...
- 动手学servlet(四) cookie和session
Cookie cookie是保存在客户端的一个“键值对”,用来存储用户的一些信息 cookie的应用: -在电子商务会话中标识用户 -对网站进行定制,比如你经常浏览哪些内容,就展示哪些页面给你 - ...
随机推荐
- RewriteEngine On
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond ...
- 【每日Scrum】第二天冲刺
一.计划会议内容 确定细化了每日任务 二.任务看板 三.scrum讨论照片 四.产品的状态 无 五.任务燃尽图
- linux-权限管理相关
inux权限管理—基本权限 目录 Linux权限管理—基本权限 一.权限的基本概述 二.权限修改命令chmod 三.基础权限设置案例 四.属主属组修改命令chown Linux权限管理—基本权限 一. ...
- 使用labelImg制作自己的数据集(VOC2007格式)用于Faster-RCNN训练
https://blog.csdn.net/u011956147/article/details/53239325 https://blog.csdn.net/u011574296/article/d ...
- 【系统安装】如何在VMware软件中安装ghost格式的系统
一.安装准备 1.系统虚拟环境软件:VMware软件(下载链接) 2.系统镜像制作软件:UltraISO[软碟通是光盘映像文件制作/编辑/转换工具](下载链接) 3.系统安装辅助软件:Win7PE(下 ...
- h5-边框图片
1.边框图片详解 <style> *{ ; ; } div{ width: 900px; height: 900px; margin: 100px auto; border: 133px ...
- 计蒜客 一维坐标的移动(BFS)
在一个长度为 n 的坐标轴上,蒜头君想从 A 点 移动到 B 点.他的移动规则如下: 向前一步,坐标增加 1. 向后一步,坐标减少 1. 跳跃一步,使得坐标乘 2. 蒜头君不能移动到坐标小于 0 或大 ...
- javaweb学习——会话技术(二)
文中部分借鉴了:https://www.cnblogs.com/xdp-gacl/p/3855702.html https://blog.csdn.net/p744174529/article/det ...
- PAT Advanced 1029 Median (25) [two pointers]
题目 Given an increasing sequence S of N integers, the median is the number at the middle position. Fo ...
- Java之同步方法处理继承Thread类的线程安全问题
/** * 使用同步方法处理继承Thread类的方式中的线程安全问题 * */class Window4 extends Thread { private static int ticket = 10 ...