Hi Ognjen,
Thank you for your quick response! I have undeployed the old application (test.war) under Tomcat Manager, as well as renamed test.war to sg#server#test.war under webapps. Without the need to restart Tomcat, I saw the new project directory created under /webapps/sg#server#test after awhile. I tried to access http://localhost:8080/sg/server/test but it doesn't work. Under catalina.out log: INFO: Undeploying context [/test] Aug 17, 2009 6:57:24 PM org.apache.catalina.startup.HostConfig deployWAR INFO: Deploying web application archive sg#server#test.war [test] DEBUG [ContainerBackgroundProcessor[StandardEngine[Catalina]]] StartupListener.contextInitialized(44) | initializing context... AbandonedObjectPool is used (org.apache.commons.dbcp.abandonedobjectp...@169be56) LogAbandoned: false RemoveAbandoned: true RemoveAbandonedTimeout: 60 [test] INFO [ContainerBackgroundProcessor[StandardEngine[Catalina]]] DefaultValidatorFactory.setValidationConfigLocations(78) | Loading validation configurations from [ServletContext resource [/WEB-INF/validation.xml],ServletContext resource [/WEB-INF/validator-rules.xml],ServletContext resource [/WEB-INF/validator-rules-custom.xml]] [test] DEBUG [ContainerBackgroundProcessor[StandardEngine[Catalina]]] MS3Crypto.initParams(53) | Initializing crypto parameters. [test] DEBUG [ContainerBackgroundProcessor[StandardEngine[Catalina]]] MS3Crypto.initParams(80) | Raw Seed : [...@87c801 [test] DEBUG [ContainerBackgroundProcessor[StandardEngine[Catalina]]] StartupListener.contextInitialized(95) | Remember Me Enabled? null [test] INFO [ContainerBackgroundProcessor[StandardEngine[Catalina]]] LocaleFilter.init(152) | Initializing filter 'localeFilter' [test] INFO [ContainerBackgroundProcessor[StandardEngine[Catalina]]] LocaleFilter.init(177) | Filter 'localeFilter' configured successfully [test] INFO [ContainerBackgroundProcessor[StandardEngine[Catalina]]] GZIPFilter.init(152) | Initializing filter 'compressionFilter' [test] INFO [ContainerBackgroundProcessor[StandardEngine[Catalina]]] GZIPFilter.init(177) | Filter 'compressionFilter' configured successfully Aug 17, 2009 6:57:44 PM org.apache.catalina.core.StandardContext start SEVERE: Error filterStart Aug 17, 2009 6:57:44 PM org.apache.catalina.core.StandardContext start SEVERE: Context [/singapore/dbs/test] startup failed due to previous errors Under localhost log: Aug 17, 2009 6:57:44 PM org.apache.catalina.core.StandardContext filterStart SEVERE: Exception starting filter sitemesh com.opensymphony.module.sitemesh.factory.FactoryException: Cannot construct Factory : com.opensymphony.module.sitemesh.factory.DefaultFactory: java.lang.reflect.InvocationTargetException at com.opensymphony.module.sitemesh.Factory.report(Factory.java:87) at com.opensymphony.module.sitemesh.Factory.getInstance(Factory.java:56) at com.opensymphony.module.sitemesh.filter.PageFilter.init(PageFilter.java:86) at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilter Config.java:275) at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFil terConfig.java:397) at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterCon fig.java:108) at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:38 00) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4450) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:7 91) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:526) at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:850) at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:724) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:493) at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1274) at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:296) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSuppor t.java:119) at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java: 1337) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processC hildren(ContainerBase.java:1601) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processC hildren(ContainerBase.java:1610) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(Cont ainerBase.java:1590) at java.lang.Thread.run(Thread.java:619) Root cause: java.lang.reflect.InvocationTargetException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAcces sorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstruc torAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at com.opensymphony.module.sitemesh.Factory.getInstance(Factory.java:52) at com.opensymphony.module.sitemesh.filter.PageFilter.init(PageFilter.java:86) at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilter Config.java:275) at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFil terConfig.java:397) at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterCon fig.java:108) at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:38 00) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4450) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:7 91) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:526) at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:850) at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:724) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:493) at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1274) at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:296) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSuppor t.java:119) at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java: 1337) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processC hildren(ContainerBase.java:1601) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processC hildren(ContainerBase.java:1610) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(Cont ainerBase.java:1590) at java.lang.Thread.run(Thread.java:619) Caused by: com.opensymphony.module.sitemesh.factory.FactoryException: Could not read config file : /WEB-INF/sitemesh.xml: java.io.FileNotFoundException: /usr/local/apache-tomcat/webapps/sg (No such file or directory) at com.opensymphony.module.sitemesh.Factory.report(Factory.java:87) at com.opensymphony.module.sitemesh.factory.DefaultFactory.loadConfig(DefaultFa ctory.java:131) at com.opensymphony.module.sitemesh.factory.DefaultFactory.<init>(DefaultFactor y.java:57) ... 25 more Aug 17, 2009 6:57:44 PM org.apache.catalina.core.ApplicationContext log INFO: Closing Spring root WebApplicationContext Any idea? Thanks. Best Regards, Andy Ee -----Original Message----- From: Ognjen Blagojevic [mailto:ogn...@etf.bg.ac.rs] Sent: Monday, August 17, 2009 7:00 PM To: Tomcat Users List Subject: Re: Multi-Level Context Paths Hi Andy, Try to undeploy the old application. Rename the test.war to sg#server#test.war, and deploy it. Regards, Ognjen Andy Ee wrote: > > > Dear All, > > > > I need an urgent help, and I hope you will shed some light to it. > > > > I have recently installed Apache Tomcat version 6.0.20. I copied my project > file (test.war) under /usr/local/apache-tomcat-6.0.20/webapps/ and it > deployed successfully. I can access the site via the URL of > <http://localhost:8080/ms3/> http://localhost:8080/test/. For this example, > the context path simply follows the filename of the war file. > > > > There is a new requirement to setup multi-level context path as in I need > the URL to be <http://localhost:8080/sg/server/test/> > http://localhost:8080/sg/server/test/ instead. I read up your site and > confirmed that adding Context path within server.xml is not recommended. I > went ahead to make a copy of the existing test.xml to sg#server#test.xml > under /usr/local/apache-tomcat-6.0.20/conf/Catalina/localhost/. Then I > restarted Tomcat. > > > > The content of sg#server#test is: > > > > <Context path="/test" debug="99" reloadable="true" > > antiJARLocking="true" antiResourceLocking="false"> > > > > <!--Resource name="jdbc/test" auth="Container" > type="javax.sql.DataSource" > > maxActive="100" maxIdle="30" maxWait="10000" > > driverClassName="oracle.jdbc.driver.OracleDriver" > > username="MS3_STL" password="password" > > url="jdbc:oracle:thin:@192.168.0.37:1521:MS3" > > defaultAutoCommit="true" removeAbandoned="true" > > removeAbandonedTimeout="60" logAbandoned="true"/--> > > </Context> > > > > I restarted Tomcat but it gives errors under Catalina.out > > > > Aug 17, 2009 5:54:43 PM org.apache.catalina.core.StandardContext > resourcesStart > > SEVERE: Error starting static Resources > > java.lang.IllegalArgumentException: Document base > /usr/local/apache-tomcat/webapps/sg#server#test does not exist or is not a > readable directory > > at > org.apache.naming.resources.FileDirContext.setDocBase(FileDirContext.java:14 > 2) > > at > org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java > :4048) > > at > org.apache.catalina.core.StandardContext.start(StandardContext.java:4217) > > at > org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:7 > 91) > > at > org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771) > > at > org.apache.catalina.core.StandardHost.addChild(StandardHost.java:526) > > at > org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:630) > > at > org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:556 > ) > > at > org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:491) > > at > org.apache.catalina.startup.HostConfig.start(HostConfig.java:1206) > > at > org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:314) > > at > org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSuppor > t.java:119) > > at > org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053) > > at > org.apache.catalina.core.StandardHost.start(StandardHost.java:722) > > at > org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) > > at > org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443) > > at > org.apache.catalina.core.StandardService.start(StandardService.java:516) > > at > org.apache.catalina.core.StandardServer.start(StandardServer.java:710) > > at org.apache.catalina.startup.Catalina.start(Catalina.java:583) > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39 > ) > > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl > .java:25) > > at java.lang.reflect.Method.invoke(Method.java:597) > > at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288) > > at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413) > > Aug 17, 2009 5:54:43 PM org.apache.catalina.core.StandardContext start > > SEVERE: Error in resourceStart() > > Aug 17, 2009 5:54:43 PM org.apache.catalina.core.StandardContext start > > SEVERE: Error getConfigured > > Aug 17, 2009 5:54:43 PM org.apache.catalina.core.StandardContext start > > SEVERE: Context [/sg/server/test] startup failed due to previous errors > > Aug 17, 2009 5:54:43 PM org.apache.catalina.core.StandardContext stop > > INFO: Container > org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/sg/server/te > st] has not been started > > Aug 17, 2009 5:54:43 PM org.apache.coyote.http11.Http11Protocol start > > INFO: Starting Coyote HTTP/1.1 on http-6060 > > Aug 17, 2009 5:54:43 PM org.apache.coyote.http11.Http11Protocol start > > INFO: Starting Coyote HTTP/1.1 on http-6443 > > Aug 17, 2009 5:54:43 PM org.apache.jk.common.ChannelSocket init > > INFO: JK: ajp13 listening on /0.0.0.0:6009 > > Aug 17, 2009 5:54:43 PM org.apache.jk.server.JkMain start > > INFO: Jk running ID=0 time=0/40 config=null > > Aug 17, 2009 5:54:43 PM org.apache.catalina.startup.Catalina start > > INFO: Server startup in 18859 ms > > > > I have searched the Internet and couldn't find any posts with solutions to > such issue. It seems that setting up multi-level context path in Tomcat 6 is > not so straight-forwarded. > > > > Please kindly help, thanks. > > > > Best Regards, > Andy Ee > > > > > > > > --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org