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

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

  • 相关阅读:
    Solace 简介
    Google BERT摘要
    Difference between java.lang.RuntimeException and java.lang.Exception
    第三方deepvoice3_pytorch安装使用
    通过setup.py安装项目dependencies
    Heroku 教程
    使用谷歌CoLaboratory训练神经网络
    最完整的自动化测试流程:Python编写执行测试用例及定时自动发送最新测试报告邮件
    Jmeter参数化之数据库读取数据
    python之lambda、filter、map、reduce的用法说明(基于python2)
  • 原文地址:https://www.cnblogs.com/gxlaqj/p/11397107.html
Copyright © 2011-2022 走看看