zoukankan      html  css  js  c++  java
  • Servlet: Cookie技术

    1 基本概念

      <1>Cookie本意为”饼干“的含义,在这里表示客户端以“名-值”形式进行保存的一种技术

      <2>浏览器向服务器发送请求时,服务器将数据以Set-Cookie消息头的方式响应给浏览器,然后浏览器 会将这些数据以文本文件的方式保存起来

      <3>当浏览器再次访问服务器时,会将这些数据以Cookie消息头的方式发送给服务器

     

    2 相关的方法

    <1> 使用javax.servlet.http.Cookie类的构造方法,实现Cookie的创建

    方法声明 功能介绍
    Cookie(String name, String value) 根据参数指定数值构造对象

    <2> 使用javax.servlet.http.HttpServletResponse接口的成员方法,实现Cookie的添加

    方法声明 功能介绍
    void addCookie(Cookie cookie) 添加参数指定的对象到响应

    <3> 使用javax.servlet.http.HttpServletRequest接口的成员方法,实现Cookie对象的获取

    方法声明 功能介绍
    Cookie[] getCookies() 返回此请求中包含的所有Cookie对象

    <4> 使用javax.servlet.http.Cookie类的构造方法,实现Cookie对象中属性的获取和修改

    方法声明 功能介绍
    String getName() 返回此Cookie对象中的名字
    String getValue() 返回此Cookie对象的数值
    void setValue(String newValue) 设置Cookie的数值

    3 Cookie的生命周期

    默认情况下,浏览器会将Cookie信息保存在内存中,只要浏览器关闭,Cookie信息就会消失

    如果希望关闭浏览器后Cookie信息仍有效,可以通过Cookie类的成员方法实现

    方法声明 功能介绍
    int getMaxAge() 返回cookie的最长使用期限(以秒为单位)
    void setMaxAge(int expiry) 设置cookie的最长保留时间(秒)

    4 Cookie的路径问题

    浏览器在访问服务器时,会比较Cookie的路径与请求路径是否匹配,只有匹配的Cookie才会发送 给服务器

    Cookie的默认路径等于添加这个Cookie信息时的组件路径,例如:/项目名/目录/add.do请求添加 了一个Cookie信息,则该Cookie的路径是 /项目名/目录

    访问的请求地址必须符合Cookie的路径, 或者其子路径时,浏览器才会发送Cookie信息

    方法声明 功能介绍
    void setPath(String uri) 设置cookie的路径信息

    5 Cookie的特点

    Cookie技术不适合存储所有数据,程序员只用于存储少量、非敏感信息,原因如下:

      将状态数据保存在浏览器端,不安全

      保存数据量有限制,大约4KB左右

      只能保存字符串信息

      可以通过浏览器设置为禁止使用

  • 相关阅读:
    Python之路第十二天,高级(5)-Python操作Mysql,SqlAlchemy
    Python之路第十二天,高级(4)-Python操作rabbitMQ
    Python之路第十一天,高级(3)-线程池
    day11 消息队列、多线程、多进程、协程
    day10 多进程、多线程(一)
    day09编程之socket
    day08面向对象(二)
    day07面向对象(初级篇)
    day06反射和正则
    day05开发 (字符串格式化和常用模块)
  • 原文地址:https://www.cnblogs.com/JasperZhao/p/15269342.html
Copyright © 2011-2022 走看看