会话层技术-cookie

news/2024/10/20 12:01:50

会话层技术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中获取某个客户端已经携带的cookieCookie[] 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服务器),有各种协议。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/73770.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

什么是PLC

PLC Programmable Logic Controller,可编程逻辑控制器,一种用于自动化控制系统的数位电子设备。 PLC 运作流程接收输入信号 PLC借由连接各种传感器和开关,接收来自现场的输入信号(温度、压力、流量、开关的数位信号等)。PLC通过这些输入信号来感知现场的工作状态和环境参数…

IDEA代码不想提交了,如何回滚

前言 我们在使用IDEA开发Java应用时,经常是需要用git提交代码的,但是有时候,突然不想修改了,就需要把代码进行回滚,那么我们该如何操作呢? 如何回滚代码 首先,我们点击左侧的commit窗口,然后点击下我们要回滚的文件,鼠标右击下。然后,我们在选项中,点击下【Rollback…

IDEA如何配置自己的maven和maven设置阿里云仓库

前言 我们在使用IDEA开发Java应用时,一般是需要配置maven仓库的,那么我们应该如何配置呢?此外,默认的maven仓库下载速度很慢,我们一般可以配置阿里云或者华为云仓库,这个又应该怎么配置呢? 如何配置maven及配置阿里云仓库 首先,我们打开设置面板。然后,我们点击【Buil…

2024-2025-1 20241327 《计算机基础与程序设计》第四周学习总结

作业信息 |2024-2025-1-计算机基础与程序设计)| |-- |- |2024-2025-1计算机基础与程序设计第四周作业)| |快速浏览一遍教材计算机科学概论(第七版),课本每章提出至少一个自己不懂的或最想解决的问题并在期末回答这些问题 |作业正文|https://www.cnblogs.com/shr060414/p/18…

2024-2025学年 20241306学号 《计算机基础与程序设计》第四周学习总结

学期2024-2025 学号20241306 《计算机基础与程序设计》第四周学习总结 作业信息这个作业属于哪个课程 2024-2025-1-计算机基础与程序设计(https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP))这个作业要求在哪里 [2024-2025-1计算机基础与程序设计第一周作业(https://ed…

iOS开发框架--MyLayout

MyLayout 框架不仅支持 Objective-C,也可以在 Swift 中使用。通过 MyLayout,可以使用面向对象的方式来创建和管理视图的布局,简化了 Auto Layout 中繁琐的约束设置流程。在 Objective-C 中,MyLayout 提供了相同的布局类型和属性,使用方式稍有不同,主要是语法和调用方式上…

HCBOLL指标

HCBOLL也称弘缠布林,是在传统布林线的基础上,加上了开口与收口的计算,用来表示可能的单边与震荡走势状态 操作上比较适合于日线以下周期如 1分钟 5分钟 30分钟--一般是推荐30分钟使用此指标时要注意主图上的K线数要多于480根,否则显示不了指标数据布林上下线间的灰色底色代…