表单的提交方式get和post的区别

<!--
form:标签中常见的属性定义:
action:指定表单组件数据发送的位置,如果没有定义action属性,那么默认提交为当前页面
method:定义表单提交方式,只有两种常用get、post。如果没有指定method,默认使用get提交方式


get和post的区别:
1)
get:会将提交的信息显示在地址栏上
post:不会将提交的信息显示在地址栏
2)
get:对于敏感信息不安全,因为显示在地址栏上
post:对于敏感信息安全,因为不显示
3)
get:因为显示在地址栏,而地址栏的信息数据量是有限的,所以不可以提交大数据
post:可以提交大体积的数据
4)
get:会将信息封装到请求行,也就是http请求信息头之前
post:会将信息封装到请求体中,也就是http请求消息头之后,请求体和请求头之间是通过空行来进行分隔


注意特殊之处:
对于服务端是tomcat服务器。当提交中文时:
get:提交,服务端接收到中文数据,会用到默认的编码表ISO88598——1解码,此时会出现乱码现象,所以必须对该乱码进行一次编码再解码 的动作,当向服务器请求时,会将数据封装到了一个请求对象中,request对象,可以通过该对象的String name = request.getParamter("user");获取客户端提交的用户名,但是解码用的ISO8859-1,name会出现乱码,new String(name.getBytes("iso8859-1"),"GBK");


post提交:服务端收到中文,可以使用编一次再解一次的方式,也就是和get一样的方式可以完成乱码解决。通过它还有另一个方式,就是直接使用request对象,调用一个方法,setCharacterEncoding("GBK");
只要设置了请求对象中的数据的编码表,那么String name = request.getParamter("user");那么name的值直接解码以后的正确数据。


注意:为什么get方法用方法setCharacterEncoding("GBK")就不行呢?
因为该方法只对请求体中的数据进行解码,不对请求头中的数据进行解码。


综上所述:以后在进行表单提交时,建议使用Post提交方式

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值