分清<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的编码。