【发布时间】:2016-06-10 11:10:40
【问题描述】:
通常,这两个请求:
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 这样的其他人不会导致这个问题。
【问题讨论】:
-
因为“localhost:8080/test/”与“*.html”不匹配,还是其他问题?
-
其实我想要 localhost:8080/test/ match 'rest'
标签: java spring spring-mvc servlets