# Request 概述

# request 对象和 response 对象的原理

  1. tomcat 服务器会根据请求 u1 中的资源路径,创建对应的 ServletDemo1 对象
  2. tomcat 服务器,会创建 request 对象和 response 对象,request 对象中封装请求消息数据
  3. tomcat 将 request 和 response 两个对象传递给 service 方法,并调用 service 方法
  4. 程序员可通过 request 对象获取请求消息数锯,通过 response 对象设置响应消息数据
  5. 服务器给浏览器做出响应之前,会从 response 对象中拿程序员设置的响应消息数据

# request 对象继承体积结构

ServletRequest		-- 接口
	| 继承
HttpServletRequest	-- 接口
	| 实现
org.apache.catalina.connector.RequestFacade --(tomcat)

# Request 功能

# 获取请求消息数据通用方法

  1. 根据参数名称获取参数值: String getParameter(String name)
  2. 根据参数名称获取参数值的数组: String[] getParameterNames()
  3. 获取所有请求的参数名称: Enumeration<String> getParameterNames
  4. 获取所有参数的 map 集合: Map<String,String[]> getParameterMap

# 中文乱码问题

在获取参数前,设置 request 的编码: request.setCharacterEncoding("utf-8")

# 请求转发

# 请求转发步骤

  1. 通过 request 对象获取请求转发器对象: RequestDispatcher getRequestDispatcher(String path)
  2. 使用 RequestDispatcher 对象来进行转发: forward(ServletRequest request, ServletResponse response)

# 请求转发特点

  1. 浏览器地址栏路径不发生变化
  2. 只能转发到当地服务器内部资源中
  3. 转发是一次请求

# 共享数据

# 共享数据概述

  1. 域对象:一个有作用范围的对象,可以在范围内共享数据
  2. request 域:代表一次请求的范围,一般用于请求转发的多个资源中共享数据

# 共享数据方法

  1. 存储数据: void setAttribute(String name,Object obj)
  2. 通过键获取值: Object getAttribute(String name)
  3. 通过键移除键值对: void removeAttribute(String name)

# 获取 ServletContext

ServletContext getServletContext() :获取 ServletContext

# BeanUtils 工具类

# JavaBean

标准的 Java 类,用于封装 JavaBean

  1. 要求:
    1. 类必须被 public 修饰
    2. 必须提供空参的构造器
    3. 成员变量必须使用 private 修饰
    4. 提供公共的 setter 和 getter 方法
  2. 功能:简化数据封装

# 概念

成员变量

属性:setter 和 getter 方法截取后的产物

例如:geyUsername () -> Username -> username

# 方法

  1. setProperty(Object,属性名,属性值)
  2. getProperty(Object,属性名)
  3. populate(Object obj, Map map) :将 map 集合的键值对信息,封装到对应的 JavaBean 对象中
更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

Baozi 微信支付

微信支付

Baozi 支付宝

支付宝

Baozi 微信

微信