3
我试图获取HttpServletRequest的内容。以下是我如何做:无法获取内容的HttpServletRequest
// Extract the request content
StringBuilder stringBuilder = new StringBuilder();
BufferedReader bufferedReader = null;
String content = "";
try {
InputStream inputStream = request.getInputStream();
if (inputStream != null) {
bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
char[] charBuffer = new char[128];
int bytesRead = -1;
while ((bytesRead = bufferedReader.read(charBuffer)) > 0) {
stringBuilder.append(charBuffer, 0, bytesRead);
}
} else {
stringBuilder.append("");
}
} catch (IOException ex) {
throw ex;
} finally {
if (bufferedReader != null) {
try {
bufferedReader.close();
} catch (IOException ex) {
throw ex;
}
}
}
content = stringBuilder.toString();
System.out.println("Length: " + request.getContentLength());
字符串“内容”是空的。不过,最后一行显示
长度:53
这正是我期待的内容的长度。如果有帮助,下面是我如何触发这个servlet:
wget --post-data='{"imei":"351553012623446","hni":"310150","wdp":false}' http://localhost:8080/test/forward
你在使用什么servlet容器?你的代码适用于Tomcat 6.0.18。 – 2009-06-30 21:51:27