I have 2 web apps, no front-end(i.e html/Jsp) in either. Both have one servlet each.
Lets call them WebApp1/WebApp2 and ServiceServlet1/ServiceServlet2.
I have 2 war files, WebApp1.war and WebApp2.war and both deployed.
I call the ServiceServlet1 directly from the browser with -
http://localhost:8080/WebApp1/ServiceServlet1
Obviously the doGet method will be called(POST is associated only with FORM, correct me if I am wrong).
The ServiceServlet1 is build something like -
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();
}
}
}
Essentially, what I require is to call the doPost()
of ServiceServlet2
I have tried few different ways with httpReq.getRequestDispatcher()
, sendRedirect
etc. but have failed so far.
So how can I make it happen?
Thank you.