Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

Tags:

java

servlets

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!

like image 589
wasimbhalli Avatar asked Feb 03 '11 16:02

wasimbhalli


1 Answers

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.

like image 124
skaffman Avatar answered Oct 02 '22 22:10

skaffman