2010-10-20 14 views
26

Ho appena iniziato a conoscere le app Web e a distribuirle a Tomcat. Così ho iniziato con un progetto di app Web di esempio, costituito da montanti, sospensione, ecc., Ecc.In che modo Tomcat trova la HOME PAGE della mia Web App?

Il build ANT ha avuto esito positivo. Inoltre, è stato in grado di distribuire l'app Web tramite un xml sotto Catalina/host. Sono in grado di aprire il sito web senza problemi.

Questa è la struttura del mio web app

-exploded 

    -WEB-INF 

      -classes 

      -lib 

      -web.xml 

    -index.jsp 

    -welcome.html 

La mia domanda è

Come si fa Tomcat sapere che è la prima pagina/inizio pagina/home page che è dovrebbe aprire? In quale file è specificato?

risposta

43

In qualsiasi applicazione Web, ci sarà un web.xml nella cartella WEB-INF/.

Se non avete uno nel vostro web app, come sembra essere il caso nella struttura delle cartelle, l'impostazione predefinita Tomcatweb.xml è sotto TOMCAT_HOME/conf/web.xml

In entrambi i casi, le linee pertinenti del web.xml sono

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

così ogni file che corrisponde a questo modello quando trovato verrà mostrato come la pagina iniziale.

In Tomcat, un'impostazione web.xml all'interno della tua app Web sovrascriverà il valore predefinito, se presente.

ulteriore lettura

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

+0

Grazie Jose. Ho un web.xml in WEB-INF/cartella con tag che punta a index.jsp. Questo index.jsp si riferisce a quello sotto la cartella "esplosa" come mostrato nella mia domanda sopra? –

+0

Sì, index.jsp è nella radice della tua app Web, cioè quella che vedi sotto "esplosa". Prova combinazioni di rinomina del JSP stesso o modifica il web.xml per confermare come si comporta. – JoseK

+0

Posso aggiungere che a seconda della configurazione di Apache si possono avere anche ignorare DirectoryIndex in un file .htaccess nella stessa cartella del file .htaccess (supponendo che le sostituzioni con .htaccess sono ammessi in tutto): DirectoryIndex index.jsp Altrimenti potresti ancora ricevere un errore di accesso. –

0

avevo già index.html nella cartella WebContent ma non stava rivelando, infine, ho aggiunto il seguente pezzo di codice nel mio progetti web.xml ed è iniziato mostrando

<servlet-mapping> 
    <servlet-name>default</servlet-name> 
    <url-pattern>/</url-pattern> 
    </servlet-mapping> 
Problemi correlati