2015-09-02 25 views
7

Ho scritto un semplice progetto web dinamico in Eclipse Luna. Nella pagina web.xml ho rimosso il tag predefinito welcome-file-list.index.jsp Il file si apre anche quando <welcome-file-list> non è definito

<?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" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> 
    <display-name>indextest</display-name> 
</web-app> 

ma l'URL http://localhost:8080/indextest/ dirige ancora index.jsp sotto 'WEB-INF' anche dopo che ho rimosso il tag welcome-file-list da web.xml. Come si indirizza alla pagina index.jsp sebbene welcome-file-list sia assente in web.xml?

+0

Che server stai usando? – Paolof76

+0

Potrebbe essere stato memorizzato nei cookie del browser, basta eliminarlo nuovamente. Oppure basta pulire la directory di lavoro di Tomcat che crea problemi qualche volta. – SaviNuclear

+0

Sto usando Tomcat v7.0 >>> @ Paolof76 –

risposta

4

Se si utilizza un'istanza di Tomcat 7, e sono non specificando l'elenco dei file di benvenuto, il contenitore (tomcat) sta esaminando il suo valore predefinito, ovvero in /conf/web.xml nell'istanza di tomcat.

Queste sono le linee:

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

suggerisco di non cambiare nulla nella predefinito Tomcat, perché l'applicazione web non dovrebbe dipendere dal contenitore che lo gestisce. Invece, dovresti definire la tua lista di file di benvenuto nel tuo web.xml. Spero che questo aiuti!

4

Se non esiste un elenco di benvenuto fornito quindi il contenitore cercherà di caricare i file al di sotto nell'ordine definito:

  1. index.html
  2. index.htm
  3. index.jsp

Aggiornamento: quanto riguarda Tomcat

Se non web.xml è fornito in th e applicazione, il web.xml predefinito ($ CATALINA_HOME/conf/web.xml) di Tomcat viene fornito all'applicazione. Questo descrittore di distribuzione ha le seguenti linee:

<!-- --> 
<!-- If you define welcome files in your own application's web.xml --> 
<!-- deployment descriptor, that list *replaces* the list configured --> 
<!-- here, so be sure to include any of the default values that you wish --> 
<!-- to use within your application. --> 

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

Ecco perché l'index.jsp viene mostrata per default

Fonte per l'aggiornamento: https://stackoverflow.com/a/17247947/1129313

0

Il file predefinito chiamerà index.jsp se si modifica Il nome del file Quindi non verrà trovato index.jsp e si otterrà come previsto.