У меня есть 2 веб-приложения, нет внешнего интерфейса (т.е. HTML / JSP) ни в одном.Оба имеют по одному сервлету.
Позволяет называть их WebApp1 / WebApp2 и ServiceServlet1 / ServiceServlet2.
У меня есть 2 файла war, WebApp1.war и WebApp2.war, и оба развернуты.
Я вызываю ServiceServlet1непосредственно из браузера с помощью -
http://localhost:8080/WebApp1/ServiceServlet1
Очевидно, будет вызван метод doGet (POST связан только с FORM, исправьте меня, если я ошибаюсь).
ServiceServlet1 - это что-то вроде -
public class ServiceServlet1 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest httpRequest, HttpServletResponse httpResponse)
throws ServletException, IOException {
doPost(httpRequest, httpResponse);
}
@Override
protected void doPost(HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse) throws ServletException,
IOException {
RequestDispatcher requestDispatcher;
try {
// Process something
requestDispatcher = getServletContext().getRequestDispatcher("/WebApp2/ServiceServlet2");
requestDispatcher.forward(httpServletRequest, httpServletResponse);
} catch (IOException ioException) {
ioException.printStackTrace();
} catch (ServletException servletException) {
servletException.printStackTrace();
}
}
}
По сути, мне нужно назвать doPost()
из ServiceServlet2
Я пробовал несколько разных способов с httpReq.getRequestDispatcher()
, sendRedirect
и т. Д., Но до сих пор не получилось.
Так как я могу это сделать?
Спасибо.