首页 > 其他分享 >会话层技术-cookie

会话层技术-cookie

时间:2024-10-20 11:59:32浏览次数:1  
标签:技术 cookie cookies1 Cookie 会话层 import servlet javax

会话层技术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,cookies1,Cookie,会话层,import,servlet,javax
From: https://www.cnblogs.com/yzhShowTime/p/18487103

相关文章

  • ASP.NET Core中的Cookie与Session管理:构建高效的辅助类
    Cookie和Session不一样,它们在Web开发中扮演着不同的角色,但经常协同工作以维持和管理Web应用的会话状态。以下是它们之间的主要区别和联系,以及相关的Helper工具介绍。Cookie和Session的区别存放位置:Cookie:保存在客户端的浏览器上。Session:保存在服务器端。存放形式:Coo......
  • 逼自己看完!!CSS布局技术之——两列布局
    看完你就又多学了一点了!两列布局样式 CSS3中提供了多列布局的支持,可以将文本内容以多列的形式进行排列。通过设置列数和间距等属性,可以控制列布局的样式。很多网站都有些共同的特点,如页面顶部放置一个大的导航栏或广告条,右侧是链接或图片,左侧放置主要内容,页面底部放置版权......
  • Acwing 338 技术问题
    /*https://www.acwing.com/problem/content/340/给定两个整数a和b,求a和b之间的所有数字中0∼9的出现次数。例如,a=1024,b=1032,则a和b之间共有9个数如下:102410251026102710281029103010311032其中0出现10次,1出现10次,2出现7次,3出现3次等等......
  • 21、【实战中提升自己】内网安全部署之STP的安全技术部署
     0 特别说明       之前博客分享过,但是没汇总到公众号,这里在发布下,虽然早期写的实战文章,有些技术、设备、配置代码现在更新了,但是对于常见的组网思路构建还是很有帮助的,希望对大家有帮助。(觉得有帮助可以点点赞、转发下) 11拓扑        有朋友说拓扑......
  • 20222416 2024-2025-1 《网络与系统攻防技术》实验二实验报告
    1.实验内容1.1内容总结后门:特指潜伏于操作系统中专门做后门的一个程序,“坏人”可以连接这个程序,远程执行各种指令。概念和木马有重叠。netcat:一个底层工具,进行基本的TCPUDP数据收发。常被与其他工具结合使用,起到后门的作用。Meterpreter:一个能生成后门程序的平台,也有很多别......
  • 机器的“眼睛“:计算机视觉技术背后的魔法
    计算机视觉,作为人工智能领域中的一颗璀璨明珠,正逐步改变着我们的生活方式。它赋予了机器“看”的能力,使得计算机能够从图像和视频中提取信息并进行分析,就像人类用眼睛和大脑来理解世界一样。本文将带你走进计算机视觉的世界,揭开这项技术背后的神奇魔法。1.什么是计算机视......
  • 外包干了2个月,技术明显退步
    回望过去,我是一名普通的本科生,于2019年通过校招有幸加入了南京某知名软件公司。那时的我,满怀着对未来的憧憬和热情,投入到了功能测试的岗位中。日复一日,年复一年,转眼间,我已经在这个岗位上度过了接近两年的时光。然而,随着时间的推移,我逐渐发现,这份看似稳定的工作,其实正在悄然吞......
  • 20222403 2024-2025-1 《网络与系统攻防技术》实验二实验报告
    |1.实验内容1.1实践目标(1)使用netcat获取主机操作Shell,cron启动某项任务(任务自定)(2)使用socat获取主机操作Shell,任务计划启动(3)使用MSFmeterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell(4)使用MSFmeterpreter(或其他软件)生成获取目标......
  • 20222413 2024-2025-1 《网络与系统攻防技术》实验二实验报告
    1.实验内容本周学习的主要内容为缓冲区溢出的shellcode技术,及其RNS、NSR、RS三种缓冲区溢出技术。此外,我还学习了在Linux系统和Windows系统中缓冲区溢出的实例和防范方法。在实验过程中,我初步了解并实践实现了后门原理,能够使用工具生成后门入侵控制其他主机。2.实验目标(1)使用......
  • 【Python技术之Django精品教学】第11课--Python Django 迁移
    PythonDjango迁移没有这样的表?-product/models.py中定义的类仅仅是我们的数据库的概念,但它并没有在数据库中创建任何表。我们可以认为类Phone是概念性的模式。在创建任何表之前,如果我们试图访问创建前的表,它将抛出这样的错误。OperationalErrorat/admin/product/phone/......