从servlet中读取发布数据

时间:2015-03-30 06:25:31

标签: java servlets

我试图通过以下方式从servelet doPost方法中读取帖子数据。

  1. 使用httpservletrequest.getInputStream();

  2. 创建bytearrayoutputstream

  3. 的实例
  4. 将帖子数据从bytearrayoutputstream写入httpservletrequest.getInputStream();

  5. 最后,输出我来自bytearrayoutputstream.toByteArray()

  6. 问题是,当我在文本字段中输入150/10时,toByteArray会给我150%2F10toByteArray似乎正在编码/字符输出中的特殊字符。

    从servlet doPost()方法读取帖子数据的优雅方法是什么?

1 个答案:

答案 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();

那么你不必玩所有这些花哨的代码。我想当你转换成一个字节数组时,你必须指定编码机制来避免字符集歧义。

我没有尝试上面的代码,但是希望你试一试!