welcome-file-list是一個(gè)配置在web.xml中的一個(gè)歡迎頁(yè),用于當(dāng)用戶在url中輸入項(xiàng)目名稱或者輸入web容器url(如http://localhost:8080/)時(shí)直接跳轉(zhuǎn)的頁(yè)面.
例如:
index.html
index.jsp
index.action
welcome-file-list的工作原理是,按照welcome-file的.list一個(gè)一個(gè)去檢查是否web目錄下面存在這個(gè)文件,如果存在,繼續(xù)下面的工作,先去webcontent(這里是Eclipse的工程目錄根目錄)下是否真的存在index.html這個(gè)文件,如果不存在去找是否存在index.jsp這個(gè)文件,以此類推。
還要說的是welcome-file不一定是html或者jsp等文件,也可以是直接訪問一個(gè)action。就像我上面配置的一樣,但要注意的是,一定要在webcontent下面建立一個(gè)index.action的空文件,然后使用struts配置去跳轉(zhuǎn),不然web找不到index.action這個(gè)文件,會(huì)報(bào)404錯(cuò)誤,原因就是我之前說的那樣。
如果配置了servlet的url-pattern是/*,那么訪問localhost:8080/會(huì)匹配到該servlet上,而不是匹配welcome-file-list;如果url-pattern是/(該servlet為默認(rèn)servlet),如果其他匹配模式都沒有匹配到,則會(huì)匹配welcome-file-list。如果訪問到了welcome-file,項(xiàng)目會(huì)自動(dòng)跳轉(zhuǎn)到歡迎頁(yè)!
/和 /* 對(duì)于所用請(qǐng)求都攔截,但是 / 對(duì)于 .jsp 的不攔截,直接訪問到真實(shí)的jsp頁(yè)面。
<servlet> <servlet-name>hello</servlet-name> //起一個(gè)名字而已,與下面的servlet-mapping的名字一致,表示這兩個(gè)是一組 <servlet-class>com.briup.test.HelloWorld</servlet-class> //攔截請(qǐng)求后調(diào)用這個(gè)類去處理 </servlet> <servlet-mapping> <servlet-name>hello</servlet-name> <url-pattern>/world</url-pattern> //映射,攔截請(qǐng)求 </servlet-mapping>