我试图通过以下方式从servelet doPost
方法中读取帖子数据。
使用httpservletrequest.getInputStream();
创建bytearrayoutputstream
。
将帖子数据从bytearrayoutputstream
写入httpservletrequest.getInputStream()
;
最后,输出我来自bytearrayoutputstream.toByteArray()
。
问题是,当我在文本字段中输入150/10
时,toByteArray
会给我150%2F10
。
toByteArray
似乎正在编码/
字符输出中的特殊字符。
从servlet doPost()
方法读取帖子数据的优雅方法是什么?
答案 0 :(得分:0)
在将数据传递给servlet之前,请尝试在客户端对其进行编码。或者在检索它时,在servlet中,在那里进行Url编码。
尝试这种方式:
String abc = URLEncoder.encode("convert my string 150/10", "UTF-8");
byte[] barr = abc.getBytes(Charset.forName("UTF-8"));
使用上面的
的request.getParameter();
那么你不必玩所有这些花哨的代码。我想当你转换成一个字节数组时,你必须指定编码机制来避免字符集歧义。
我没有尝试上面的代码,但是希望你试一试!