Cookie的基础语法

(建议先了解session的实现原理

1.Cookie怎么生成

session的实现原理中,每一个session对象都会关联一个sessionid,采用name=value的形式,如:

JSESSIONID=123456789abcdef。
  • 以上这个键值对其实就是cookie对象,而对于session关联的cookie来说,这种cookie是被保持在浏览器的运行内存当中
  • 只要浏览器不关闭,用户再次发送请求的时候,会自动将运行内存当中的cookie发送给服务器。
  • 而服务器接收到cookie对象的时候,就是根据其存储的SESSIONID来找到对应的session对象。
  • HTTP协议中规定:任何一个cookie都是name和value组成的,两者都是字符串类型的数据。
  • 浏览器的第一个cookie对象是由服务器端生成并发送到浏览器的

2.Cookie的保持位置

  • cookie最终是保存在浏览器客户端上的

1.可以保存在内存当中(浏览器只要关闭ccokie对象就会消失)
2.可以保存在硬盘文件当中(只要不手动清除会永久保存)

3.Cookie的作用

  1. cookie和session机制都是为了保存会话的状态
  2. cookie是将会话的状态保存在浏览器客户端上(cookie对象存储在浏览器客户端上)
  3. session是将会话的状态保存在服务器端上(session对象存储在服务器上)
  4. cookie和session机制出现的原因是因为HTTP协议是无状态、无连接协议。
  5. cookie机制和session机制严格意义上来说都属于HTTP协议的一部分,不属于编程语言中的机制,只要涉及到http协议,者两种机制都是需要的。
  6. 在HTTP协议中规定:当浏览器向服务器发送请求的时候,会自动携带该path(URL,后面会说)下的cookie数据到服务器。

4.Java中Cookie类的基础方法

  • Java提供了一个Cookie类来专门处理cookie数据:
jakarta.servlet.http.Cookie
  • 创建cookie对象
Cookie cookie=new Cookie(String name,String value);
  • java中将cookie数据发送给浏览器
response.addCookie(Cookie cookie);
  • 用Java设置cookie的有限时间
cookie.setMaxAge(number);  //参数的单位为秒
例:
cookie.setMaxAge(60*30);   //设置cookie将会在半小时后失效

1.当没有设置有效时间时,cookie对象默认保存在浏览器的运行内存当中,浏览器关闭则cookie消失。
2.设置有效时间>0,则此cookie对象一定会保存在硬盘文件当中
3.设置有效时间=0,则表示该cookie对象被删除,主要被用于删除浏览器上的同名cookie
4.设置有效时间<0,表示该cookie对象不会被存储在硬盘文件中(保存在浏览器的运行内存中,与不设置有效时间效果是一样的)
  • 设置Cookie的path
cookie.setPath("/servlet");   
//表示只要是这个servlet项目的请求路径,都会提交这个cookie到服务器
  • 浏览器发送cookie到服务器,服务器的接收方法。
//可能返回null
Cookie[]  cookies=requset.getCookies();
if (cookies!=null){
  for(Cookie cookie : cookies){
     //获取cookie的name
     String name = cookie.getName();
     //获取cookie的value
     String value = cookie.getValue();
     

5.Cookie的path(关联路径)

  • 假设现在发送的请求路径是:
http://localhost:8080/servlet/test/test_01
  • 如果cookie没有设置path,则默认的path为
http://localhost:8080/servlet/test以及其子路径
  • 即只要浏览器的请求路径是http://localhost:8080/servlet/test或者其子路径的话,此cookie都会被发送到服务器
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: C是一种编程语言,也被称为“C语言”。它于1972年由丹尼斯·里奇在贝尔实验室开发,旨在为UNIX操作系统提供编程支持。C语言是一种高级语言,可以用来开发各种类型的应用程序。 C语言的设计目标是具有高效性、可移植性和灵活性。它提供了丰富的操作符和语法结构,使得程序员可以编写高效的代码。C语言具有良好的可移植性,因为它的语法和语义相对简单,并且可以在多个平台上进行编译和运行。C语言还支持底层编程,可以直接访问硬件和内存地址,因此它非常适合开发驱动程序和嵌入式系统。 C语言具有丰富的标准库,其中包含了各种功能模块,如输入输出、字符串处理、内存管理等。这使得开发者可以更快速和方便地编写代码,减少了重复劳动。 C语言被广泛应用于系统软件和应用软件的开发,如操作系统、编译器、数据库、图形界面等。许多流行的编程语言,如C++、Java和Python,都是基于C语言开发的。 总的来说,C语言是一种强大和灵活的编程语言。它的简单语法和丰富的标准库使得开发者能够更加高效地编写代码。因此,C语言在计算机编程领域具有重要地位,并且在各种应用程序开发中被广泛使用。 ### 回答2: c是英文字母表中的第三个字母。它的发音是/si:/或/k/. c也可以代表一些其他的概念。 在数学中,c可以代表光速,即光在真空中传播的速度,大约为每秒300,000公里。光速是许多物理学和天文学中的重要常量,它在相对论中起着关键作用。 在计算机科学中,c是一种编程语言,由贝尔实验室于1972年首次开发。C语言以其高效性和灵活性而闻名,它成为了许多现代编程语言的基础,如C++和Java。许多操作系统和应用程序也是用C语言编写的。 除此之外,在化学中,C是碳元素的化学符号。碳是地球上一种常见的元素,它在生命中起着重要作用,构成了许多有机化合物。 总而言之,c不仅是英文字母表中的一个字母,还代表了光速、C语言和碳元素。它在不同的领域中有着重要的意义和应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值