3.HttpServletRequest对象

1.作用

代表了客户端发送的 HTTP 请求。这个对象提供了很多方法和属性,用于获取 HTTP 请求中的信息,如请求头、请求参数、请求方法(GET、POST 等)、请求的 URL 等,由Servlet容器封装好传递给service()方法

2.常用方法

常用方法描述
StringBuffer getRequestURL()获取客户端发送请求时的完整URL
String getRequestURI()获取请求行中的资源名称部分(项目名称开始)
String getQueryString()获取请求行中的参数部分
String getMethod()获取请求方式类型
String getContextPath()获取webapp名称
String getParameter(String name)获取指定名称的参数
String[] getParameterValues(String name)获取指定名称参数的所有值

3.解决请求中文乱码问题

(1)原因分析
浏览器端使用UTF-8编码将请求信息转换成字节流,tomcat默认解码方式为ISO-8859-1
(2)解决办法
将tomcat升级到8及以后的版本(tomcat8及以后的版本默认解码方式为UTF-8),这样GET方式请求是不会出现中文乱码问题。再通过设置请求体数据的解码方式解决POST方式请求的中文乱码问题(要在接收请求信息之前设定)

req.setCharacterEncoding("UTF-8");

4.请求转发

请求转发是一种服务器行为,当客户端请求到达后,服务器进行转发,此时会将请求对象进行保护,地址栏中的URL地址不会改变,得到响应后,服务器再将响应发送给客户端,从始至终只有一个请求发出
注:无法完成向服务器外部资源请求转发

req.getRequestDispatcher(URL).forward(req, resp);

5.HttpServletRequest对象作用域

通过HttpServletRequest对象可以在一次请求中传递和共享数据,作用范围:在一次请求中有效(请求转发的过程中有效)

常用方法描述
void setAttribute(String var1, Object var2)添加一个域数据
Object getAttribute(String var1)获取一个域数据
void removeAttribute(String var1)移除一个域数据
  • 8
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码届艺术家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值