You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Geoffrey Charters <g....@auckland.ac.nz> on 2005/01/16 05:47:21 UTC
[Newbie] Failed access to servlet via URL mapping (context setting problem?)
Mac OSX 10.3.7; Tomcat 5.5.4; JDK 1.4.2; compat installed
I have installed Tomcat 5.5.4 with a view to using it to implement a
web-based interface to a MySQL database.
I began by following the guidelines here:
http://developer.apple.com/internet/java/tomcat1.html, but as these
related to V4 of tomcat, this has served to trip me up a little. I
could not get any of the example servlets to function by following the
directions given.
I subsequently found further guidelines here:
http://www.coreservlets.com/Apache-Tomcat-Tutorial/, I have got to the
point where I can run all of the sample servlets described there.
These involve directly copying resources into the
$CATALINA_HOME/webapps/ROOT/WEB-INF(/classes) directories.
I could now develop my application and copy it to the ROOT directory
and access it through a URL like localhost:8080/hi, but this seems like
poor structure to me. I could also place the app in a subdirectory and
access it with localhost:8080/hi/servlet/hi, but that is not too tidy.
What I would like to do, and what I think is possible, is somehow to
advise tomcat of the location of my webapp in its own directory (not
under ROOT) and access it with localhost:8080/hi.
No amount of tweaking servlet mappings and URL patterns has worked, and
I suspect that somewhere I need to have a <context> element. (I admit
to confusion over the apparent need to specify the path both in the
context and the servlet mapping, so I've missed a big point somewhere).
The nearest I have got is to obtain an empty "Directory listing for
/" page in response to my http://localhost:8080/hi request. I enabled
request logging and obtained the following:
> Created MBeanServer with ID: c3e82b:10179d228c6:-8000:XarqiMac.local:1
> Jan 16, 2005 5:40:16 PM org.apache.coyote.http11.Http11Protocol init
> INFO: Initializing Coyote HTTP/1.1 on http-8080
> Jan 16, 2005 5:40:16 PM org.apache.catalina.startup.Catalina load
> INFO: Initialization processed in 4706 ms
> Jan 16, 2005 5:40:17 PM org.apache.catalina.core.StandardService start
> INFO: Starting service Catalina
> Jan 16, 2005 5:40:17 PM org.apache.catalina.core.StandardEngine start
> INFO: Starting Servlet Engine: Apache Tomcat/5.5.4
> Jan 16, 2005 5:40:17 PM org.apache.catalina.core.StandardHost start
> INFO: XML validation disabled
> Jan 16, 2005 5:40:22 PM org.apache.catalina.core.ApplicationContext log
> INFO: org.apache.webapp.balancer.BalancerFilter: init(): ruleChain:
> [org.apache.webapp.balancer.RuleChain:
> [org.apache.webapp.balancer.rules.URLStringMatchRule: Target string:
> News / Redirect URL: http://www.cnn.com],
> [org.apache.webapp.balancer.rules.RequestParameterRule: Target param
> name: paramName / Target param value: paramValue / Redirect URL:
> http://www.yahoo.com],
> [org.apache.webapp.balancer.rules.AcceptEverythingRule: Redirect URL:
> http://jakarta.apache.org]]
> Jan 16, 2005 5:40:23 PM org.apache.catalina.core.ApplicationContext log
> INFO: ContextListener: contextInitialized()
> Jan 16, 2005 5:40:23 PM org.apache.catalina.core.ApplicationContext log
> INFO: SessionListener: contextInitialized()
> Jan 16, 2005 5:40:24 PM org.apache.catalina.core.ApplicationContext log
> INFO: ContextListener: contextInitialized()
> Jan 16, 2005 5:40:24 PM org.apache.catalina.core.ApplicationContext log
> INFO: SessionListener: contextInitialized()
> Jan 16, 2005 5:40:25 PM org.apache.coyote.http11.Http11Protocol start
> INFO: Starting Coyote HTTP/1.1 on http-8080
> Jan 16, 2005 5:40:27 PM org.apache.jk.common.ChannelSocket init
> INFO: JK2: ajp13 listening on /0.0.0.0:8009
> Jan 16, 2005 5:40:27 PM org.apache.jk.server.JkMain start
> INFO: Jk running ID=0 time=0/77 config=null
> Jan 16, 2005 5:40:27 PM org.apache.catalina.startup.Catalina start
> INFO: Server startup in 10702 ms
> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
> invoke
> INFO: REQUEST URI =/hi/
> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
> invoke
> INFO: authType=null
> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
> invoke
> INFO: characterEncoding=null
> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
> invoke
> INFO: contentLength=-1
> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
> invoke
> INFO: contentType=null
> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
> invoke
> INFO: contextPath=/hi
> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
> invoke
> INFO: cookie=JSESSIONID=A1159716478A6F61B9760CCB58402392
> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
> invoke
> INFO: header=host=localhost:8080
> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
> invoke
> INFO: header=connection=keep-alive
> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
> invoke
> INFO: header=user-agent=Mozilla/5.0 (Macintosh; U; PPC Mac
> OS X; en) AppleWebKit/125.5.5 (KHTML, like Gecko) Safari/125.12
> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
> invoke
> INFO: header=accept=*/*
> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
> invoke
> INFO: header=accept-encoding=gzip, deflate;q=1.0,
> identity;q=0.5, *;q=0
> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
> invoke
> INFO: header=accept-language=en, ja;q=0.61, ru;q=0.93,
> de-de;q=0.89, de;q=0.86, fr;q=0.82, nl-nl;q=0.79, nl;q=0.75,
> it-it;q=0.71, it;q=0.68, ja-jp;q=0.64, ru-ru;q=0.96, es;q=0.57,
> da-dk;q=0.54, da;q=0.50, fi-fi;q=0.46, fi;q=0.43, ko-kr;q=0.39,
> ko;q=0.36
> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
> invoke
> INFO:
> header=cookie=JSESSIONID=A1159716478A6F61B9760CCB58402392
> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
> invoke
> INFO: locale=en
> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
> invoke
> INFO: method=GET
> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
> invoke
> INFO: pathInfo=null
> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
> invoke
> INFO: protocol=HTTP/1.1
> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
> invoke
> INFO: queryString=null
> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
> invoke
> INFO: remoteAddr=127.0.0.1
> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
> invoke
> INFO: remoteHost=127.0.0.1
> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
> invoke
> INFO: remoteUser=null
> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
> invoke
> INFO: requestedSessionId=A1159716478A6F61B9760CCB58402392
> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
> invoke
> INFO: scheme=http
> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
> invoke
> INFO: serverName=localhost
> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
> invoke
> INFO: serverPort=8080
> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
> invoke
> INFO: servletPath=/
> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
> invoke
> INFO: isSecure=false
> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
> invoke
> INFO: ---------------------------------------------------------------
> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
> invoke
> INFO: ---------------------------------------------------------------
> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
> invoke
> INFO: authType=null
> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
> invoke
> INFO: contentLength=-1
> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
> invoke
> INFO: contentType=text/html;charset=UTF-8
> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
> invoke
> INFO: message=null
> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
> invoke
> INFO: remoteUser=null
> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
> invoke
> INFO: status=200
> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
> invoke
> INFO: ===============================================================
The line:
> INFO: servletPath=/
suggests to me that somehow the URL (/hi) is not being passed through
as I would hope.
If someone could take the time to point a newbie in the right
direction, I'd be very appreciative.
Thanks.
---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org
Re: [Newbie] Failed access to servlet via URL mapping (context setting problem?)
Posted by Parsons Technical Services <pa...@earthlink.net>.
I notice you are using 1.4.2 Does the compat install mean you set it up to
use 1.4 in place of the 1.5 per RUNNING.txt?
Doug
----- Original Message -----
From: "Geoffrey Charters" <g....@auckland.ac.nz>
To: <to...@jakarta.apache.org>
Sent: Saturday, January 15, 2005 11:47 PM
Subject: [Newbie] Failed access to servlet via URL mapping (context setting
problem?)
> Mac OSX 10.3.7; Tomcat 5.5.4; JDK 1.4.2; compat installed
>
> I have installed Tomcat 5.5.4 with a view to using it to implement a
> web-based interface to a MySQL database.
>
> I began by following the guidelines here:
> http://developer.apple.com/internet/java/tomcat1.html, but as these
> related to V4 of tomcat, this has served to trip me up a little. I could
> not get any of the example servlets to function by following the
> directions given.
>
> I subsequently found further guidelines here:
> http://www.coreservlets.com/Apache-Tomcat-Tutorial/, I have got to the
> point where I can run all of the sample servlets described there. These
> involve directly copying resources into the
> $CATALINA_HOME/webapps/ROOT/WEB-INF(/classes) directories.
>
> I could now develop my application and copy it to the ROOT directory and
> access it through a URL like localhost:8080/hi, but this seems like poor
> structure to me. I could also place the app in a subdirectory and access
> it with localhost:8080/hi/servlet/hi, but that is not too tidy.
>
> What I would like to do, and what I think is possible, is somehow to
> advise tomcat of the location of my webapp in its own directory (not under
> ROOT) and access it with localhost:8080/hi.
>
> No amount of tweaking servlet mappings and URL patterns has worked, and I
> suspect that somewhere I need to have a <context> element. (I admit to
> confusion over the apparent need to specify the path both in the context
> and the servlet mapping, so I've missed a big point somewhere). The
> nearest I have got is to obtain an empty "Directory listing for /" page
> in response to my http://localhost:8080/hi request. I enabled request
> logging and obtained the following:
>> Created MBeanServer with ID: c3e82b:10179d228c6:-8000:XarqiMac.local:1
>> Jan 16, 2005 5:40:16 PM org.apache.coyote.http11.Http11Protocol init
>> INFO: Initializing Coyote HTTP/1.1 on http-8080
>> Jan 16, 2005 5:40:16 PM org.apache.catalina.startup.Catalina load
>> INFO: Initialization processed in 4706 ms
>> Jan 16, 2005 5:40:17 PM org.apache.catalina.core.StandardService start
>> INFO: Starting service Catalina
>> Jan 16, 2005 5:40:17 PM org.apache.catalina.core.StandardEngine start
>> INFO: Starting Servlet Engine: Apache Tomcat/5.5.4
>> Jan 16, 2005 5:40:17 PM org.apache.catalina.core.StandardHost start
>> INFO: XML validation disabled
>> Jan 16, 2005 5:40:22 PM org.apache.catalina.core.ApplicationContext log
>> INFO: org.apache.webapp.balancer.BalancerFilter: init(): ruleChain:
>> [org.apache.webapp.balancer.RuleChain:
>> [org.apache.webapp.balancer.rules.URLStringMatchRule: Target string: News
>> / Redirect URL: http://www.cnn.com],
>> [org.apache.webapp.balancer.rules.RequestParameterRule: Target param
>> name: paramName / Target param value: paramValue / Redirect URL:
>> http://www.yahoo.com],
>> [org.apache.webapp.balancer.rules.AcceptEverythingRule: Redirect URL:
>> http://jakarta.apache.org]]
>> Jan 16, 2005 5:40:23 PM org.apache.catalina.core.ApplicationContext log
>> INFO: ContextListener: contextInitialized()
>> Jan 16, 2005 5:40:23 PM org.apache.catalina.core.ApplicationContext log
>> INFO: SessionListener: contextInitialized()
>> Jan 16, 2005 5:40:24 PM org.apache.catalina.core.ApplicationContext log
>> INFO: ContextListener: contextInitialized()
>> Jan 16, 2005 5:40:24 PM org.apache.catalina.core.ApplicationContext log
>> INFO: SessionListener: contextInitialized()
>> Jan 16, 2005 5:40:25 PM org.apache.coyote.http11.Http11Protocol start
>> INFO: Starting Coyote HTTP/1.1 on http-8080
>> Jan 16, 2005 5:40:27 PM org.apache.jk.common.ChannelSocket init
>> INFO: JK2: ajp13 listening on /0.0.0.0:8009
>> Jan 16, 2005 5:40:27 PM org.apache.jk.server.JkMain start
>> INFO: Jk running ID=0 time=0/77 config=null
>> Jan 16, 2005 5:40:27 PM org.apache.catalina.startup.Catalina start
>> INFO: Server startup in 10702 ms
>> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
>> invoke
>> INFO: REQUEST URI =/hi/
>> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
>> invoke
>> INFO: authType=null
>> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
>> invoke
>> INFO: characterEncoding=null
>> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
>> invoke
>> INFO: contentLength=-1
>> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
>> invoke
>> INFO: contentType=null
>> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
>> invoke
>> INFO: contextPath=/hi
>> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
>> invoke
>> INFO: cookie=JSESSIONID=A1159716478A6F61B9760CCB58402392
>> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
>> invoke
>> INFO: header=host=localhost:8080
>> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
>> invoke
>> INFO: header=connection=keep-alive
>> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
>> invoke
>> INFO: header=user-agent=Mozilla/5.0 (Macintosh; U; PPC Mac OS
>> X; en) AppleWebKit/125.5.5 (KHTML, like Gecko) Safari/125.12
>> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
>> invoke
>> INFO: header=accept=*/*
>> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
>> invoke
>> INFO: header=accept-encoding=gzip, deflate;q=1.0,
>> identity;q=0.5, *;q=0
>> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
>> invoke
>> INFO: header=accept-language=en, ja;q=0.61, ru;q=0.93,
>> de-de;q=0.89, de;q=0.86, fr;q=0.82, nl-nl;q=0.79, nl;q=0.75,
>> it-it;q=0.71, it;q=0.68, ja-jp;q=0.64, ru-ru;q=0.96, es;q=0.57,
>> da-dk;q=0.54, da;q=0.50, fi-fi;q=0.46, fi;q=0.43, ko-kr;q=0.39, ko;q=0.36
>> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
>> invoke
>> INFO:
>> header=cookie=JSESSIONID=A1159716478A6F61B9760CCB58402392
>> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
>> invoke
>> INFO: locale=en
>> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
>> invoke
>> INFO: method=GET
>> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
>> invoke
>> INFO: pathInfo=null
>> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
>> invoke
>> INFO: protocol=HTTP/1.1
>> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
>> invoke
>> INFO: queryString=null
>> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
>> invoke
>> INFO: remoteAddr=127.0.0.1
>> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
>> invoke
>> INFO: remoteHost=127.0.0.1
>> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
>> invoke
>> INFO: remoteUser=null
>> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
>> invoke
>> INFO: requestedSessionId=A1159716478A6F61B9760CCB58402392
>> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
>> invoke
>> INFO: scheme=http
>> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
>> invoke
>> INFO: serverName=localhost
>> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
>> invoke
>> INFO: serverPort=8080
>> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
>> invoke
>> INFO: servletPath=/
>> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
>> invoke
>> INFO: isSecure=false
>> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
>> invoke
>> INFO: ---------------------------------------------------------------
>> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
>> invoke
>> INFO: ---------------------------------------------------------------
>> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
>> invoke
>> INFO: authType=null
>> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
>> invoke
>> INFO: contentLength=-1
>> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
>> invoke
>> INFO: contentType=text/html;charset=UTF-8
>> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
>> invoke
>> INFO: message=null
>> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
>> invoke
>> INFO: remoteUser=null
>> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
>> invoke
>> INFO: status=200
>> Jan 16, 2005 5:40:28 PM org.apache.catalina.valves.RequestDumperValve
>> invoke
>> INFO: ===============================================================
>
> The line:
>> INFO: servletPath=/
> suggests to me that somehow the URL (/hi) is not being passed through as I
> would hope.
>
> If someone could take the time to point a newbie in the right direction,
> I'd be very appreciative.
>
> Thanks.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tomcat-user-help@jakarta.apache.org
>
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org