我想从http帖子中读取帖子参数和正文。
实施例: 如果您发布到网址:http://localhost/controller?sign=true。 在帖子中,身体中还有json数据。
{"transaction":
{"user":[
{"name": "Anna"}]
}
}
获取参数是通过 public java.lang.String getParameter(java.lang.String name)
身体可以通过检索 public ServletInputStream getInputStream()抛出java.io.IOException
但是你如何掌握参数和身体? 因为如果我在getInputStream之前调用getParameter,结果将在inputStream上为-1。
答案 0 :(得分:1)
我相信在getParameter(String name)的覆盖下,正在读取ServletInputStream以获取这些参数。如果您要将POST数据与URL参数混合(我假设sign = true是您提到的参数),请使用HttpServletRequest.getQueryString()来获取URL参数,那么您仍然应该能够用getInputStream()读取正文。但是,您可能必须解析查询字符串以获取您正在查找的信息。
编辑:我忘了添加原来的答案,当读取ServletInputStream时,无法再次读取。如果需要多次使用流中的数据,则必须存储它。http://docs.oracle.com/javaee/6/api/javax/servlet/http/HttpServletRequest.html