web.xml中的一段

    <servlet>
        <servlet-name>SpringMVC</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <!-- 配置springMVC需要加载的配置文件-->
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:spring-*.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
        <!--异步支持-->
        <async-supported>true</async-supported>
    </servlet>
    <servlet-mapping>
        <servlet-name>SpringMVC</servlet-name>
        <url-pattern>/</url-pattern>
        <url-pattern>*.js</url-pattern>
        <url-pattern>*.css</url-pattern>
        <url-pattern>*.img</url-pattern>
        <url-pattern>*.html</url-pattern>
    </servlet-mapping>

servlet-mapping就是把url-pattern对应的这些url拦截,交给对应name的这个servlet处理。
一开始没有 <url-pattern> / </url-pattern>,所以会导致除了这些静态资源之外,其他的接口都没有被拦截,所以404了。