会话层技术cookie的使用

cookie拿下!

package com.atguigu.servlet;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException; @WebServlet(name = "ServletA", urlPatterns = "/ServletA")
public class ServletA extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//servletA演示客户端如何获得cookie对象
//用户第一次发请求,servlet创建Cookie对象
Cookie cookies1 = new Cookie("keya", "valuea");
Cookie cookies2 = new Cookie("keyb", "valueb"); //设置cookies1的存活时间
//cookies1.setMaxAge(0);//0是请求生成后立即删除,下次访问没有这个cookie
//cookies1.setMaxAge(-1);//负值是保存在浏览器中,只要开着,一直有
//cookies1.setMaxAge(30);//正值是保存在浏览器中有时间,若浏览器开着就到期结束,若关闭,再打开没到期的话还有
//但是对于上述三种方法,一旦清楚浏览器缓存,cookie将全部消失 /*设置cookie的提交路径
表示cookies1只能提交给ServletB,就是客户端发请求时,cookies1只能存在访问ServletB的请求中,访问其他的ServletA,
请求中不会有cookies1
*/
cookies1.setPath("/demo06/ServletB"); //将Cookie对象放入响应对象中,响应给客户端
response.addCookie(cookies1);
response.addCookie(cookies2);
} protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request,response);
}
}
package com.atguigu.servlet;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException; @WebServlet(name = "ServletB", urlPatterns = "/ServletB")
public class ServletB extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//servletB演示如何在servelt中获取某个客户端已经携带的cookie
Cookie[] cookies = request.getCookies();//注意获取的时候,一般有多个cookie对象,需要用数组存储
if (cookies != null) {
for (Cookie a : cookies) {
System.out.println("获取到改该客户端携带的cookie名为" + a.getName() + "=" + a.getValue());
}
} } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
}

具体的讲述都在上述代码中。

简单谈一下学习这个cookie技术后,对其的自我理解

  1. 最重要的是理解cookie是什么,其简单来说就是一张身份证,购物卡,学生证等类似的性质。会话就是谈话的过程,会话层技术cookie把会话数据(像购物数据,身份数据,谈话内容都可称为会话内容)保存下来。
  2. 此外,cookie是一个类,他只有一个构造方法,这个构造方法决定了它创建对象时,必须把cookie的名字和值定义好,名字就是你自己给你的学生证起个别名,值就是你学生证的信息,差不多就是这个意思。
  3. 还有一点就是脑海中清楚cookie使用的过程以及为什么要用cookie技术。如果不用cookie技术,用户访问数据无法存储,使用cookie技术,可以让浏览器知道是哪个用户访问我,从而做出响应。浏览器第一次访问没有cookie,服务器会用servlet创建cookie对象,并把它返回给用户,之后再访问,服务器的请求中就有身份证了。ok。
  4. 最后再普及一个知识:浏览器和服务器的区别:
    • 浏览器:简单理解为客户端的一个应用程序即可,它让用户可以使用这个应用程序访问网页中各种内容。
    • 服务器:其是一个机器(主机),包含了硬件设备和软件设备,比如:一台装有tomcat软件的电脑就是一个服务器,tomcat是服务器软件(web服务器),有各种协议。

会话层技术-cookie的更多相关文章

  1. 会话技术cookie和session详解

    什么是会话 会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话. 会话技术解决了什么问题 每个用户与服务器进行交互的过程中,各自会有一 ...

  2. JavaWeb学习笔记五 会话技术Cookie&Session

    什么是会话技术? 例如网站的购物系统,用户将购买的商品信息存储到哪里?因为Http协议是无状态的,也就是说每个客户访问服务器端资源时,服务器并不知道该客户端是谁,所以需要会话技术识别客户端的状态.会话 ...

  3. Node.js_express_浏览器存储技术 Cookie(服务器将少量数据交于浏览器存储管理)

    浏览器存储技术 Cookie 服务器将少量数据交于浏览器存储管理 解决 http 无状态协议的问题(无法区分多次请求是否发送自同一客户端) 一个网页一般最多 20个的 cookie,每个 cookie ...

  4. Servlet 会话技术cookie和session

    会话技术 Cookie技术:会话数据保存在浏览器客户端. Session技术:会话数据保存在服务器端. 一.Cooke技术 1. 特点 Cookie技术:会话数据保存在浏览器客户端. 2 .Cooki ...

  5. 会话技术Cookie

    1.会话技术 1>什么是会话技术: 从打开一个浏览器访问某个站点,到关闭这个浏览器的整个过程,成为一次会话. 2>作用: 会话技术就是记录这次会话中客户端的状态与数据的. Cookie:数 ...

  6. JavaEE之会话技术Cookie&Session

    会话技术简介 存储客户端的状态 由一个问题引出今天的内容,例如网站的购物系统,用户将购买的商品信息存储到哪         里?因为Http协议是无状态的,也就是说每个客户访问服务器端资源时,服务器并 ...

  7. 会话技术cookie与session

    目录 会话技术cookie 会话技术 cookie 服务器怎样把Cookie写 给客户端 服务器如何获取客户端携带的cookie session session简介 Session如何办到在一个ser ...

  8. Java EE会话技术Cookie和Session

    会话技术 一.定义 会话技术是帮助服务器记住客户端状态的(区分客户端的).将客户访问的信息存在本地的叫Cookie技术,存在服务器上的叫Session技术. 注意: 一次会话何时开始?从打开一个浏览器 ...

  9. java ->会话技术Cookie&Session

    会话技术Cookie&Session 会话技术简介 存储客户端的状态 由一个问题引出今天的内容,例如网站的购物系统,用户将购买的商品信息存储到哪里?因为Http协议是无状态的,也就是说每个客户 ...

  10. 简述会话跟踪技术——Cookie和Session

    简述会话跟踪技术--Cookie和Session 本篇文章将会简单介绍Cookie和Session的概念和用法 会话跟踪技术 首先我们需要搞清楚会话和会话跟踪的概念: 会话:用户打开浏览器,访问Web ...

随机推荐

  1. 某宝上搞来的电子书,经典的量化投资书籍,《Advances in Financial Machine Learning》—— 《金融机器学习的进展》、《量化投资与机器学习》、《金融机器学习研究进展》

    英文书名: <Advances in Financial Machine Learning> 经典的量化投资书籍,某宝上6元搞来的电子版:

  2. C# 工厂模式 个人基本流程

    有个前提 本文并不会介绍工厂模式,只是记录在实际当中个人比较喜欢的工厂写法.仅仅作为备忘和参考. 开始流程 定义一个抽象类,包含一些公共的业务逻辑(也可以是接口) /// <summary> ...

  3. Apache SeaTunnel k8s 集群模式 Zeta 引擎部署指南

    SeaTunnel提供了一种运行Zeta引擎(cluster-mode)的方法,可以让Kubernetes在本地运行Zeta引擎,实现更高效的应用程序部署和管理.在本文中,我们将探索SeaTunnel ...

  4. 【CDQ分治】【模板】三维偏序(陌上花开)

    P3810 [模板]三维偏序(陌上花开) - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) #include <bits/stdc++.h> using namespace ...

  5. SMU Summer 2023 Contest Round 7

    SMU Summer 2023 Contest Round 7 A. Two Rival Students 答案不能大于 \(n-1\): 如果竞争对手之间的当前距离小于 \(n - 1\) ,我们总 ...

  6. 开发一个MutatingWebhook

    介绍 Webhook就是一种HTTP回调,用于在某种情况下执行某些动作,Webhook不是K8S独有的,很多场景下都可以进行Webhook,比如在提交完代码后调用一个Webhook自动构建docker ...

  7. portainer安装&升级

    2024年4月15日 关于升级: 如果需要升级 Portainer,请按以下步骤操作: 使用以下命令列出所有镜像: docker ps -a 根据需要删除指定镜像: docker rm <镜像名 ...

  8. springboot踩坑&问题记录

    常见错误 莫名其妙 classes/:na 前往查看.yml 的配置问题 2.驼峰命名 是因为又用了xml配置,又在yml配置文件中用了mybatis的configuration配置,两个冲突了,不是 ...

  9. Make 使用

    GNU Make 参考:Make 命令教程 | 阮一峰的网络日志 Makefile 文件的格式 Makefile 文件由一系列 规则(rules)构成.每条 规则 的形式如下. <target& ...

  10. Redis实战之session共享

    当线上集群时候,会出现session共享问题. 虽然Tomcat提供了session copy的功能,但是缺点比较明显: 1:当Tomcat多的时候,session需要大量同步到多台集群上,占用内网宽 ...