Re: tomcat web-inf/lib and soft links, how to make them live happy
I think I found the solution. Putting it here for comopleteness. In the $CATALINA_BASE/conf/context.xml file add the following to the Context tag aka It looked like this before and now it looks like See that allowLinking attribute. Once I set it up, I am good to go. -Narahari On Thu, Feb 1, 2018 at 4:35 PM, Narahari 'n' Savitha <savith...@gmail.com> wrote: > Friends: > > I am sure the experts here have stumbled on this. So please help. > > I have an app where I have > > myapp >|_WEB-INF/lib/gson-2.3.1.jar > > When I start tomcat it works fine. > > NOw I do this > > cd webapps/myapp/WEB-INF/lib > > ln -s ../../../thejars/gson-2.3.1.jar gson-2.3.1.jar > > I then restart tomcat and the error comes up like this > > java.io.IOException: Failed to access resource /WEB-INF/lib/gson-2.3.1.jar > > so if I do a SOFT link in linux the app wont start. > > On the other hand if I do a HARD link the app comes up fine. > > Any ideas ? > >
tomcat web-inf/lib and soft links, how to make them live happy
Friends: I am sure the experts here have stumbled on this. So please help. I have an app where I have myapp |_WEB-INF/lib/gson-2.3.1.jar When I start tomcat it works fine. NOw I do this cd webapps/myapp/WEB-INF/lib ln -s ../../../thejars/gson-2.3.1.jar gson-2.3.1.jar I then restart tomcat and the error comes up like this java.io.IOException: Failed to access resource /WEB-INF/lib/gson-2.3.1.jar so if I do a SOFT link in linux the app wont start. On the other hand if I do a HARD link the app comes up fine. Any ideas ?
Tomcat deployment webapps and the whole stew
The link explains my issue on hand. It was easier to put it there so I could explain better instead of being inline. Kindly excuse. https://docs.google.com/document/d/1xHcHGof8ERugFUimHUuiYTtmvZSqxChAm1NHuxMTS5k/edit?usp=sharing
Re: Tomcat deployment webapps and the whole stew
Thank You for your answers and your valid critique (aka rants) In your document, you failed to mention Tomcat version, JRE version, or OS version. I'm going to assume that from the following path /opt/narahari/paas/webapps that you're running on some sort of Linux / UNIX / MacOS (ie, not Windows). Yes to the above sentence, I am on SLES 11.2 I'm going to further assume that you're running a version of Tomcat downloaded from tomcat.apache.org (probably a bad assumption), and that you're running some variant of Tomcat 7 (probably a less bad assumption). Yes apache-tomcat-7.0.37 from tomcat.apache.org for the above sentence. For those people who didn't read the linked document: Here's what you tried: Context docBase=/opt/adp/paas/**webapps/ptl antiResourceLocking=false / Context docBase=/opt/adp/paas/**webapps/ptl#cts antiResourceLocking=false / And your complaint is: sh$/opt/narahari/paas/adp-**tomcat/work/Catalina/**localhost/ptl_cts /WEB-INF ll total 8 drwxr-x--- 4 virtual wheel 4096 2013-06-27 14:01 classes drwxr-x--- 2 virtual wheel 4096 2013-06-27 14:01 lib None of the other stuff is getting unpacked. 1. Why are you looking in the WORK folder? For the above question, I really dont know why but colleague said that wars are unarchived there. So I presume from your answer it is of no value to look there. 2. Why are you using such a convoluted way of deploying your apps? Not really convoluted, we want to put our wars outside of tomcat's inbuilt webapps dir (another team owns and installs tomcat and not as root) 3. Are you running your Tomcat as root? (don't do this) For the above question , no it is not run as root. From the fine Tomcat documentation http://tomcat.apache.org/**tomcat-7.0-doc/config/host.**htmlhttp://tomcat.apache.org/tomcat-7.0-doc/config/host.html http://tomcat.apache.org/**tomcat-7.0-doc/config/context.**htmlhttp://tomcat.apache.org/tomcat-7.0-doc/config/context.html there are two things to note. 1. docBase is only valid if it points to a location outside of the Host's appBase For the above, are you saying that docBase should point to folder other than Host element's app base location (in my case it is appBase=webapps ) and my docBase=/opt/narahari/paas/webapps which is outside of CATALINA_BASE and CATALINA_HOME folders. Failure to do so will result in partial deployments, double deployments, and all sorts of unpleasantness. I haven't actually tried breaking the rules, so I don't know exactly what happens. 2. WAR files outside of appBase are not exploded This was changed in Tomcat 7 (see the following - http://tomcat.apache.org/**migration-7.html#Deploymenthttp://tomcat.apache.org/migration-7.html#Deployment ) In short, the docBase must point to either the WAR file or an exploded directory. Again, if a docBase is used, it must point to a location outside of the Host's appBase. If it points to a directory, the web application must be exploded. Otherwise, it must point to a WAR file, and the application will be run from that WAR file. For the above point, I put the artifact as a WAR file in the /opt/narahari/paas/webapps folder but when tomcat starts and tries to to run from the ptl#cts.war, I see the following error. Our app is trying to read WEB-INF/faces-config.xml (JSF app) but error occurs as below. 16:04:22,878 INFO [ConfigServlet] com.alp.rev.config.ConfigServlet.init(): Entering. 16:04:22,878 INFO [ConfigServlet] com.alp.rev.config.ConfigServlet.init(): FILEINPUTSTREAM VERSION 1.0 16:04:22,878 INFO [ConfigServlet] com.alp.rev.config.ConfigServlet.init(): configFiles = [/WEB-INF/faces-config.xml] 16:04:22,878 INFO [ConfigServlet] com.alp.rev.config.ConfigServlet.init(): Full path to Faces configuration file [null] 16:04:22,878 ERROR [ConfigServlet] com.alp.rev.config.ConfigServlet.init(): Error trying to read file [null]. Exception = [java.lang.NullPointerException] java.lang.NullPointerException at java.io.FileInputStream.init(FileInputStream.java:116) at java.io.FileInputStream.init(FileInputStream.java:79) at com.adp.revit.config.ConfigServlet.init(ConfigServlet.java:59) at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1280) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1193) at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1088) Thank you for your help and suggestions on incomplet information when I posted. -Narahari PS: On the other hand, if I manually expand ptl#cts.war manually and then point to expanded folder in the docBase attribute, I dont see exceptions. Just a point for your reference
Re: Tomcat deployment webapps and the whole stew
Here is what I tried. CATALINA_HOME=/opt/narahari/paas/apache-tomcat-7.0.37 CATALINA_BASE=/opt/narahari/paas/adp-tomcat In the $CATALINA_BASE/conf/Catalina/localhost/ptl#cts.xml file the entry is Context docBase=/opt/narahari/paas/webapps/ptl#cts.war antiResourceLocking=false / = The contents of /opt/narahari/paas/webapps folder is virtual@cdl-pid-p1-01:/opt/narahari/paas/webapps ls ptl#cts.war === Now I start tomcat and I go check the logs to see if the ptl#cts.war got deployed and I see the following 22:18:34,426 INFO [ConfigServlet] com.alp.rev.config.ConfigServlet.init(): Entering. 22:18:34,427 INFO [ConfigServlet] com.alp.rev.config.ConfigServlet.init(): FILEINPUTSTREAM VERSION 1.0 22:18:34,427 INFO [ConfigServlet] com.alp.rev.config.ConfigServlet.init(): configFiles = [/WEB-INF/faces-config.xml] 22:18:34,427 INFO [ConfigServlet] com.alp.rev.config.ConfigServlet.init(): Full path to Faces configuration file [null] 22:18:34,427 ERROR [ConfigServlet] com.adp.rev.config.ConfigServlet.init(): Error trying to read file [null]. Exception = [java.lang.NullPointerException] java.lang.NullPointerException at java.io.FileInputStream.init(FileInputStream.java:116) at java.io.FileInputStream.init(FileInputStream.java:79) at com.alp.rev.config.ConfigServlet.init(ConfigServlet.java:59) at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1280) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1193) at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1088) at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5033) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5317) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) So as you can see I have the war file in the right location(/opt/narahari/paas/webapps) and is pointed to in the $CATALINA_BASE/conf/Catalina/localhost/ptl#cts.xml However I dont see the war initializing correctly. It is trying to find the faces-config.xml file which does not seem to be found. (yes it is a part of the war file and exists under WEB-INF) So it looks like app running out of the war file directly is not working correctly. I am not sure why but I would want your expert advice. Regards, -Narahari
Re: common vs system vs shared class loaders
Sorry Dan but if I do what you are suggesting I will end up in redundant jars all over the place and I dont want to do that. Any other thoughts ? On Thu, Jan 17, 2013 at 9:54 AM, Daniel Mikusa dmik...@vmware.com wrote: On Jan 17, 2013, at 9:20 AM, Narahari 'n' Savitha wrote: Friends: Thank you for your time. Here is the entry for the catalina.policy file common.loader=${catalina.base}/lib,${catalina.base}/lib/*.jar,${catalina.home}/lib,${catalina.home}/lib/*.jar server.loader= shared.loader=${catalina.home}/thirdPartyLib/*.jar,${catalina.home}/webServicesLib/*.jar For example I have SpringBean entries in the web.xml ?xml version=1.0 encoding=utf-8? web-app id=WebApp_ID version=2.5 xmlns=http://java.sun.com/xml/ns/javaee; xmlns:xsi= http://www.w3.org/2001/XMLSchema-instance; xsi:schemaLocation=http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd; display-nametest/testing/display-name !-- Add Support for Spring -- listener listener-classorg.springframework.web.context.ContextLoaderListener/listener-class /listener listener listener-classorg.springframework.web.context.request.RequestContextListener/listener-class /listener The spring bean jars are in the thirdPartyLib folder. The shared.loader line has the entries for the thirdPartyLib/*.jar and is not getting picked up by the class loader. I see ClassNotFoundExceptions in the localhost log file. However when I appended the thirdPartyLib/*.jar to the line common.loader line on my computer, things started working. What is the right approach ?There is confusion inside our group as to what is the right approach. My opinion, don't mess with either one. Most Tomcat users should not need to change these values. What is your reason for wanting to change these? Should we use the common.loader line or the shared.loader line ? Leave them alone. Don't touch either one. I would like to hear from the Tomcat experts so we can do it the right way. My suggestion would be to put JDBC drivers into $CATALINA_BASE/lib or $CATALINA_HOME/lib and put the rest of your JAR files in WEB-INF/lib. It's the simplest approach, it lets you easily hot redeploy your application and it cuts down on weird class loader issues. Dan - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: common vs system vs shared class loaders
The question that I am trying to understand is should I use the common.loader or shared.loader line to put my third party jars. What is the recommended approach by Tomcat developers ? -Narahari On Thu, Jan 17, 2013 at 10:58 AM, Daniel Mikusa dmik...@vmware.com wrote: On Jan 17, 2013, at 10:26 AM, Caldarale, Charles R wrote: From: Narahari 'n' Savitha [mailto:savith...@gmail.com] Subject: Re: common vs system vs shared class loaders Sorry Dan but if I do what you are suggesting I will end up in redundant jars all over the place and I dont want to do that. That's an issue easily handled by a deployment script. You really, really, really do not want to share classes across webapps. - Chuck +1 Dan - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: common vs system vs shared class loaders
I could not have said better than Shanti. It is exactly the type of situation in. My question still remains which line common.loader or share.loader -Narahari On Thu, Jan 17, 2013 at 1:48 PM, Shanti Suresh sha...@umich.edu wrote: Hi Chuck, Dan, Sometimes, sharing classes across applications may become necessary though. We have a situation where a separate application and associated webapp classloader is launched for each site in our application. The reason this is happening is because things have been setup differently internally - without going into too many details. So, we ran into PermGen exhaustion issues. Putting all the libraries in $CATALINA_HOME/common/lib and modifying the common classloader in catalina.properties as follows, ensures that a single copy of the classes get loaded and shared among all sites: common.loader=${catalina.base}/lib,${catalina.base}/lib/*.jar,${catalina.home}/lib,${catalina.home}/lib/*.jar,${catalina.base}/common/lib/*.jar We wanted to also put the libraries into a separate directory called common/ because we wanted to keep them separate from the Tomcat-native libraries. He may have a similar situation too; don't know. Regards, -Shanti On Thu, Jan 17, 2013 at 10:58 AM, Daniel Mikusa dmik...@vmware.com wrote: On Jan 17, 2013, at 10:26 AM, Caldarale, Charles R wrote: From: Narahari 'n' Savitha [mailto:savith...@gmail.com] Subject: Re: common vs system vs shared class loaders Sorry Dan but if I do what you are suggesting I will end up in redundant jars all over the place and I dont want to do that. That's an issue easily handled by a deployment script. You really, really, really do not want to share classes across webapps. - Chuck +1 Dan - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: websphere 7.0 JAXWS webservice deployed in tomcat 6.0.32 not working
Thank You Chris for your time and help. I understand that I need WebServices Engine like AXIS2 or METRO or Apache CXF. Here is the deal. Websphere7 uses AXIS2 as the WebServices engine. I have my Webservices class with Annotation of @WebService. This is then compiled to WEB-INF\classes folder. Then the war is built. Remember uptil this point I have not made any web.xml changes. Then I deploy the war file (using ear) to a Websphere7 installation. Once the deployment of war happens, something inside of AXIS2 is processing all the annotation based classes and dynamically generating the web.xml and processing the WebServices. What is the equivalent of that in Tomcat7. Tomcat7 can handle Servlet3 based classes. So I thought it should have the mechanism to process Annotated Webservices as well. -Narahari On Wed, Sep 21, 2011 at 9:53 AM, Christopher Schultz ch...@christopherschultz.net wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Narahari, On 9/20/2011 11:15 PM, Narahari 'n' Savitha wrote: I have a JAXWS webservice developed in WebSphere 7.0. It is working there. The stack in Websphere is Axis2.0 I wrote a POJO Java class, annotated with the @WebService annotation and then I did a wsgen to generate the necessary artifacts and created the war file. The imp thing is that web.xml does NOT have any servlets in it or listeners defined. Tomcat only implements the servlet specification, so if you want to deploy web services, you're going to have to find a way to get that going using a helper library -- like Axis. However when I deploy that war file to Tomcat 6.0.32 and then copy the axis2 jars to the WEB-INF\lib folder. Axis needs a servlet to be mapped in order to serve requests to your web services. When I restart Tomcat, the WebService does not work. What I am curious is, how come Websphere7, deploys the WebService on startup without any entires in web.xml but Tomcat refuses to do so ? Websphere is a J2EE application server while Tomcat is a servlet container only. Maybe you want to look into using JBoss or Apache Geronimo if you need more than servlet-based services. - -chris -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.10 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk557EwACgkQ9CaO5/Lv0PAIZwCeL2Gv2db8XdIoUV8xJdDSKG7T tx4AoLcoVshb2HK4gXlVtX4TMF+mmSMy =CsWK -END PGP SIGNATURE- - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: websphere 7.0 JAXWS webservice deployed in tomcat 6.0.32 not working
You are right. I meant to say Tomcat 7 On Wed, Sep 21, 2011 at 2:18 PM, Caldarale, Charles R chuck.caldar...@unisys.com wrote: From: Narahari 'n' Savitha [mailto:savith...@gmail.com] Subject: Re: websphere 7.0 JAXWS webservice deployed in tomcat 6.0.32 not working Tomcat7 can handle Servlet3 based classes. But Tomcat 6 can't, so perhaps you should retry using Tomcat 7. - Chuck THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY MATERIAL and is thus for use only by the intended recipient. If you received this in error, please contact the sender and delete the e-mail and its attachments from all computers. - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
websphere 7.0 JAXWS webservice deployed in tomcat 6.0.32 not working
Friends: I have a JAXWS webservice developed in WebSphere 7.0. It is working there. The stack in Websphere is Axis2.0 I wrote a POJO Java class, annotated with the @WebService annotation and then I did a wsgen to generate the necessary artifacts and created the war file. The imp thing is that web.xml does NOT have any servlets in it or listeners defined. ?xml version=1.0 encoding=UTF-8? web-app xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; xmlns=http://java.sun.com/xml/ns/javaee; xmlns:web= http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd; xsi:schemaLocation=http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd; id=WebApp_ID version=2.5 display-nameCMSExternalWebServices/display-name servlet servlet-nameLog4JControl/servlet-name servlet-classit.openutils.log4j.Log4jConfigurationServlet/servlet-class /servlet servlet-mapping servlet-nameLog4JControl/servlet-name url-pattern/Log4JControl/*/url-pattern /servlet-mapping welcome-file-list welcome-fileindex.html/welcome-file welcome-fileindex.htm/welcome-file welcome-fileindex.jsp/welcome-file welcome-filedefault.html/welcome-file welcome-filedefault.htm/welcome-file welcome-filedefault.jsp/welcome-file /welcome-file-list /web-app However when I deploy that war file to Tomcat 6.0.32 and then copy the axis2 jars to the WEB-INF\lib folder. When I restart Tomcat, the WebService does not work. What I am curious is, how come Websphere7, deploys the WebService on startup without any entires in web.xml but Tomcat refuses to do so ? What am I missing ? -Narahari
Re: jndi global look up questions
Thank you for the answer. I have had gone thru it before asking question and after. If there is a specific area that you want me to look at let me know. If anyone has had this direct global JNDI access need could you share that info ? A hack, a round about. I dont have access to the source code that is doing direct JNDI access and how to configure Tomcat to allow to do that. -Narahari On Thu, Mar 18, 2010 at 2:58 AM, Gurkan Erdogdu cgurkanerdo...@gmail.comwrote: Please have a look http://tomcat.apache.org/tomcat-6.0-doc/jndi-datasource-examples-howto.html Thanks; --Gurkan 2010/3/18 Narahari 'n' Savitha savith...@gmail.com Friends: I have the following setup. A Jar file with a class called DBConnectionUtil that reads a specific string for lookup jdbc/windsDS. This jar is being used inside of Websphere7 and it works fine. Inside of Tomcat 6, the same context look up for the jndi of jdbc/windsDS does NOT work. Tomcat expects Context parentcontext = new InitialContext(); Context childContext = parentcontext.lookup(java:comp/env); Datasource ds = childContext.lookup(jdbc/windsDS); All the xml entries are right since the above snippet works. I want to make the direct global look up aka jdbc/windsDS to work. Context parentcontext = new InitialContext(); Datasource ds = context.lookup(jdbc/windsDS); Is there a way to do jndli direct global lookup ? -Narahari -- Gurkan Erdogdu http://gurkanerdogdu.blogspot.com
Re: jndi global look up questions
Bingo. Exactly. Is there a way to kludge Tomcat into doing this ? Please... -Narahari On Thu, Mar 18, 2010 at 9:05 AM, Caldarale, Charles R chuck.caldar...@unisys.com wrote: From: Konstantin Kolinko [mailto:knst.koli...@gmail.com] Subject: Re: jndi global look up questions What do you mean by global JNDI access. Judging from the example code supplied by the OP, he or she wants a kludge in Tomcat to so that it presumes the presence of the java:comp/env prefix. If we can believe the original message, it appears that WebSphere allows sloppy, non-spec-compliant programming to get away with this. - Chuck THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY MATERIAL and is thus for use only by the intended recipient. If you received this in error, please contact the sender and delete the e-mail and its attachments from all computers. - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: jndi global look up questions
Unfortunately dont have choice over this. Since Websphere allows this the team that provides this JAR file has used shabby programming practices. Now I am trying to make this app work in Tomcat. So if thee is a setting in Tomcat to say allow shabby programming practices to get thru, it will be great. What do you say ? Any ideas ;) -Narahari On Thu, Mar 18, 2010 at 9:41 AM, Caldarale, Charles R chuck.caldar...@unisys.com wrote: From: Narahari 'n' Savitha [mailto:savith...@gmail.com] Subject: Re: jndi global look up questions Bingo. Exactly. Is there a way to kludge Tomcat into doing this ? Better to change your code to be spec-compliant, and not dependent on the illogical (and illegal) behavior of certain app servers. - Chuck THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY MATERIAL and is thus for use only by the intended recipient. If you received this in error, please contact the sender and delete the e-mail and its attachments from all computers. - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: jndi global look up questions
Right but do you know how to do this. On Thu, Mar 18, 2010 at 10:43 AM, Filip Hanik - Dev Lists devli...@hanik.com wrote: On 03/18/2010 07:05 AM, Caldarale, Charles R wrote: From: Konstantin Kolinko [mailto:knst.koli...@gmail.com] Subject: Re: jndi global look up questions What do you mean by global JNDI access. Judging from the example code supplied by the OP, he or she wants a kludge in Tomcat to so that it presumes the presence of the java:comp/env prefix. If we can believe the original message, it appears that WebSphere allows sloppy, non-spec-compliant programming to get away with this. almost all app servers allows access to the global jndi registry, the resource link is a pain in the rear very often :) - Chuck THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY MATERIAL and is thus for use only by the intended recipient. If you received this in error, please contact the sender and delete the e-mail and its attachments from all computers. - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
jndi global look up questions
Friends: I have the following setup. A Jar file with a class called DBConnectionUtil that reads a specific string for lookup jdbc/windsDS. This jar is being used inside of Websphere7 and it works fine. Inside of Tomcat 6, the same context look up for the jndi of jdbc/windsDS does NOT work. Tomcat expects Context parentcontext = new InitialContext(); Context childContext = parentcontext.lookup(java:comp/env); Datasource ds = childContext.lookup(jdbc/windsDS); All the xml entries are right since the above snippet works. I want to make the direct global look up aka jdbc/windsDS to work. Context parentcontext = new InitialContext(); Datasource ds = context.lookup(jdbc/windsDS); Is there a way to do jndli direct global lookup ? -Narahari
Re: ROOT webapp question confused with hosts
Som, Thanks for replying back. Its a good idea. That is not what I am looking for though. What you have given looks like a work around. Coming from the IIS world, I can set aside the folder c:\vruksha as the folder where I have my html files are. Then I go to IIS set aside a virtual folder then say that c:\vruksha is the folder that the acutal files reside in. May be this is a feature of APACHE WEBSERVER and I am trying to look for that inside of tomcat. But still I should be able to say that the ROOT is not the default app but /vruksha is. I am not sure if this is even configurable inside server.xml or at the hosts level, saying ROOT for the default host is /vruksha. -Narahari On 11/8/05, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: By default the Tomcat renders the default home page which is specified in the conf/web.xml such as index.html which is located under the /Tomcat5.0/webapps/ROOT folder. You need to redirect the URL from index.html to your default home page. So, Please modify the index.htmlfile one located under /Tomcat5.0/webapps/ROOT with the following content html head meta http-equiv=Content-Type content=text/html; charset=iso-8859-1 titleRe-direct/title meta http-equiv=refresh content=0; url=/vruksha /head body /body /html You can also mention the default home page URL in the /Tomcat5.0/conf/web.xml in welcome-file-list element as below welcome-file-list welcome-fileindex.html/welcome-file welcome-fileindex.htm/welcome-file welcome-fileindex.jsp/welcome-file /welcome-file-list Hope this will solve your problem. Thanks T.G. Somashekara Narahari 'n' Savitha To: users@tomcat.apache.org [EMAIL PROTECTED] cc: .com Subject: ROOT webapp question confused with hosts 11/08/2005 09:23 AM Please respond to Tomcat Users List Friends, I am unable to decipher this. I am on windows xp running tomcat as my webserver/jsp engine 5.5.09 I have http://savithari.dyndns.org/vruksha that works correctly. but http://savithari.dyndns.org always brings up the default page of tomcat. I know that I can rename the ROOT folder to be able accomplish a direct hit to http://savithari.dyndns.org to bring up the page I want. BUT THAT IS NOT WHAT I WANT. I want to be able to keep my webpage contents under M:\VRUKSHA which contains the entire webpage. I still want the configurate of tomcat to point the ROOT to this folder M:\VRUKSHA so that I can update the correct folder. Is this too much to ask ? If not that atleast tell me an alternate way to much with the ROOT so that RENAMING MY APPLICATION TO ROOT is not the only solution. Thank your for your time and help. -Narahari - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]