• Http协议


    请求:客户端根据用户地址信息将数据发送给服务器的过程

      响应:服务器将请求的处理结果发送给浏览器的过程

      http协议规范浏览器和服务器的数据交互的格式

      使用键值对精准传输数据

      Content-type控制数据格式

      无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并受到客户的应答后,即断开连接。采用这种方式节省传输时间。

      无状态:http 协议是无状态协议。对事物处理没有记忆能力。缺少状态意味着如果需要处理后续信息,需要重连接

      GET和POST区别

      GET请求数据会把数据显示在url输入框中,所以限制get的数据长度不是http协议,而是输入栏长度

      第一次调用Serlvet时,就会被tomcat加载到内存中,直到下次服务器重启。客户端发起请求时,调用servlet类,tomcat服务器就会去相应的url位置寻找servlet.class

      生命周期--从第一次执行到,服务器关闭

      客户端每发送一次请求,服务器端会创建一个request对象用于存储请求数据(请求头 请求行 请求数据)

    request对象学习

    ​ 作用:request对象封存了当前请求的所有信息

    使用:

    ​ 获取请求头数据

    ​ 获取请求行数据

    ​ 获取用户数据

    ​ request对象由tomcat服务器创建,并由作为实参传递给请求的servlet的service方法

    Response用来响应一个对象

    request对象可以在不同的servlet中流转

    解决了一次请求内的不同Servlet的数据共享问题

    作用域:基于请求转发,一次请求中的所有Servlet共享

    注意:使用Request对象进行数据流转,数据只在一次请求内有效

    特点:服务器创建

    每次请求都会创建

    Cookie学习

    cookie用于保存用数据

    临时存储:存储在浏览器的内存中,浏览器关闭,cookie清除

    定时存储:设置Cookie的有效期在硬盘中存储

    Cookie c=new Cookie(“”);

    同一个用户的多个请求-->数据共享使用session

    Session学习

    问题:

    ​ 一个用户的不同请求处理 的数据共享怎么办?

    原理:

    ​ 用户第一次访问服务器,服务器会创建一个session对象给此用户,并将该session对象的JSESSIONID使用cookie技术存储到浏览器中,用户的其他请求可以获取同一个session对象 ,从而确保了获取到的是同一个session对象;session使用的cookie的标识符是临时的。·

    使用:

    ​ 创建Session对象/获取Session对象


    HttpSession hs=req.getSession();

    ​ 如果请求中拥有session的标识符也就是JSESSIONID,则返回对应的session队形。

    ​ 如果请求中没有session的标识符,则创建新的session对象,并将JSESSIONID存储在cookie中

    Servletcontext学习

    问题

    ​ 解决不同用户共享数据

    特点

    ​ 服务器创建

    ​ 用户共享

    生命周期

    ​ 从服务器启动到关闭

    使用

    ​ 获取ServletContext对象

    ​ 使用ServletContext对象完成数据共享

    Code

    //第一种方式

    ServletContext sc=this.getServletContext ();

    ​ //第二种方式

    ServletContext sc=this.getServletConfig().getServletContext ();

    ​ //第三种

    ServletContext sc=req.getSession().getServletContext();

     

  • 相关阅读:
    ssh-keygen的使用方法(无密码访问)
    ubuntu solute two different terminals cmd
    ubuntu 查看系统是32位还是64位
    pyplot 绘图与可视化
    python 正则表达式的处理
    python&pandas 与mysql 连接
    Ubuntu 11.10 H3C iNode 客户端安装
    Vijos1055(极大子矩阵)
    Vijos1055(极大子矩阵)
    luoguP2701 [USACO5.3]巨大的牛棚Big Barn(极大子矩阵)
  • 原文地址:https://www.cnblogs.com/alex-gc/p/11801137.html
Copyright © 2020-2023  润新知