abrufen Ich versuche, den Inhalt eines HttpServletRequest abzurufen. Hier ist, wie ich es mache:Kann den Inhalt nicht aus einem 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());
Die Zeichenfolge "Inhalt" ist leer. Allerdings zeigt die letzte Zeile
Länge: 53
das ist genau die Länge des Inhalts ist ich erwarte. Wenn es hilft, hier ist, wie ich dieses Servlet trigge:
wget --post-data='{"imei":"351553012623446","hni":"310150","wdp":false}' http://localhost:8080/test/forward
Welchen Servlet-Container verwenden Sie? Ihr Code funktioniert für mich in Tomcat 6.0.18. –
Tomcat 6.0.20 Sie erhalten also etwas in "Inhalt"? –
Wie überprüfen Sie den Wert von "Inhalt"? –