当前位置: 代码迷 >> Java Web开发 >> 请教servlet中怎么获得post来的数据
  详细解决方案

请教servlet中怎么获得post来的数据

热度:8748   发布时间:2013-02-25 21:08:29.0
请问servlet中如何获得post来的数据
问题不简单,因为前提是不能使用request.getParameter这个函数,因为如果使用这个函数,我前台就必需得把post文本写成name=value的形式,这会带来一个大麻烦,就是一些字符的转义,由于发送的文本比较大,转义想起来就疼,于是想到把内容用base64来编码一下,但还是有麻烦,客户端编码后,servlet中解码后,总是有一些汉字会乱码,真心烦了。我想如果servlet中能直接获取到post来的原始内容而不需要request.getParameter,那一切问题全解决了。

客户端textArea中得到的文本先转成utf-8再转成base64 ,服务器端servlet中再解码,结果正常。(转换用的方法从网上找的,号称真正兼容js和java,并经过测试)

客户端input中得到的文本经一系列转换后到服务器里解出乱码(当然是中文)
我试了下直接客户端把汉字常量经系列转换后到服务器又解出乱码。
真心烦了,请教一下不用getParameter如何得到post来的文本内容?
------最佳解决方案--------------------------------------------------------


  BufferedReader sis; 
  sis = request.getReader();
  char[] buf = new char[1024];
  int len = 0;
  StringBuffer sb = new StringBuffer();
  while((len = sis.read(buf))!= -1){
   sb.append(buf,0,len);
  }
  System.out.println(sb.toString());

------其他解决方案--------------------------------------------------------
null
  相关解决方案