I am new to this so if this is a stupid question don't hate me too much. Btw I am using Tomcat 5.5.9. I created a custom WebApp by copying and renaming the ROOT dir in Tomcats WebApps dir. I can hit pages and servlets by usig the url host/myWebApp/my.html and host/myWebApp/servlet.package.myservlet fine. My problem is when I try to use a relative url. For example if I am trying to call a servlet from an html page it seems to add the webApp name twice to the url. For example if I have a html page that calls a servlet like <A HREF="myWebApp/servlet/mypackage.myservlet"></A> when you hover over the link, the url that is built is host/myWebApp/myWebApp/servlet/mypackage.myservlet. Why does it add the webAppName twice? I can't figure it out.
Thanks,
Jutah.
Ulf Dittmer
Marshal
Joined: Mar 22, 2005
Posts: 35224
7
posted
0
The page containing the link is presumably part of myWebApp, so its URL is "host/myWebApp/xyz.html". If you create a URL relative to that which starts with "myWebApp/...", it gets appended to the base URL of the current page, which already has the myWebApp part. Hence, myWebApp gets included twice.
Thanks, so I should do something like ../myWebApp/servlet/mypackage.myservlet
Jutah
Andrew Mcmurray
Ranch Hand
Joined: Sep 24, 2005
Posts: 188
posted
0
Ok, I am still alittle confused. I the html page is in webapps/myWebApp/ and my url to the servlet then /servlet/mypackage.myservlet. If I do this then the myWebApp gets cut out of the url. So the url reads host/servlet/mypackage.myservlet. Why does it drop my webApp name if that is the dir the html page is in?
Thanks! It worked useing the /. Also thanks for the link on the web.xml I will give that a try now.
Jutah
Andrew Mcmurray
Ranch Hand
Joined: Sep 24, 2005
Posts: 188
posted
0
Ok, I tried adding my own web.xml, but now I can't access any html pages. I copied the default one put it in webapps\myWebApp\WEB-INF. I only added one servlet and a mapping. Did I have to add any attributes to the <web-app> tag? I also stopped and restarted the server after modifing the file. Any thoughts?
Thanks again,
Jutah
Ulf Dittmer
Marshal
Joined: Mar 22, 2005
Posts: 35224
7
posted
0
The default web.xml maps the servlet to "/", which catches all requests, HTML pages included. Change that to "/myservlet" or whatever URL you want your servlet to respond to, and it should work.
Originally posted by John Utah: Ok, I tried adding my own web.xml, but now I can't access any html pages. I copied the default one put it in webapps\myWebApp\WEB-INF. I only added one servlet and a mapping. Did I have to add any attributes to the <web-app> tag? I also stopped and restarted the server after modifing the file. Any thoughts?
Thanks again,
Jutah
If you would like a small, working example, download SimpleServlet.war from: http://simple.souther.us and drop it in your TOMCAT_HOME/webapps directory.
It's just a 'Hello, World' servlet app with proper mappings.