数据提交方式

GET方式与POST方式的区别

1.GET方式是以实体的方式得到由请求URL所指向的资源信息,它向服务器提交的参数跟在请求URL后面。使用GET方式访问网络URL的长度是有限制的。HTTP协议规定GET请求方式请求URL的长度不超过4k,但IE浏览器GET方式请求URL的长度不能超过1k为了兼容,因此GET方式请求URL的长度要小于1k;

2.POST方式用来想目的服务器发出请求,要求它接受被附请求后的实体,它向服务器提交的参数在请求后的实体中,它提交的参数是浏览器通过流的方式直接写给服务器的。此外,POST方式对URL的长度是每有限制的。

GET方式提交数据

接下来通过一段示例代码演示使用HttpURLConnection的GET方式提交数据,具体代码如下所示:

//将用户名和密码拼装在指定资源路径后面,并给用户名和密码进行编码;

Srting path=http://192.168.1.100:8080/web/LoginServlet?username-="

+URLEncodeer.encode("zhangsan")

="&password="URlEcode.encode("123");

URL url=new URL(path);

HttpURLConnection conn=(HttpURLConnection)url.openConnetion();

conn.setConnectTimeout(5000);

int responseCode-conn.getResponseCode();

if(responseCode==200){

InputScream is=conn.getInputStream();

try{

}cath9){

//读取输入流量里面的信息,在这里就不做演示了

}

}

上述代码所演示的就是如何使用HttpURLConnectionGET方式提交数据到服务器。

POST方式提交数据:

使用POST方式请求网络,请求参数跟在请求实体中。用户不能在浏览器中看到向服务器提交的请求参数,因此POST方式比GET方式相对安全。接下里通过一段示例代码来演示如何使用HttpURLConnection的POST方式提交数据,具体代码如下所示:

//使用HttpURLConnection

String path=http://192.168.1.100:8080/web/LoginServlet;

URL url=new URL(path);

HttpURLConnection conn=(HttpURLConnection) url.openConnection();

conn.setConnectTimeout(5000);

conn.setRequestionMethod("POST");

//准备数据并给参数进行编码

String data ="username="+URLEncoder.encode("zhangsan")

+“password="+URLEncoder.encode("123")

//设置请求头——数据提交方式,这里是以form表单的形式提取

conn.setrequestProperty("Content-Type",

"application/x-www-form-urlencoded")

conn.setRequestProperty("Content-Length",data.length()+"");

//post方式实际上是浏览器你把数据写给服务器

conn.setDoOutput(true);

OutputStream os=conn.getOutputStream();

os.write(data.getBytes());

int code=conn.getResponseCode();

if(code=200){

InputStream is=conngetInputStram();

try{

//读取服务器返回的信息

}catch(){

}

}

从上述代码可以看出,使用HttpURLConnection的POST方式提交数据时,是以流的形式直接将参数写到服务器上的,需要设置数据的提交方式和数据的长度。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值