通常,这两个请求:
localhost:8080/test
localhost:8080/test/
没有区别。
但是,当我添加servlet-mapping
配置时:
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
然后
localhost:8080/test/
不起作用,它会返回 404 错误,我不明白我添加了这样的配置:
<servlet-mapping>
<servlet-name>rest</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>rest</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/rest-servlet.xml,
/WEB-INF/interceptor-servlet.xml,
/WEB-INF/controller-servlet.xml,
</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
那么,为什么请求不会转到这个servlet,*.html
中的魔力是什么?像*.txt
,*.jpeg
这样的其他人不会导致此问题。
答案 0 :(得分:0)
除去
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
假
<servlet-mapping>
<servlet-name>rest</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
让Spring区分rest和html请求。