1. 程式人生 > >關於Struts首頁的跳轉

關於Struts首頁的跳轉

看過很多的Struts專案都首頁跳轉
都是做一個跳轉頁面,這個頁面只是負責跳轉,去請求Action
看了大家的做法都是這樣,網上的一些文章也都是這樣寫

web.xml
<welcome-file-list>
<welcome-file>
welcome.jsp
</welcome-file>
</welcome-file-list>

welcome.jsp
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic">
<html>
<body>
<logic:forward name="/index.do"/>
</body>
</html>

這樣做的目的是為了進入到Action中,然後就可以進行從資料庫讀資料然後顯示到jsp頁面上,就算首頁的頁面不需要從資料庫讀取資料,但是直接請求jsp頁面也是違背了MVC的設計模式

但是為什麼不讓專案直接請求Action呢,不需要用jsp過渡一下啊
[b]於是將web.xml修改一下[/b]
<welcome-file-list>
<welcome-file>
index.do
</welcome-file>
</welcome-file-list>

重新部署一下專案,請求專案
出現了404錯誤,為什麼啊

[b]在專案根目錄下新建一個副檔名為.do的[color=red]index.do[/color]的檔案,裡面不需要寫任何程式碼[/b]
再次請求,竟然成功了

原來web.xml中的welcome-file會到你的專案下直接找你配置的首頁檔案
如果檔案存在,它才會去執行

雖然這樣還是會有一個跳轉檔案,但是它裡面沒有任何程式碼
不僅省掉了幾行程式碼,過程上也少走了一步