请问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