File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes Servlets and the fly likes Custom WebApp servlet url problem Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of OCM Java EE 6 Enterprise Architect Exam Guide this week in the OCMJEA forum!
JavaRanch » Java Forums » Java » Servlets
Bookmark "Custom WebApp servlet url problem" Watch "Custom WebApp servlet url problem" New topic
Author

Custom WebApp servlet url problem

Andrew Mcmurray
Ranch Hand

Joined: Sep 24, 2005
Posts: 188
Hi all ,

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: 41635
    
  55
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.


Ping & DNS - my free Android networking tools app
Andrew Mcmurray
Ranch Hand

Joined: Sep 24, 2005
Posts: 188
Thanks, so I should do something like ../myWebApp/servlet/mypackage.myservlet

Jutah
Andrew Mcmurray
Ranch Hand

Joined: Sep 24, 2005
Posts: 188
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,

Jutah
Bear Bibeault
Author and ninkuma
Marshal

Joined: Jan 10, 2002
Posts: 61106
    
  66

so I should do something like ../myWebApp/servlet/mypackage.myservlet


No. You should not be using relative URLs at all. Your webapp references should all be made prefixed with /myWevApp.

The leading / is significant.

Also, I notice that you are using the servlet invoker. You should read this.
[ September 24, 2005: Message edited by: Bear Bibeault ]

[Asking smart questions] [Bear's FrontMan] [About Bear] [Books by Bear]
Andrew Mcmurray
Ranch Hand

Joined: Sep 24, 2005
Posts: 188
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
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: 41635
    
  55
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.
Ben Souther
Sheriff

Joined: Dec 11, 2004
Posts: 13410

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.


Java API J2EE API Servlet Spec JSP Spec How to ask a question... Simple Servlet Examples jsonf
Andrew Mcmurray
Ranch Hand

Joined: Sep 24, 2005
Posts: 188
Great! Thanks, I'll give those a try

jutah
Mark Spritzler
ranger
Sheriff

Joined: Feb 05, 2001
Posts: 17250
    
    6

You know there was a character in "Point Break" called Johnnie Utah. By any chance are your parents big fans of that movie?

Mark


Perfect World Programming, LLC - Two Laptop Bag - Tube Organizer
How to Ask Questions the Smart Way FAQ
 
It is sorta covered in the JavaRanch Style Guide.
 
subject: Custom WebApp servlet url problem