Servlet中get请求和post请求的区别

1:请求数据大小不同

get请求的数据是直接追加到URL中,而URL的数据量一般不能超过2K,所以用get请求的方法对数据的大小有限制。而post请求方法是把数据放在消息体中,所以理论上对数据量没有限制。(但是实际操作中也不能能太大)

2:安全性不一样

因为get请求的数据是追加到URL中,外部用户能很方便的看到,从这个角度上来讲不安全。而post方法因为是讲请求放在消息体中,不会直接在URL中显示所以从这个角度来说数据会比较安全。

3:书签的建立

get请求可以建立书签;post请求则不能。

4:方法的使用

get用于得到一些数据,只是简单的获取,不会对服务器做任何的改变。

而post用于用户发送数据来进行处理,可以修改服务器上的数据。

5:请求是否幂等

get请求是幂等的,它只是要得到一些东西,不会修改服务器上的内容。它能执行多次,而且不会产生任何不好的副作用。而post不是幂等的,post体中的提交的数据可能用于不可逆转的事务。所以从这个角度上来看的话要慎重使用doPost()功能。

若表单中未指出method=“POST”,就会默认为HTTPGET请求。即缺省状态是调用get请求。

1)doGet方法:主要处理http中的Get请求

2)doPost方法:主要处理http的Post请求

其次:

1)get只有一个流,参数附加在url后,大小个数有严格限制且只能是字符串
例如,http://localhost:8888/javaweb/getServlet?name=123、

2)post的参数是通过另外的流传递的,不通过url,所以可以很大,也可以传递二进制数据,如文件的上传。

6:什么时候使用doGet和doPost方法:

1)通过表单提交到的servlet,看form的method是get还是post 

2)通过链接<a  href…>访问的servlet,doGet  

3)直接在ie地址栏中键入的servlet地址,doGet

总结:

get和post均为servlet中的请求方法,get公开,post更安全。且get请求数据不可过大,post请求数据要大于get请求。且get请求只获取数据,不会对服务器上的内容进行修改,而post请求可以修改服务器上的数据。

原文参考:https://www.cnblogs.com/wujinsen/p/4460280.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Stuomasi_xiaoxin

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

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

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

打赏作者

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

抵扣说明:

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

余额充值