1. 程式人生 > >springmvc 設定預設首頁

springmvc 設定預設首頁

welcome-file-list是一個配置在web.xml中的一個歡迎頁,用於當用戶在url中輸入工程名稱或者輸入web容器url(如http://localhost:8080/)時直接跳轉的頁面.

例如:

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

        <welcome-file>index.jsp</welcome-file>

        <welcome-file>index.action</welcome-file>

</welcome-file-list>


     今天我遇到了一個問題,就是直接輸入localhost:8080/不是跳轉到index.html,而是報404找不到的錯誤,根據錯誤資訊看明顯是沒有跳轉到index.html,意思就是說welcome-file-list根本就木有起作用。

解決問題一定要從原理入手,所以要先分析welcome-file-list是怎麼工作的。

     welcome-file-list的工作原理是,按照welcome-file的.list一個一個去檢查是否web目錄下面存在這個檔案,如果存在,繼續下面的工作(或者跳轉到index.html頁面,或者配置有struts的,會直接struts的過濾工作).如上例,先去webcontent(這裡是Eclipse的工程目錄根目錄)下是否真的存在index.html這個檔案,如果不存在去找是否存在index.jsp這個檔案,以此類推。

      還要說的是welcome-file不一定是html或者jsp等檔案,也可以是直接訪問一個action。就像我上面配置的一樣,但要注意的是,一定要在webcontent下面建立一個index.action的空檔案,然後使用struts配置去跳轉,不然web找不到index.action這個檔案,會報404錯誤,原因就是我之前說的那樣。

     希望上述文章對大家有幫助,如果還有其他的可能使得歡迎頁不起作用,歡迎大家給我留言。

還有些異常頁面的跳轉

<error-page> <!--當系統出現404錯誤,跳轉到頁面nopage.html-->  
        <error-code>404</error-code>  
        <location>/nopage.html</location>  
    </error-page>  
    <error-page> <!--當系統出現java.lang.NullPointerException,跳轉到頁面error.html-->  
        <exception-type>java.lang.NullPointerException</exception-type>  
        <location>/error.html</location>  
    </error-page>  
    <session-config><!--會話超時配置,單位分鐘-->  
        <session-timeout>360</session-timeout>  
    </session-config>  

      如果配置了servlet的url-pattern是/*,那麼訪問localhost:8080/會匹配到該servlet上,而不是匹配welcome-file-list;如果url-pattern是/(該servlet即為預設servlet),如果其他匹配模式都沒有匹配到,則會匹配welcome-file-list。