GET与POST的区别,以及GET中文乱码


get方式与post方式:
  • get方式提交最大能提交8192个字符,执行效率高,但不安全;pos方式t提交没有大小限制,效率比get低,安全
  • post是传输信息内容,get是传输url值
GET -- 这是缺省方式,填充form的内容将被附在 URL 的后面,就好象它是一个普通的查询请求.
POST -- 这种方式把 form 的内容放在HTTP 请求的消息实体中发送给服务器,而不是作为 URL 的一部分.
  • POST 在HTTP请求的主体内 Request.Form读取数据. GET 标识在URL的最后 Request.QueryString读取数据 GET 有一个缺点就是URL字符的长度被浏览器及服务器使用时有一些限制, 还有一个就是把HTTP请求中通过WEB传递的数据暴露出来


自从Tomcat5.x开始,GET和POST方法提交的信息,Tomcat采用了不同的方式来处理编码,对于POST请求,Tomcat会仍然使用request.setCharacterEncoding方法所设置的编码来处理,如果未设置,则使用默认的iso-8859-1编码。而GET请求则不同,Tomcat对于GET请求并不会考虑使用request.setCharacterEncoding方法设置的编码,而会永远使用iso-8859-1编码

即使你的页面设置了
<%@page language="java" pageEncoding="utf-8" %>
使用get方式,name、表单等数据会附在URL 请求里面,pageEncoding只对POST实体起作用,对URL不起作用,所以jsp页面传递的时候URL仍然使用ISO-8859-1编码,如果URL中包含中文,就会产生乱码

$.ajax({//默认 type:'get'
 url:url,
 async: false,
 data:{time:(new Date()).toString(),name:name},
 success: function(result){
  $("#main").html(result);
 }
});

解决这种乱码问题可以对name进行加密,需要的时候在进行解密
name:encodeURI(encodeURI(name))
在新的jsp中进行解密
<%@ page import="java.net.URLDecoder"%>
var name= '<%=URLDecoder.decode(request.getParameter("name"), "UTF-8")%>';
....

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值