我是 Spring MVC 新手。
我有这样的网址:
- 本地主机:8080/spring-mvc-project-web-war/searchProjects
- 本地主机:8080/spring-mvc-project-web-war/searchProjects/
区别在于每个 URL 末尾的“/”。
两者都呈现具有相同内容的页面。内容包括一个搜索按钮,它将搜索数据库并返回结果列表。但第一个 URL 始终返回 HTTP 404 -/spring-mvc-project-web-war/searchProjects
而第二个 URL 仍然可以正常工作。
谁能帮我解释一下吗?
我知道这是处理程序映射的问题,但我不太清楚。
最佳答案
我认为这与 Spring HandlerMapping 无关。
当您单击搜索按钮时,发布的 http url 表单取决于 http 基 uri 和您的相对路径(通常在操作属性中)
“localhost:8080/spring-mvc-project-web-war/searchProjects”它的基本 uri 是
localhost:8080/spring-mvc-project-web-war/
和“localhost:8080/spring-mvc-project-web-war/searchProjects/” 基本 uri 是
localhost:8080/spring-mvc-project-web-war/searchProjects/
为了进一步理解,我们可以阅读Fielding的 rfc document [Page 11]
关于java - Spring 处理程序映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22452213/