zoukankan      html  css  js  c++  java
  • Request简介

    Request是代表HTTP请求的对象

    在服务器接收到客户端发送的请求之后,调用Servlet的service方法处理请求之前,服务器会创建处代表请求的request对象(用于封装请求信息),再将request对象(和response对象)传递给service方法,调用service方法来处理请求。

    1.request集成关系

      ServletRequest接口  -  定义了一个Request对象应该具备哪些功能

        |---HttpServletRequest 接口  -  继承了ServletRequest接口,并添加了部分和HTTP协议相关的方法

          |--- xxxx类  request对象

    2.Request的功能

    2.1获取客户端发送的完整url地址
    
    getRequestURL();
    
    
    
    2.2获取客户机的IP地址
    
    getRemoteAddr();
    
    
    
    2.3获取请求方式
    
    getMethod();
    
    
    
    2.4获取当前Web应用的虚拟路径
    
    getContextPath();
    
    
    
    2.5获取请求头
    
    getHeader();

    3.获取请求参数

    getParameter(String name)  根据请求参数的名称返回参数值  String
    getParameterValues()  根据请求参数的名称返回对应的所有参数值组成的数组  String[]
    getParameterMap()  返回所有的参数组成的map集合

    注:
    //如果是POST提交,可以解决中文乱码
    request.setCharacterEncoding("utf-8");
    也可以使用手动编解码解决乱码问题
    String[] a = username.getBytes("iso-8859-1");
    a = new String(a,"utf-8");

    4.请求转发

      4.1.request.getRequestDispatcher("所转发到资源的路径").forward(request,response);

      转发的特点:

        一次请求一次相应

         转发前后的request对象是同一个

        转发前后的地址栏地址不会发生变换

        转发只能是同一个web应用内部的资源跳转,不可一是不同的web应用或者不同的虚拟主机

      注:请求转发作用:

        和request域对象配合使用,将数据带到目的地

      4.2.作为域对象使用

        域对象:如果一个对象具有可以被访问的范围,利用该对象上的map集合,可以再整个范围内实现数据的共享。

      4.3.域对象的三大特征

        (1)生命周期

          一次请求开始时创建request对象

          一次请求结束时销毁request对象

        (2)作用范围

          整个请求连

        (3)主要功能

          和转发配合使用,在整个范围内实现资源的共享

  • 相关阅读:
    Discuz 3.4首次登录论坛没有样式,进入管理后台设置即可
    Discuz论坛安装全过程
    linux安装nginx make&make install报错:make: *** No rule to make target `build‘, needed by `default‘. Sto
    DiscuzX 3.4 R20191201
    Java递归查询某个节点下所有子节点多级信息(递归部门查询,递归树形结构数据查询)
    常用设备默认帐号密码
    打印机安装(deepin v15.11+hp laser jet 1020 plus)
    deepin v15.11新装系统后的个性化设置
    deepin网卡上网相关
    存储相关 HDD硬盘 SSD硬盘
  • 原文地址:https://www.cnblogs.com/gxlaqj/p/11397107.html
Copyright © 2011-2022 走看看