File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Servlets and the fly likes Forward between Web Apps - How To? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Servlets
Bookmark "Forward between Web Apps - How To?" Watch "Forward between Web Apps - How To?" New topic

Forward between Web Apps - How To?

Rajesh Manohar

Joined: Sep 22, 2005
Posts: 9
Consider there are two servlets, Servlet1 under WebApp1 and Servlet2 under WebApp2 deployed in two different JVMs.
I need to forward the request from Servlet1 to Servlet2, How to implement this in code?

Note: I need the request and response objects - So response.redirect() doesnt solve my problem.
David O'Meara

Joined: Mar 06, 2001
Posts: 13459

This is dangerous and I've never seen it done correctly. It's possible, but you attempt it at your own risk.

You may need to change the configuration depending on your container. Cross-context communication is typically disabled by default as it could pose a security risk if one application is malicious.

You can reach from context to another using getServletContext().getContext(contextName), you can then get the request dispatcher and forward as normal. Whether or not it works is a matter of chance

One problem you may encounter is that crossing from one context to another may re-enter through the thread pool, so if you are doing an include you have no control over the ordering of the two included resources! There's more to this but it is too vendor specific to warrant discussion. As I said, dangerous and hard to get right.
Craig Jackson
Ranch Hand

Joined: Mar 19, 2002
Posts: 405
I have not done this, so I am not sure this will work.

But couldn't you use the method java.servlet.ServletContext.getContext(String uripath) to return the ServletContext of WebApp2, then use the ServletContext2 and wrap the path of Servlet2 in a RequestDispatcher, and then forward the current request and Response objects to Servlet2.

I guess David, beat me to the response.
[ September 22, 2005: Message edited by: Craig Jackson ]
I agree. Here's the link:
subject: Forward between Web Apps - How To?
jQuery in Action, 3rd edition