回答
模式/將使你的servlet的應用程序的默認servlet,而模式/ *將迫使一切都通過你的servlet ..
,什麼是默認的servlet和之間的差異一切都被迫通過它?哪一個先來? – Adelin
如果映射到/只有一個網址將匹配:你的服務器的URL( http://my.example.org/)。 如果映射到/ *很多URL的匹配:http://my.example.org/logo.gif,http://my.example.org/index.jsp,http://my.example.org/detail.html等。
使用/也許有用的,如果你只有1周的servlet,如果你的資源是不是在你的web應用程序的根目錄下(這不應該是這樣的反正)。
SRV.11.2 Specification of Mappings
的字符串與‘/’
字符開始並且以‘/*’
後綴結束用於路徑映射。
- 以
‘*.’
前綴開頭的字符串用作擴展 映射。 - 僅含
‘/’
字符的字符串表示的「默認」的servlet 應用的。在這種情況下,servlet路徑是 請求URI減去上下文路徑,路徑信息爲空。
所有其他字符串僅用於精確匹配。
我強調
<servlet-mapping>
<servlet-name>XServlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
如果您看到映射XServlet
這就是匹配的所有請求,每個請求命中XServlet
凡爲
<servlet-mapping>
<servlet-name>XServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
現在XServlet
是我的默認的servlet應用程序,它服務於static
資源。
只是爲了澄清進一步混亂:How to access static resources when mapping a global front controller servlet on /*
用於指定「servlet規範鏈接」的+1。 –
@Aniket謝謝aniket,該鏈接清除比我在這裏寫的東西更多的東西:) –
- 1. 有什麼區別`和$(Bash中有什麼區別?
- 2. 有什麼區別? :和||
- 3. &&和||有什麼區別?
- 4. 有什麼區別:。!和:r!?
- 5. ==和===有什麼區別?
- 6. Appender和〜有什麼區別?
- 7. $ @和$ *有什麼區別?
- 8. is和=有什麼區別?
- 9. #.00和#。##有什麼區別?
- 10. `==`和`is`有什麼區別?
- 11. '=='和'==='有什麼區別?
- 12. /和/#/有什麼區別?
- 13. | 0和~~有什麼區別?
- 14. `&`和`ref`有什麼區別?
- 15. ==和===有什麼區別?
- 16. ==和===有什麼區別?
- 17. `{}`和`[]`有什麼區別?
- 18. JavaScript和=== ===有什麼區別?
- 19. difftime和' - '有什麼區別?
- 20. =和==有什麼區別?
- 21. 有什麼區別
- 22. 有什麼區別
- 23. ....有什麼區別?
- 24. 有什麼區別
- 25. 有什麼區別?
- 26. xtype和別名有什麼區別?
- 27. Mixpanel:識別()和people.identify()有什麼區別?
- 28. 有什麼區別
- 29. 有什麼區別
- 30. 有什麼區別?
參考http://docs.oracle.com/cd/E13222_01/wls/docs81/webapp/web_xml.html – Hariharan