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只能保存字符串

        

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    Why Choose Jetty?
    Jetty 的工作原理以及与 Tomcat 的比较
    Tomcat设计模式
    Servlet 工作原理解析
    Tomcat 系统架构
    spring boot 打包方式 spring boot 整合mybaits REST services
    wireshark udp 序列号 User Datagram Protocol UDP
    Maven 的聚合(多模块)和 Parent 继承
    缓存策略 半自动化就是mybaitis只支持数据库查出的数据映射到pojo类上,而实体到数据库的映射需要自己编写sql语句实现,相较于hibernate这种完全自动化的框架我更喜欢mybatis
    Mybatis解决sql中like通配符模糊匹配 构造方法覆盖 mybits 增删改
  • 原文地址:https://www.cnblogs.com/smallwangmusk/p/9035088.html
Copyright © 2011-2022 走看看