Request原理及其基本功能

request和response的原理

  1. request和response对象是由服务器创建的,我们来使用它;
  2. request对象是来获取请求的,response对象是来设置响应消息的;
  3. request功能:
    例 : GET /test /demo1 / ? name = zhangsan HTTP/ 1.1
    1. 获取请求消息数据
      1. 获取请求行数据
        1. 获取请求方式: GET
          String getMethod()
        2. (重点)获取虚拟目录: /test
          String getContextPath()
        3. 获取servlet路径: /demo1
          String getServletPath()
        4. 获取get方式请求参数: name = zhangsam
          String getQueryString()
        5. (重点)获取请求URI: /test/demo1
          String getRequestURI() (返回结果: /test/demo1)
          StringBuffer getRequestURL() (返回结果: http://localhost/test/demo1)
        6. 获取协议级版本: HTTP/1.1
          String getProtocol()
        7. 获取客户机的IP地址:
          String getRemoteAddr()
      2. 获取请求头数据
        1. String getHeader(String name):通过请求头的名称来获取请求头的值
        2. Enumeration< String > getHeaderNames(): 获取所有请求头的名称
      3. 获取请求体数据
        1. 请求体:只有post请求方式才有请求体,在请求体中封装了post请求的请求参数
        2. 步骤:
          1. 获取流对象
          BufferReader getReader() : 获取字符输入流,只能操作字符数据
          ServletInputStream getInputStream() :获取字节输入流,可以操作所有类型数据
          2. 再从流对象中拿数据
    2. 其他功能:
      1. 获取请求参数通用方式
        1. 【常用】String getParameter(String xxx) : 根据参数名称获取参数值
        2. String[ ] getParameterValues(String xxx) : 根据参数名称获取参数值的数组
        3. Enumeration< String > getParameterNames() : 获取所有请求参数名称
        4. 【常用】Map< String , String[ ] > getParameterMap() : 获取所有参数的map集合

      2. 请求转发:一种在资源内部资源跳转的方式
        1. 步骤
        1. 通过request对象获取请求转发器对象:RequestDispatcher getRequestDispatcher(String path)
        2. 使用RequestDispatcher对象进行转发:forward(ServletRequest request , ServletResponse response)
        2. 特点:
        1. 浏览器地址栏不发生变化
        2. 只能转发到当前服务内部资源中
        3. 转发是一次请求

      3. 共享数据
        (域对象:一个有作用范围的对象,可在作用范围内共享数据)
        1. request域:代表一次请求的范围,一般用于请求转发的多个资源中共享数据
        方法:
        1. setAttribute(String name,Object obj) : 存储数据
        2. Object getAttribute(String name) : 通过键获取值
        3. removeAttribute(String name) : 通过键移除键值对

      4. 获取ServletContext

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值