url-pattern的配置方式有三種:
1.完全路徑匹配:以 '/' 開始
例: /ServletDemo1 , /aaa/ServletDemo2 , /aa/bb/ServletDemo3
2.目錄匹配:以 '/' 開始 需要以 '*'結束
例: /* (通常應用于首頁,無論訪問任何都自動往首頁跳轉) , /b/* (代表訪問b目錄下的所有東西都是和b目錄內容一樣 '*' 廣泛應用于404頁面) , /aaa/bbb/*
3.擴展名匹配:不能以 '/' 開始,不能以 '*' 結束
例: *.do , .action , .jsp , *.jpg
錯誤寫法: /*.do
4.默認路徑: '/'
注意:
優先級 完全 > 目錄 > 擴展名 ,一個路徑可以配置訪問多個資源, 以優先級高的為主
例:
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>com.HelloServletOne</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/h</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>com.HelloServletTwo</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>com.HelloServletThree</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
以上訪問 hello 優先 <url-pattern>/h</url-pattern> <servlet-class>com.HelloServletTwo</servlet-class>
如果訪問 aaa.do 優先 <url-pattern>/*</url-pattern> <servlet-class>com.HelloServletTwo</servlet-class>
浙公網安備 33010602011771號