web.xml中 標簽不起作用


之前也都提到過,web.xml會通過<servlet>和<servlet-mapping>來確定url和指定contoller文件,乃至於jsp頁面的聯系。

但是有一個<welcome-file-list>的標簽用於指定開始的歡迎頁面,顯然兩者會發生沖突,web程序將會如何處理呢?很簡單,來做個實驗即可,這時就需要物理的控制變量法了,我們設置welcome歡迎頁和servlet處理的頁不同,配置如下所示:

  <welcome-file-list>
    <welcome-file>/WEB-INF/jsp/falsepaswd.jsp</welcome-file>
  </welcome-file-list>

注意!路徑是以web-app為根目錄的,是/WEB-INF/jsp/falsepaswd.jsp,而不是WEB-INF/jsp/falsepaswd.jsp,千萬不要少了前面的斜杠。

  <servlet>
    <servlet-name>spring-mvc</servlet-name>
    <servlet-class>
      org.springframework.web.servlet.DispatcherServlet
    </servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>

  <servlet-mapping>
    <servlet-name>spring-mvc</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>

初始的url配置方式如下:

 

 當url是上圖中那樣時,servlet會起作用,而不管上圖中的url是什么,welcome-file都會先出現,顯然這時兩者會起沖突。

 

直接運行最終結果現實,servlet的優先級還是要高於welcome頁面:

顯示結果是經servlet及controller文件處理后的結果!

 

 

當然,此時刪除welcome標簽不會對上述結果有任何影響。

 

如果想讓welcome標簽起效,這是我們只需要修改初始url即可,只要不與serlvet沖突即可。

此時url無任何沖突!

 

此時成功跳轉到welcome頁面:

 

 我們再直接鍵入/hello,仍能進入相關頁面:

 

 

 再刪除,也能成功返回,看來該url已經與welcome頁面相綁定

 

 

 關於<welcome-file-list>標簽的問題

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM