wasimbhalli
wasimbhalli

Reputation: 5242

How to forward request from web1/servlet to web2/servlet?

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!

Upvotes: 8

Views: 14045

Answers (1)

skaffman
skaffman

Reputation: 403601

This is a two-step process:

  1. Get hold of the ServletContext representing web2
  2. Get the RequestDispatcher from that ServletContext corresponding to servlet2

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.

Upvotes: 11

Related Questions