Granny's Programming Pearls
"inside of every large program is a small program struggling to get out"
JavaRanch.com/granny.jsp
The moose likes Servlets and the fly likes Custom WebApp servlet url problem Big Moose Saloon
  Search | Java FAQ | Recent Topics
Register / Login
JavaRanch » Java Forums » Java » Servlets
Reply 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: 35224
    
    7
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.


Android appsImageJ pluginsJava web charts
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: 56163
    
  13

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 ]

[Smart Questions] [JSP FAQ] [Books by Bear] [Bear's FrontMan] [About 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: 35224
    
    7
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: 17225
    
    1

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
 
I agree. Here's the link: http://ej-technologies/jprofiler - if it wasn't for jprofiler, we would need to run our stuff on 16 servers instead of 3.
 
subject: Custom WebApp servlet url problem
 
Similar Threads
UnpackWAR
c:import problem
jsp:include page="header.html" causes IllegalStateException
Servlet Mapping in Tomcat
getting exception in JSF Tutorial of JR