我正在用 Java 编写一个 Servlet,基本上,它在请求正文中获取一个带有 XML 的请求,然后更改 XML 中的一些内容并使用新的 XML 将请求重定向/前言到相同的不同 Servlet服务器,但它在不同的网络应用程序上。
我正在使用doPost。
我怎么做?我可以在任何地方找到代码示例吗?
另外,正确的使用方法是什么:?
request.getRequestDispatcher().include /request.getRequestDispatcher().foreword / response.sendRedirect()
还是我需要使用:HttpServletRequestWrapper
?
这是我到目前为止所拥有的:
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String body = getBody(request);
MapXml mapXml = new MapXml(body, "C:\\Projects\\XmlMapper\\output.xml","C:\\Projects\\XmlMapper\\output\\");
String outputXml = mapXml.getOutputXml();
}
public static String getBody(HttpServletRequest request) throws IOException {
String body = null;
StringBuilder stringBuilder = new StringBuilder();
BufferedReader bufferedReader = null;
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;
}
}
}
body = stringBuilder.toString();
return body;
}
我不知道如何从这里继续。我是 servlet 世界的新手。谢谢!!! 干杯:)