程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> Servlet/JSP 容器開發手記2

Servlet/JSP 容器開發手記2

編輯:關於JSP

welcome-file-list 的處理

按照Servlet 規范,歡迎文件是不以 / 開頭的部分 URI, 但我不清楚是它除了可以是一個文件,是否還可以是以映射到一個Servlet處理的 URL,比如

1. 如果歡迎文件指的 index.html, index.htm, index.jsp(SUN企業級應用的首選),那就要尋找文件系統是否存在該文件,如不存在,則將 404(NOT FOUND) 錯誤代碼返回給客戶端,否則處理該文件

2. 如果歡迎文件提的 index.do, 而所有 *.do 的處理都被映射到 ActionServlet 處理,此時容器是否接受這樣的請求呢?

通過對tomcat(一個很好用的JSP運行平台)4.1測試發現

如果是第二種情況,容器返回 404 錯誤, 即使 index.do 被正確映射也能被相應的 Servlet 正確處理。如果將在相應的目錄中放在一個 index.do 文件,此時 index.do 被正確處理了。

所以tomcat(一個很好用的JSP運行平台)的處理方式應該是

1. 測試 index.do 文件是否存在,如果不存在, 則再找下一個歡迎文件。
2. 如果存在,再返回重定向信息(包含了歡迎文件的完整的URL) 給客戶端

注意: 必須采用重定向的方式,不能直接交給 Servlet 處理,如果直接交給 Servlet 處理, 雖然可以將正確的信息返回給浏覽器,但如果 HTML 代碼中包含了相對路徑URL引用,則會被浏覽錯誤解釋,所以必須告訴浏覽器正確URL,重定向是一種安全的方式

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved