【JavaEE】3.HttpServletRequest

目录

1 HttpServletRequest作用

2.通过request获得请求⾏

3.通过request获得请求头

4.通过request获得请求体

5.请求转发

6.共享数据


1 HttpServletRequest作用

客户端发送给服务器端的数据。

2.通过request获得请求⾏

获得客户端的请求⽅式:String getMethod()

获得请求的资源:

String getRequestURI() -- 获取请求UR

I StringBuffer getRequestURL() String getContextPath() -- 获取虚拟⽬录

String getServletPath() -- 获取Servlet路径

String getQueryString() -- 获取get⽅式请求参数 username=zhangsan&password=123

String getRemoteAddr() -- 获取客户机的IP地址

3.通过request获得请求头

ong getDateHeader(String name)

String getHeader(String name)

int getIntHeader(String name)

Enumeration getHeaderNames() -- 获取所有的请求头名称

常⻅的请求头: 

User-Agent:浏览器告诉服务器,我访问你使⽤的浏览器版本信息

作⽤:可以在服务器端获取该头的信息,解决浏览器的兼容性问题

4.通过request获得请求体

请求体:只有POST请求⽅式,才有请求体,在请求体中封装了POST请求的请求参数。

步骤:

1. 获取流对象 BufferedReader getReader():获取字符输⼊流,只能操作字符数据                  ServletInputStream getInputStream():获取字节输⼊流,可以操作所有类型数据

2. 再从流对象中拿数据

5.请求转发

请求转发:⼀种在服务器内部的资源跳转⽅式

1. 步骤:

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

2. 特点:

1. 浏览器地址栏路径不发⽣变化

2. 只能转发到当前服务器内部资源中

3. 转发是⼀次请求

6.共享数据

域对象:

⼀个有作⽤范围的对象,可以在范围内共享数据 request域:

代表⼀次请求的范围,⼀般⽤于请求转发的多个资源中共享数据

⽅法:

1. void setAttribute(String name,Object obj):存储数据

2. Object getAttitude(String name):通过键获取值

3. void removeAttribute(String name):通过键移除键值对

问题:ServletContext域与Request域的⽣命周期⽐较?

ServletContext

创建:服务器启动

销毁:服务器关闭

域的作⽤范围:整个web应⽤

request

创建:访问时创建request

销毁:响应结束request销毁

域的作⽤范围:⼀次请求

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值