Servlet web.xml welcome-file-list


web.xml檔案中的web-app塊的welcome-file-list子元素用於定義歡迎檔案列表。 它的子元素是welcome-file,用於定義歡迎檔案(即預設開啟的頁面)。

歡迎檔案是伺服器自動呼叫的檔案,如果不指定任何檔案名。

預設情況下,伺服器按以下順序查詢歡迎檔案:

  1. web.xml檔案中的welcome-file-list指定的檔案
  2. index.html
  3. index.html
  4. index.jsp

如果沒有找到這些檔案,伺服器會報告404錯誤。

如果在web.xml中指定了welcome-file,並且所有檔案index.htmlindex.htmlindex.jsp都存在,那麼優先順序將轉到welcome-file

如果web.xml檔案中不存在welcome-file-list項,那麼優先順序到index.html檔案,然後是index.html,以及最後是index.jsp檔案。

下面來看看一個定義歡迎檔案的web.xml檔案。

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://xmlns.jcp.org/xml/ns/javaee"
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
    id="WebApp_ID" version="3.1">
    <display-name>helloworld</display-name>
    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>home.jsp</welcome-file>
    </welcome-file-list>
</web-app>

現在,index.htmlindex.jsphome.jsp將是歡迎檔案。

如果有歡迎檔案,可以按如下所示的方式呼叫專案:

http://localhost:8888/helloproject

如上所示,我們並沒有在專案名稱(helloproject)之後指定任何檔案名。上面URL存取相當於以下三個 -

http://localhost:8888/helloproject/index.html
http://localhost:8888/helloproject/index.jsp
http://localhost:8888/helloproject/home.jsp