This week's book giveaway is in the Clojure forum.
We're giving away four copies of Clojure in Action and have Amit Rathore and Francis Avila on-line!
See this thread for details.
Win a copy of Clojure in Action this week in the Clojure forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Calling getRequestDispatcher method ??

 
Bikash Paul
Ranch Hand
Posts: 342
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,

I am confused about calling getRequestDispatcher method we can call this method in two below ways :

RequestDispatcher dispatcher = this.getServletConfig().getServletContext().getRequestDispatcher("/servlet/Test");
if (dispatcher != null)
dispatcher.forward(req, res);

and another way is :

RequestDispatcher dispatcher = req.getRequestDispatcher("/servlet/Test");
if (dispatcher != null)
dispatcher.forward(req, res);

where req is the object of HttpServletRequest.

Can any one please explain me what is the difference between this two ways.

Thanks & Regards
Bikash
 
Mike Nightsky
Ranch Hand
Posts: 48
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
the HttpServletRequest.getRequestDispatcher()could take a relative path.
quote from the api: "The pathname specified may be relative, although it cannot extend outside the current servlet context. If the path begins with a "/" it is interpreted as relative to the current context root. This method returns null if the servlet container cannot return a RequestDispatcher."

the ServletContext.getRequestDispatcher() could only take an absolute path.
quote from the api: "The pathname must begin with a "/" and is interpreted as relative to the current context root. Use getContext to obtain a RequestDispatcher for resources in foreign contexts. This method returns null if the ServletContext cannot return a RequestDispatcher."
 
I agree. Here's the link: http://aspose.com/file-tools
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic