• 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)主要功能

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

  • 相关阅读:
    BAT都来参加的 DevOps Master 培训
    如何快速复制BAT级的DevOps工具链
    DevOps开源工具的三种分类整理
    Devops成功的八大炫酷工具
    阿里CI/CD、DevOps、分层自动化技术
    Android爬坑之旅:软键盘挡住输入框问题的终极解决方式
    Android应用程序窗体View的创建过程
    LeetCode Convert Sorted List to Binary Search Tree
    Spark Streaming性能优化系列-怎样获得和持续使用足够的集群计算资源?
    android nfc中Ndef格式的读写
  • 原文地址:https://www.cnblogs.com/gxlaqj/p/11397107.html
Copyright © 2020-2023  润新知