web.xml 配置中编码过滤器CharacterEncodingFilter url-pattern 配置为/*就好使配置成 /就不好使为什么?

如题

<!-- encoding过滤器 -->
    <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>

Servlet 规范中对 url-pattern 的解释是这样的:
图片说明

/* 是路径匹配
/ 是倒数第二种有特别说明,此时如果是 / 说明请求路径是一个空字符串,而应用中一般没有能匹配的路径的。

/表示项目根路径、即只能访问locahost:8080才会被映射到
/*表示项目根路径下面的所有url,即localhost:8080/xxx都会被映射到
当然这个和底层源代码解析有关。如果写解析这个web.xml那个人将/解析成localhost:8080/xxx都能访问,那你写/就没问题。