JavaWeb_Cookie

会话和会话状态

WEB应用中的会话是指一个客户端浏览器与WEB服务器之间连续发生的一系列请求和响应过程。

WEB应用的会话状态是指WEB服务器与浏览器在会话过程中产生的状态信息,借助会话状态,WEB服务器能够把属于同一会话中的一系列的请求和响应过程关联起来。

如何实现有状态的会话:

需要浏览器对其发送出每个请求消息都进行标识(并且附带标识号称之为会话ID(SessionID)

 

Cookie机制

  • cookie机制采用的是在客户端保持HTTP状态信息的方案
  • Cookie是在浏览器访问WEB服务器的某个资源时,由WEB服务器在HTTP响应消息头中附带传送给浏览器的一个小文本文件。
  • 一旦WEB浏览器保存了某个Cookie,那么他在以后每次访问该WEB服务器时,都会在HTTP请求头中将这个Cookie回传给WEB服务器。
  • 底层实现原理:WEB服务器通过在HTTP响应消息中增加Set-Cookie响应投资段将Cookie信息发送给浏览器,浏览器则通过在HTTP请求消息中增加Cookie请求头字段将Cookie回传给WEB服务器。 

在Servlet程序中使用Cookie

  • Servlet API中提供了一个javax.servlet.http.Cookie类来封装Cookie信息,它包含有生成Cookie信息和提取Cookie信息的各个属性的方法。
  • Cookie类的方法:
    •   构造方法:public Cookie (String name,String value)
    •        getName()方法
    •        setValue()与getValue()方法
    •        setMaxAge与getMaxAge方法
    •        setPath与getPath方法
  • HttpServletResponse接口中定义了一个addCookie方法,它用于在发送给浏览器的HTTP响应消息中增加一个Set-Cookie响应头字段
  • HttpServletResponse接口中定义了一个getCookie方法,它用于从HTTP请求消息的Cookie请求头字段中读取所有的Cookie项。

 

    <%
        //在JavaWeb规范中使用Cookie类代表Cookie

        //1.创建一个Cookie对象
        Cookie cookie = new Cookie("yang","yhs");
        //2.调用response的一个方法把Cookie传给客户端
        response.addCookie(cookie);

    %>

 

  

 <%

        //1.获取Cookie
        Cookie [] cookies = request.getCookies();
        response.setContentType("charset=UTF-8");
        if (cookies!=null&&cookies.length>0){
            for (Cookie cookie : cookies){
                out.print(cookie.getName() + ":" + cookie.getValue());
                out.print("<br>");
            }
        }else{
            out.print("没有一个Cookie,正在创建并返回");
            //在JavaWeb规范中使用Cookie类代表Cookie

            //1.创建一个Cookie对象
            Cookie cookie = new Cookie("yang","yhs");
            //2.调用response的一个方法把Cookie传给客户端
            response.addCookie(cookie);

        }
    %>

  

 

 Cookie的发送

1.创建Cookie对象

2.设置最大时效

3.将Cookie放入到HTTP响应报头

  •  如果创建一个Cookie,并将他发送到浏览器,默认情况下它是一个会话级别的cookie,存储在浏览器的内存中,用户退出浏览器之后被删除。若希望浏览器将该cookie存储在磁盘上,则需奥使用maxAge,并给出一个以秒为单位的时间。将最大时效设为0则是命令浏览器删除该cookie。 

setMaxAge:设置Cookie的最大时效,以秒为单位,若为0,表示立即删除该Cookie

若为负数,表示不存储该Cookie,若为正数,表示该Cookie的存储时间。

转载于:https://www.cnblogs.com/yangHS/p/11151683.html

标题基于Python的自主学习系统后端设计与实现AI更换标题第1章引言介绍自主学习系统的研究背景、意义、现状以及本文的研究方法和创新点。1.1研究背景与意义阐述自主学习系统在教育技术领域的重要性和应用价。1.2国内外研究现状分析国内外在自主学习系统后端技术方面的研究进展。1.3研究方法与创新点概述本文采用Python技术栈的设计方法和系统创新点。第2章相关理论与技术总结自主学习系统后端开发的相关理论和技术基础。2.1自主学习系统理论阐述自主学习系统的定义、特征和理论基础。2.2Python后端技术栈介绍DjangoFlask等Python后端框架及其适用场景。2.3数据库技术讨论关系型和非关系型数据库在系统中的应用方案。第3章系统设计与实现详细介绍自主学习系统后端的设计方案和实现过程。3.1系统架构设计提出基于微服务的系统架构设计方案。3.2核心模块设计详细说明用户管理、学习资源管理、进度跟踪等核心模块设计。3.3关键技术实现阐述个性化推荐算法、学习行为分析等关键技术的实现。第4章系统测试与评估对系统进行功能测试和性能评估。4.1测试环境与方法介绍测试环境配置和采用的测试方法。4.2功能测试结果展示各功能模块的测试结果和问题修复情况。4.3性能评估分析分析系统在高并发等场景下的性能表现。第5章结论与展望总结研究成果并提出未来改进方向。5.1研究结论概括系统设计的主要成果和技术创新。5.2未来展望指出系统局限性并提出后续优化方向。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值