aspose file tools*
The moose likes Servlets and the fly likes Request Dispatcher problem Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Servlets
Bookmark "Request Dispatcher problem" Watch "Request Dispatcher problem" New topic
Author

Request Dispatcher problem

paul Staniland
Greenhorn

Joined: Mar 03, 2008
Posts: 7
Hi there,

Basically my problem is to do with the request dispatcher displaying
http://localhost:8080/musicStore/CartServlet.do in the address bar of pages it's forwarded to, instead of http://localhost:8080/musicStore/cart/index.jsp if you had clicked on a normal hyperlink (thereby altering links relative to the page).

A page listing some quick links to choose records is my index.jsp file and is located in c:\tomcat\webapps\musicStore\cart\index.jsp

If you open this page by typing in http://localhost:8080/cart/index.jsp
then it opens with the above address written in firefox's address bar.
If you then click on one of the links
<a href="../CartServlet.do?productCode=8601">Add To Cart</a>
then it correctly maps in the servlet mapping and runs the servlet CartServlet.
I have included the mappings from web.xml:



This all works fine ONLY IF you arrive at the page index.jsp by way of a normal hyperlink like "/musicStore/cart/index.jsp".

I seem to be having problems with my request dispatching. From the cart servlet I have the code

url = "/cart/index.jsp";
RequestDispatcher dispatcher =
getServletContext().getRequestDispatcher(url);
dispatcher.forward(request, response);

When the cart servlet runs and dispatches me to the page index.jsp then in my brower's address bar http://localhost:8080/musicStore/CartServlet.do is written. This may be the reason why when I click on one of the links on the index.jsp page then I get the error HTTP Status 404 - /CartServlet.do.
If I amend the huperlinks to
<a href="CartServlet.do?productCode=8601">Add To Cart</a> thereby taking off the ../ prefix then it will work when forwarded by the request dispatcher but not when hyperlinked through from another page.

My question is why do pages the request dispatcher fowards to display
http://localhost:8080/musicStore/CartServlet.do in the address bar, and thereby alter relative links?? Is there a way to fix this please?

Thanks
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Request Dispatcher problem