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的应用: -在电子商务会话中标识用户 -对网站进行定制,比如你经常浏览哪些内容,就展示哪些页面给你 - ...
随机推荐
- JavaScript 之 web API
1.获取元素 document.getElementById('标签的id值'); document.getElementsByTagName('标签名'); document.getElements ...
- UML-用例关联
1.用例关联:就是各个用例之间的关系,分3种关系分别是:包含关系.扩展关系.泛化关系. 2.包含关系 1).示例 2).使用场景 A.用例在其他用例中重复使用 B.用例非常复杂冗长,将其分解为子单元便 ...
- 分块&莫队模板
最裸的莫队:https://www.luogu.org/problemnew/show/P1494 #include<bits/stdc++.h> #define ll long long ...
- Python笔记_第一篇_面向过程_第一部分_3.进制、位运算、编码
通过对内存这一个部分的讲解,对编程会有一个相对深入的认识.数据结构是整个内存的一个重要内容,那么关于数据结构这方面的问题还需要对进制.位运算.编码这三个方面再进行阐述一下.前面说将的数据结构是从逻辑上 ...
- Spring(一)——IOC和DI的简单理解
Spring是一个IOC(DI)和AOP容器框架,并且是开源的. 1.IOC和DI 比较官方的说法: •IOC(Inversion of Control):其思想是反转资源获取的方向. 传统的资源查找 ...
- Java中static变量作用和用法详解
static表示"全局"或者"静态"的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念. 被static ...
- redis(2)
目 录 1内容 3 2 redis集群简介 3 2.1 集群的概念 3 2.1.1 使用redis集群的必要性 3 2.1.2 如何学习redis集群 3 3 redis主从复制 4 3.1 概 ...
- PAT A1133 Splitting A Linked List (25) [链表]
题目 Given a singly linked list, you are supposed to rearrange its elements so that all the negative v ...
- Vus the Cossack and Strings(Codeforces Round #571 (Div. 2))(大佬的位运算实在是太强了!)
C. Vus the Cossack and Strings Vus the Cossack has two binary strings, that is, strings that consist ...
- MySQL--INSERT INTO ... ON DUPLICATE KEY UPDATE ...
转自:https://my.oschina.net/iceman/blog/53735 如果在INSERT语句末尾指定了ON DUPLICATE KEY UPDATE,并且插入行后会导致在一个UNIQ ...