分清<url-pattern>/</url-pattern>与<url-pattern>/*</url-pattern>的不同

在写springMVC配置web.xml的时候会碰到下面有时候写/,有的时候又写/
那么这两者有什么区别呢?我现在进行一些讲解:
1.当配置<url-pattern>/</url-pattern>的时候,它会匹配到路径型的url,就不会匹配到模式为
.jsp型的url
例如:

	 <servlet>
	    <servlet-name>spring</servlet-name>
	    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
	  </servlet>
	  <servlet-mapping>
	    <servlet-name>spring</servlet-name>
	    <url-pattern>/</url-pattern>
	  </servlet-mapping>

这个路径可以匹配/login /hello类型的url,但是不会匹配到index.jsp类型的url。

2.当配置<url-pattern><url-pattern>/*<url-pattern>的时候,它就会匹配到所有类型的url,包括路径型的,有各种后缀的等等。
例如:

	<filter>
	    <filter-name>encodingFilter</filter-name>
	    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
	    <init-param>
	      <param-name>encoding</param-name>
	      <param-value>UTF-8</param-value>
	    </init-param>
	    <!--强制编码-->
	    <init-param>
	      <param-name>forceEncoding</param-name>
	      <param-value>true</param-value>
	    </init-param>
	  </filter>
	  <filter-mapping>
	    <filter-name>encodingFilter</filter-name>
	    <url-pattern>/*</url-pattern>
	  </filter-mapping>

这个能过滤以各种类型的url,我们以.jsp、.html 、 /hello 等各种类型的url都会被处理成UTF-8的编码。

posted on 2019-09-02 20:09  xsDao  阅读(3104)  评论(0编辑  收藏  举报