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
posted 11 years ago
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."
Win the opportunity to make money on the Internet<br /><a href="http://sweeps.sitesell.com/minirich.html" target="_blank" rel="nofollow">http://sweeps.sitesell.com/minirich.html</a>