zoukankan      html  css  js  c++  java
  • 创建servlet程序知识点详解---servlet-day07

     

    情景1:

    京东在买东西的时候,只有结帐的时候才会要求必须登录账户

    #1.状态管理

    ##(1)什么是状态管理?

      将浏览器与web服务器之间多次交互当做一个整体来处理,并且将多次交互所涉及的数据(即状态)保存下来

     

    ##(2)如何进行状态管理

      方式一:将状态保存在客户端(浏览器端)

        cookie技术

      方式二:将状态保存在服务器端

        session技术

    ###(3)cookie技术

    #### 1)什么是cookie?

        服务器临时存放在浏览器端的少量数据

    ### 2)工作原理

      浏览器访问服务器时,服务器会将少量数据以set_cookie消息头的形式发送给浏览器,浏览器将这些数据保存下来;

      当浏览器再次访问服务器,会将之前保存的这些数据以cookie消息头的形式发送给服务器  

     

    ### 3)添加cookie

      cookie c = new cookie(string name,string value);

      注:  name:cookie的名称

        value:cookie的值

      response.addcookie(c);

     

    ### 4)读取cookie

      Cookie[ ] request.getCookie();

      注:

        a.一个Cookie对象封装了一个Cookie的信息(包括了cookie的名称和值)

        string cookie.getName()

        string cookie.getValue()    

        b.有可能返回null

    ### 5)编码问题

      a.什么是编码问题

        cookie只能保存合法的ascii字符,中文需要转换成合法的ascii字符才可以

      b.如何处理?

      String URLEncoder.decode(String str,String charset);

      String URLDecoder.decode(String str,String charset);

      c.建议:

      在添加cookie时,对所有的值都统一使用上述方法来进行处理

    ###6)生存时间

      默认情况下,浏览器会将cookie保存在内存里,

      只要浏览器不关,则cookie会一直存在,可以调用cookie.setMaxAge方法来设置cookie的生存时间

      生存时间:

      setMaxAge(int seconds)

      注:  a.单位是秒

        b.值可以  

          >0 浏览器会将cookie保存在硬盘上,当超过指定的时间,浏览器会将cookie删除

          <0 default 缺省值,即浏览器会将cookie保存在内存里面

          =0 删除cookie

            比如,要删除名称为city的cookie  Cookie c =new Cookie("city","");

            c.setMaxAge(0)

    ### 7)cookie的路径问题

      a.什么是cookie的路径问题

      浏览器在向服务器上的某个地址发送请求时,会比较该地址是否符合cookie的路径的要求,只有符合条件的cookie才会被发送

      b.cookie的默认路径

        cookie的默认路径等于添加该cookie的web组件的路径

      c.匹配规则

        比如,cookie的路径是"/day07/abc"

        如果访问的是/day07/findCookie1.jsp                 no

              /day07/abc/findCookie2.jsp          yes

              /day07/abc/sub/findCookie3.jsp    yes 

        即:  请求路径要么等于cookie的路径,要么cookie路径的子路径,则该cookies会被发送

      d.修改cookie的路径

        cookie.setPath( )

      

    ### 8)cookie的限制

        a.可以被用户禁止

        b.不安全   注: 不要将敏感数据以cookie的方式来保存  

        c.只能保存少量数据  注:大约是4k

        d.cookie的数量也有限制  注:大约几百个

        e.cookie只能保存字符串

        

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    多线程和多进程通信原理
    在树莓派4b上安装 ROS MELODIC 源码安装
    使用Android手机作为树莓派的屏幕
    树莓派桌面设置快捷键
    linux 下使用dd制作启动U盘 安装linux
    manjaro 18.10 install soft
    install slax record
    slax中改变终端字体
    为win10下的linux子系统终端添加powerline
    为ubuntu安装powerline记录
  • 原文地址:https://www.cnblogs.com/smallwangmusk/p/9035088.html
Copyright © 2011-2022 走看看