get:使用get参数附加在网页url后面 ,大小个数受限。
post的参数,不通过url,所以可以很大,也可以传递二进制数据,如文件的上传。
在servlet开发中,以doGet()和doPost()分别处理get和post方法。
另外,doService(), 它是一个调度方法,当一个请求发生时,首先执行doService(),不管是get还是post。
使用serlvet解决get与post
通过表单提交到的servlet,看form的method是get还是post ,选择doget与dopost方法
GET和POST的本质区别:使用GET,form中的数据将编码到url中,而使用POST的form中的数据则在http协议的header中传输。而post方法则在body中
总结:
1、get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。
2、对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。两种方式的参数都可以用Request来获得。
3、get传送的数据量较小。post传送的数据量较大。
4、get安全性非常低,post安全性较高。
5、get与post中的编码方式不同,get在使用时使用中文不会出现乱码,而post直接则会出现乱码,我们需要使用编码去实现。