Можно ли изменить объект запроса сервлета при пересылке запроса от одного сервлета к другому? или обходной путь для достижения этого?
У меня есть 2 сервлета, Servlet1 и Servlet2, например, например. -
public class Servlet1 extends HttpServlet {
doPost(HttpServletRequest rq, HttpServletResponse rs) {
// do something meaningful, call other different web-apps/servlets
InputStream is1 = rq.getInputStream();
RequestDispatcher rd = getServletContext().getRequestDispatcher("/Servlet2");
rd.forward(rq, rs);
}
}
Если я напечатаю is1
, это будет что-то вроде -
-----Part2_324<?xml version="1.0" encoding="utf-8"?><Head><Body><Text>This is the first File</Text></Body></Head>-------Part2_65623
Мне плевать на это о / п, когда позже запрос будет перенаправлен на Servlet2
.
У меня есть файл xml file2.xml, содержимое -
<?xml version="1.0" encoding="utf-8"?><Head><Body><Top>Start</Top><Middle>Process</Middle><Bottom>End</Bottom></Body></Head>
Мне бы хотелось, чтобы это было содержимое запроса для Servlet2
, поскольку оно не может обрабатывать содержимое is1
, оно предназначено для обработки содержимого file2.xml.
Атрибутов / параметров практически не установлено.
Возможно ли этого добиться? Надеюсь, вопрос понятен.
Спасибо