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的应用: -在电子商务会话中标识用户 -对网站进行定制,比如你经常浏览哪些内容,就展示哪些页面给你 - ...
随机推荐
- sys.path.append()加入当前目录为环境变量
当我们导入一个模块时:import xxx,默认情况下python解析器会搜索当前目录.已安装的内置模块和第三方模块,搜索路径存放在sys模块的path中: >>> import ...
- SQL基础教程(第2版)第4章 数据更新:4-2 数据的删除(DELETE)
第4章 数据更新:4-2 数据的删除(DELETE) ● 如果想将整个表全部删除,可以使用DROP TABLE语句,如果只想删除表中全部数据,需使用DELETE语句.● 如果想删除部分数据行,只需在W ...
- 正文内容 python3编码问题
来源:http://www.jb51.net/article/92006.htm 以下是全文: 这两天写了个监测网页的爬虫,作用是跟踪一个网页的变化,但运行了一晚出现了一个问题....希望大家不吝赐教 ...
- 88.QuerySet API使用详解:get_or_create和bulk_create方法
get_or_create 根据某个条件进行查找,如果找到了匹配的数据就会返回这条数据,如果没有找到匹配到的数据,就会创建一个.示例代码如下: from django.http import Http ...
- js正则验证数字的方法
正则验证数字的方法: <script type="text/javascript"> function validate(){ var reg = new RegExp ...
- What is the maximum length of a URL in different browsers?
https://stackoverflow.com/questions/417142/what-is-the-maximum-length-of-a-url-in-different-browsers ...
- tensorflowlite 分类模型从训练到安卓部署
https://blog.csdn.net/qq_33200967/article/details/82773677
- GCC编译和链接多个文件(包括源文件、目标文件、汇编文件等)
编译多个源代码文件会生成多个目标文件,每个目标文件都包含一个源文件的机器码和相关数据的符号表.除非使用-c选项指示 GCC 只编译不链接,否则 GCC 会使用临时文件作为目标文件输出: $ gcc - ...
- 关于富文本字段问题(mysql)
1.表字段字符集建议使用: utf8mb4.utf8mb4_general_ci 2.保险起见spring-boot配置: spring:datasource:connection-init-sqls ...
- 吴裕雄--天生自然TensorFlow高层封装:解决ImportError: cannot import name 'tf_utils'
将原来版本的keras卸载了,再安装2.1.5版本的keras就可以了.