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