Java-Servlet-使用新主体重定向请求
我正在用Java编写一个Servlet,基本上,它在请求主体中获取一个包含XML的请求,然后在XML中更改一些内容,并使用新的XML将请求重定向/前言到位于同一服务器上但位于不同web应用程序上的另一个Servlet 我用的是doPost 我该怎么做?我可以在任何地方找到代码示例吗 另外,正确的方法是什么:Java-Servlet-使用新主体重定向请求,java,xml,servlets,request,forwarding,Java,Xml,Servlets,Request,Forwarding,我正在用Java编写一个Servlet,基本上,它在请求主体中获取一个包含XML的请求,然后在XML中更改一些内容,并使用新的XML将请求重定向/前言到位于同一服务器上但位于不同web应用程序上的另一个Servlet 我用的是doPost 我该怎么做?我可以在任何地方找到代码示例吗 另外,正确的方法是什么: request.getRequestDispatcher().include/request.getRequestDispatcher().foreword/response.sendRed
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世界还不熟悉。。
谢谢
干杯:)您的代码在哪里?这些方法的javadoc说了什么?当你搜索“转发和重定向的区别”时会发生什么?如果我在这里问,我可能没有得到我想要的答案。。