post和get传值

1. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。

2. 对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数 据。

3. get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为 100KB。

4. get安全性非常低,post安全性较高。但是执行效率却比Post方法好。

从协议和本质上来说:
(1)get不经过加密,post经过加密。
(2)get的编码方式根据你的页面指定的编码编码的和服务器无关,而post在tomcat环境下是有tomcat的server.xml指定的。
(3)他们的数据包的头部协议是有差别的。
在jsp环境下,建议使用post方法。


AJAX 调用

如果调用是要检索服务器上的数据则使用GET。如果 要检索的值会随时间和更新进程的改变而改变则要在GET调用中添加一个当前时间参数,这样后面的调用才不会使用先前的不正确的缓冲。如果调用是向服务器上 发送任意数据,就可以使用POST。


### JavaWeb GET POST 请求参数递格式 #### GET 请求参数递格式 对于GET请求而言,所有的参数都附加在URL之后作为查询字符串的一部分。这种情况下,参数以键对的形式存在,并且多个参数之间用`&`分隔开。例如访问一个带有两个参数的网页链接可能是这样的结构:`http://example.com/page?param1=value1&param2=value2`[^1]。 当涉及到中文字符或者其他特殊字符的时候,在发送之前需要对其进行URL编码处理,确保能够正确输到服务端并解析出来。而在接收方面,则通常不需要额外操作,因为大多数现代浏览器服务框架都能自动解码收到的内容[^2]。 #### POST 请求参数递格式 相比之下,POST请求会把数据放在HTTP消息主体中而不是URL里。这意味着更复杂的数据可以被送而不会受到长度限制的影响。常见的做法是在表单提交时采用application/x-www-form-urlencoded MIME类型,这同样遵循键对模式;不过也有其他类型的content-type可用于携带JSON对象等形式化输入[^5]。 具体来说,如果是简单的HTML表单,默认情况下它将以`application/x-www-form-urlencoded`的方式发送数据给服务器。此时每个字段名与其对应的会被序列化成类似如下所示的一串文本:“field1=value1&field2=value2”,其中非ASCII字符也会经过百分号编码转换[^4]。 另外得注意的是,在Spring MVC环境下使用AJAX发起POST请求时,可能需要用到`@RequestBody`注解来绑定整个请求体内的内容至控制器的方法参数上,特别是当预期接收到JSON或其他自定义格式的数据时[^3]。 ```java // 示例代码片段展示如何接受来自客户端的一个Map<String,Object>形式的数据 @RequestMapping(value="/product", method=RequestMethod.POST) @ResponseBody public String productPost(@RequestParam("loginname") String loginname, @RequestBody Map<String, Object> data){ // 处理逻辑... } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值