get post数据的读取分析

来源:互联网 发布:mfc易物点是网络传销吗 编辑:程序博客网 时间:2024/05/29 07:50

get 请求 将数据附在url后面 形成如xxx/fetch?id=1&type=商品
后台通过

string id=request.getParameter("id");String goodType=request.getParameter("type");

而post请求,则需要后台通过

public String controllerPostUtil(HttpServletRequest request){String json="";BufferReader br=null;StringBuffer sb=null;try{br=request.getReader();String str="";while((str=br.readLine())!=-1){  sb.append(str);}br.close();}catch(IOException e){e.printStack();}json=sb.toString();return json;}即得到

问题来了:
1为什么我后台还是拿不到数据呢?

检查前台传送的data是不是标准json格式。JSON.Stringify(data);

2我get请求中文乱码啦!

1),tomcat的server.xml 设置 <Connector URIEncoding="UTF-8"                  port="8080"   maxHttpHeaderSize="8192"               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"               connectionTimeout="20000" disableUploadTimeout="true" />(2),设置编码集(对get请求无用,因为get是通过url传递,所以对request设置编码集没用!!!)(3),url上附带了中文,你可以前台通过encodeurl(encodurl(url))后台URLDecode.decode(str,“utf-8”) 即可
3 我post请求乱码啦!因为通过前面  我们拿取post的数据是通过request.reader()获取所以post乱码原因可能未设置request编码集 request.setCharacterEncoding("utf-8");

——————————-face problem then solve it

0 0