Win a copy of Java EE 8 High Performance this week in the Java/Jakarta EE forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic

Request Dispatcher problem  RSS feed

Posts: 7
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi there,

Basically my problem is to do with the request dispatcher displaying
http://localhost:8080/musicStore/ 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="../">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 =
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/ 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 - /
If I amend the huperlinks to
<a href="">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/ in the address bar, and thereby alter relative links?? Is there a way to fix this please?

With a little knowledge, a cast iron skillet is non-stick and lasts a lifetime.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!