URL*.htm
工作正常。但是我遇到一个问题,当我尝试在没有 的情况下访问 RESTful URL 时*.htm
,服务器给了我404
错误。*.htm
好吧,我可以通过替换来解决问题/
。如果我这样做,那么我会破坏我的网页。所以问题是我如何通过同一个 Spring Controller 进行支持RESTful
和常规操作?HTTP request
里面需要配置Web.xml
什么?我尝试了类似/rest/*
的方法,但这似乎也不起作用。
<servlet>
<servlet-name>dispatch</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatch</servlet-name>
<url-pattern>*.htm</url-pattern>
</servlet-mapping>
试过了
<servlet-mapping>
<servlet-name>dispatch</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
使用配置“Type - I”测试
当 URL 设置为以结尾时工作.htm
http://localhost:8080/controllerName/my/123/url/value.htm
Web.xml 映射
<servlet-mapping>
<servlet-name>dispatch</servlet-name>
<url-pattern>*.htm</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>dispatch</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
控制器映射
@RequestMapping(value = "/my/{number}/url/{somevalue}", method = RequestMethod.GET, produces="application/xml")
使用配置“Type - II”进行测试
当 URL 不包含时,似乎没有其他组合有效.htm