在Servlet中,url-pattern用于指定哪些请求应该由特定的Servlet处理。除了常规的URL模式外,还有一些特殊的写法可以用来匹配更复杂的URL模式。
- 精确匹配:使用"/"开头的URL模式可以精确匹配某个URL。
- 通配符匹配:使用"*"通配符可以匹配任意字符,但只能匹配一个路径部分。
- 目录匹配:使用"/*"可以匹配任何路径,包括子路径。
- 后缀匹配:使用"*.后缀"可以匹配特定后缀的URL。
代码如下
<servlet>
<servlet-name>MyServlet</servlet-name>
<servlet-class>com.example.MyServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MyServlet</servlet-name>
<url-pattern>/exactMatch</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>MyServlet</servlet-name>
<url-pattern>/wildcard/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>MyServlet</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
在上面,配置了一个名为MyServlet的Servlet,并为其定义了三种不同的url-pattern:
- “/exactMatch”:精确匹配,只能匹配该URL。
- “/wildcard/*”:通配符匹配,可以匹配任意子路径。
- “*.do”:后缀匹配,可以匹配以".do"结尾的URL。