1. 程式人生 > >分清<url-pattern>/</url-pattern>與<url-pattern>/*</url-pattern>的不同

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

在寫springMVC配置web.xml的時候會碰到

     <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的編碼