springMVC的顯示登陸首頁和錯誤時跳轉錯誤介面
阿新 • • 發佈:2019-01-22
在專案的WebContent下放了一個index.html檔案和404.html檔案,我希望訪問springMvc訪問專案根路徑的檔案時,能夠開啟這個index.html檔案,同樣,當網頁無法找到報404錯誤時,返回404.html這個網頁。
很鬱悶的是,專案啟動以後,控制檯會列印
1 |
2014 - 08 - 31
13 : 38 : 20
[ WARN] - org.springframework.web.servlet.PageNotFound -DispatcherServlet.java( 1108 )
-No mapping found for
HTTP request with URI [/page404.html] in DispatcherServlet with name 'springMvc3'
|
並且訪問localhost時,總是不能找到index.html,也無法返回404.html,網上找了很久也沒找到原因,後來自己研究了將近一箇中午,總算解決問題了。
解決方案就是:
在spring的配置檔案中,一定要加上這句
1 |
<mvc: default -servlet-handler
/>
|
這句的意思是:訪問專案時,首先走預設的 web.xml 配置的servlet,沒有的話才找對應controller
我的web.xml中配置了以下內容
1 2 3 4 5 6 7 8 9 |
<welcome-file-list> <welcome-file>index.html</welcome-file>
</welcome-file-list>
<!--
通過錯誤碼來配置error-page ,配置了當系統發生 404 錯誤時,跳轉到錯誤處理頁面NotFound.jsp。
-->
<error-page>
<error-code> 404 </error-code>
<location>/page404.html</location>
</error-page>
|
在spring的配置檔案中,如果有這句配置
1 |
<mvc: default -servlet-handler
/>
|
則代表著訪問專案根路徑localhost的話,spring會直接返回index.html,如果index.html不存在的話,則會返回相應的controller所返回的頁面。
相反,如果沒有這句配置
1 |
<mvc: default -servlet-handler
/>
|