views:

21

answers:

1

I am just getting started to learn about Web Apps and deploying them to Tomcat. So I started with a sample web app project - made up of struts, hibernate, etc., etc.

The ANT build was successful. Also, was able to deploy the web app through an xml under Catalina/host. I am able to open the web site with no issues.

This is the structure of my web app

-exploded

     -WEB-INF

          -classes

          -lib

          -web.xml

    -index.jsp

    -welcome.html

My question is

How does Tomcat know which is the FIRST PAGE / STARTING PAGE / HOME PAGE that it is supposed to open? Which file is this specified in?

+2  A: 

In any web application, there will be a web.xml in the WEB-INF/ folder.

If you dont have one in your web app, as it seems to be the case in your folder structure, the default Tomcat web.xml is under TOMCAT_HOME/conf/web.xml

Either way, the relevant lines of the web.xml are

<welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>

so any file matching this pattern when found will be shown as the home page.

In Tomcat, a web.xml setting within your web app will override the default, if present.

Further Reading

How do I override the default home page loaded by Tomcat?

JoseK
Thanks Jose. I do have a web.xml in WEB-INF/ folder with <welcome-file-list> tag pointing to index.jsp. Does this index.jsp refer to the one under the "exploded" folder as shown in my question above?
Van de Graff
Yes, the index.jsp is in the root within your web app i.e. the one you see under "exploded". Try combinations of renaming the JSP itself or change the web.xml to confirm how it behaves.
JoseK