阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

request请求

224次阅读
没有评论

共计 1274 个字符,预计需要花费 4 分钟才能阅读完成。

一、请求响应流程图

request 请求

二、请求响应对象概述

  • 当服务器接收到请求后,服务器会创建 request 和 response 对象,把请求数据封装到 request 对象中;
  • 然后调用 Servlet 的 service() 方法时把这两个对象传递给 service() 方法;
  • 在 service() 方法中可以通过 request 对象获取请求数据,可以使用 response 对象向客户端完成响应;

三、注意事项

每次请求服务器都会创建新的 request 和 response 对象,即每个请求有自己独自的 request 和 response 对象。

四、request 对象的介绍

request 是 Servlet.service() 方法的一个参数,类型为 javax.servlet.http.HttpServletRequest。在客户端发出每个请求时,服务器都会创建一个 request 对象,并把请求数据封装到 request 中,然后在调用 Servlet.service() 方法时传递给 service() 方法,这说明在 service() 方法中可以通过 request 对象来获取请求数据。

五、request 对象的内部结构

request 请求

request 的功能可以分为以下几种:

封装了请求头数据;

封装了请求正文数据,如果是 GET 请求,那么就没有正文;

request 是一个域对象,可以把它当成 Map 来添加获取数据;

request 提供了请求转发和请求包含功能。

六、request 域介绍

request 是域对象!在 JavaWeb 中一共四个域对象,其中 ServletContext 就是域对象,它在整个应用中只创建一个 ServletContext 对象。request 是其中一个,request 可以在一个请求中共享数据

一个请求会创建一个 request 对象,如果在一个请求中经历了多个 Servlet,那么多个 Servlet 就可以使用 request 来共享数据。现在我们还不知道如何在一个请求中经历多个 Servlet,后面在学习请求转发和请求包含后就知道了。

七、request 的域方法:

void setAttribute(String name, Object value)

用来存储一个对象,也可以称之为存储一个域属性,例如:servletContext.setAttribute(“xxx”,“XXX”),在 request 中保存了一个域属性,域属性名称为 xxx,域属性的值为 XXX。请注意,如果多次调用该方法,并且使用相同的 name,那么会覆盖上一次的值,这一特性与 Map 相同;

Object getAttribute(String name)

用来获取 request 中的数据,当前在获取之前需要先去存储才行,例如:

String value = (String)request.getAttribute(“xxx”);,获取名为 xxx 的域属性;

void removeAttribute(String name)

用来移除 request 中的域属性,如果参数 name 指定的域属性不存在,那么本方法什么都不做;

Enumeration getAttributeNames()

获取所有域属性的名称;

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-06-06发表,共计1274字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中