问题
I've two web applications say web1 and web2. I want to forward a request from web1/servlet1 to web2/servlet2. Is it possible? Please help!
回答1:
This is a two-step process:
- Get hold of the
ServletContextrepresentingweb2 - Get the
RequestDispatcherfrom thatServletContextcorresponding toservlet2
So, something like this, from inside servlet1:
ServletContext web1 = getServletContext();
ServletContext web2 = web1.getContext("/web2");
RequestDispatcher dispatcher = web2.getRequestDispatcher("/servlet2");
dispatcher.forward(request, response);
There's a big caveat to all of this - the container may not be configured to permit cross-context forwarding, since it's a potential security risk. If this is the case, getContext("web2") will return null.
来源:https://stackoverflow.com/questions/4889113/how-to-forward-request-from-web1-servlet-to-web2-servlet