HTTP请求提交方式

HTTP请求提交的方法主要有GET和POST

Get请求方式

浏览器向Web服务器发送HTTP请求

用户在网页上点击一个超连接

用户提交在网页上填写好的表单

用户在浏览器地址栏中输入URL地址并回车 

默认情况下都是使用HTTP协议的GET方法提交请求

 

POST请求方式

<FORM name='loginForm' method='POST' action='/loginServlet'>

 

GET方式和POST方式区别:

流的格式:

GET方式请求参数放在URL后面,没有消息体。

POST方式请求参数放在消息体中。

 

用途:

GET方式主要用于资源查找,表示客户端需要查找服务器上的某个资源

POST方式主要用做数据传输,主要用于服务器接收客户端传递过来的信息。

 

 

传输性能:

特征

GET方法

POST方法

提交数据类型

文本

文本、二进制文本

提交数据长度

不超过255个字符

没有限制

提交数据可见性

作为URL地址的一部分显示在浏览器地址栏

作为请求的消息体,不可见,

提交数据缓存

缓存在浏览器URL历史状态中

不会被浏览器缓存

 

 

 

u  获取HTTP请求行

getMethod():获取HTTP的请求方法,例如GET、POST等

getQueryString():获取请求URL后面的查询字符串。只对GET有效

getServletPath():获取Servlet的映射路径

 

 

u  获取请求头(只对HTTP协议有效)

getHeader(name) :返回指定的请求头的值

getHeaders(name):返回一个Enumeration(枚举)包含请求头中的所有值

 

u  获得表单数据

 

getParameter()方法:获取指定名称的参数值,返回字符串类型。如果有多个同名的键,则返回第一个键对应的值。

 

getParameterValues()方法:获取指定名称的参数的多个值,以字符串数组的方式返回结果。

u  获得消息体

POST请求不但可以通过getParameter()方法获得表单数据,而且可以通过getInputStream()以字节方式获得表单数据,所以可以获得上传文件的二进制流

u  上传文件

表单必须以POST提交,在form标签中,加入enctype=”multipart/form-data”

如果使用servlet3上传文件,在servlet中加入@MultipartConfig,提供上传文件支持

u  请求派发

RequestDispatcher  dis = request.getRequestDispatcher(path)

dis.forward(request,response);

 

客户端的请求可以发送给多个Servlet以及Web应用程序中的其它资源。整个过程只在服务器端完成,不需要客户端的参与,即客户端的只用发送一次原始的请求就可以实现转发的功能。所以通过请求转发,目标资源可以获得在request中封装的属性信息

 

不能在请求转发和重定向之后,再进行请求转发和重定向

u  请求范围

变量可以保存在请求范围中

在请求范围之外就不能进行访问了

 

内部转发和重定向的区别:

1、内部转发由requestDispatcher发出,重定向由response发出。

2、内部转发一次请求,重定向二次请求。

3、内部转发可以取出request中封装的数据,重定向不能。

4、内部转发只能在服务器内部进行,重定向可以请求别的服务器。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值