url四种匹配规则

1 精确匹配

  <url-pattern>中配置的项必须与url完全精确匹配。

注:<url-pattern>/user/*/hi</url-pattern> 这里的*不是通配符,是精确匹配

	<servlet-mapping>
		<servlet-name>springmvc</servlet-name>
		<url-pattern>/test/user</url-pattern>
	</servlet-mapping>

2 扩展名匹配

  以“*.”开头的字符串被用于扩展名匹配

注:<url-pattern>/user/*.html</url-pattern> 错误,会产生IllegalArgumentException

	<servlet-mapping>
		<servlet-name>springmvc</servlet-name>
		<url-pattern>*.htm</url-pattern>
		<url-pattern>*.do</url-pattern>
	</servlet-mapping>

3 路径匹配

  以“/”字符开头,并以“/*”结尾的字符串用于路径匹配

注:<url-pattern>/user/*/hi</url-pattern> 这里不是路径匹配,是精确匹配

	<servlet-mapping>
		<servlet-name>springmvc</servlet-name>
		<url-pattern>/user/*</url-pattern>
		<url-pattern>/*</url-pattern>
	</servlet-mapping>

4 缺省匹配(默认匹配)

<url-pattern>/</url-pattern>

匹配顺序

1 精确匹配

2 路径匹配,先最长路径匹配,再最短路径匹配

3 扩展名匹配

4 缺省匹配,以上都找不到servlet,就用默认的servlet,配置为<url-pattern>/</url-pattern>

猜你喜欢

转载自blog.csdn.net/qq_36986067/article/details/104946731