javaweb_request对象

本文详细介绍了HTTP请求中的Request对象及其各种方法,包括如何获取URL、URI、查询字符串、客户端信息等,并对比了请求转发与重定向的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

http://localhost:8080/jServlet/servlet/B
http://localhost:8080/jServlet/form.html
Request对象:


getRequestURL方法返回客户端发出请求时完整的url
getRequestURI方法返回请求行中的资源名部分


uri用来标示一个资源
url用来标示互联网上的一个资源
url是Uri的一个子集


getQueryString方法返回请求行中的参数部分
getRemoteAdd方法返回发出请求的客户机的ip地址
getRemoteHost方法返回发出请求的客户机的完整主机名
getRemotePort方法返回借户籍所使用的网络端口号
getRemoteAddr方法返回WEB服务器的Ip地址
getLocalAddr方法返回WEB服务器的主机名
getMethod得到用户的请求方式
getHead()得到请求头
getHeaders()得到所有这个名字的请求头
getHeaderNameS得到所有的头和值


获取客户机提交的数据的方法:
getParameter(name)
根据名称获取客户机提交的值
getParameterValue(String name)


getParameterNames


getParameterMap


请求转发与请求重定向的区别:
1、请求重定向向浏览器发了两次请求,产生了两对request和response对象;而请求转发只发出一次请求 
2、 请求重定向浏览器地址栏发生变化


请求转发getRequestDispatcher
this.getServletContext().getRequestDispatcher("");
开发里面不用这个方法转发,因为这个方式不能处理并发访问
String data = "abcd"
request.setAttribute("data,"data);//往request对象里存数据
request.getRequestDispatcher().forward(request,response)
//forward方法用于将请求转发到requestDispatcher对象封装的资源
这个方式可以处理并发请求的原因是每次请求都有一个request对象,不会出现干扰
在跳转的页面:






提交数据中文乱码问题:
1、如果提交方式为post,想不乱码只要设置request对象的编码即     可
   注意:客户机是用那种编码提交的request就应该设什么编码       。而用户提交的方式可以自己设置
2、如果提交方式为get,设置request对象编码是无效的,只能手工转换:
String data = "?????"//乱码字符串
byte source[] = data.getBytes("iso8829-1");//得到客户机提交的原始数据
data = new String(source,"utf-8");解决乱码
//上面三行等同于
data = new String(data.getBytes("iso8859-1"),"utf-8");




3、get方式的乱码还可以通过改变服务器的配置来改变
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值