请帮我弄清楚这种奇怪的行为,我在这里有一个基于 Spring 的项目https://github.com/riuvshin/spring-mvc-learn我想将 *.war 部署到 tomcat 7.0。当我根据日志部署该战争以清理 tomcat 时,它应该可以正常工作,但是当我尝试打开 localhost:8080/contacts 时,出现 404 错误...
如果我从我的 IDE (intellij) 启动该应用程序,它工作正常,如果有人能解释我错过了什么,我会非常高兴。
请帮我弄清楚这种奇怪的行为,我在这里有一个基于 Spring 的项目https://github.com/riuvshin/spring-mvc-learn我想将 *.war 部署到 tomcat 7.0。当我根据日志部署该战争以清理 tomcat 时,它应该可以正常工作,但是当我尝试打开 localhost:8080/contacts 时,出现 404 错误...
如果我从我的 IDE (intellij) 启动该应用程序,它工作正常,如果有人能解释我错过了什么,我会非常高兴。
catalina.out
日志清楚地显示您的已@Controller
映射到路径/contacts
INFO : org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping - Mapped "{[/contacts],methods=[GET],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.String com.apress.prospring3.ch17.web.controller.ContactController.list(org.springframework.ui.Model)
但是,您正在尝试使用路径访问此处理程序
localhost:8080/contacts
这仅在您的 webapp 配置为具有上下文路径时才有效,/
并且我很确定它不是。
尝试使用
localhost:8080/[myapp]/contacts
[myapp]
文件夹中应用程序文件夹的名称在哪里webapps
。
有关如何更改该路径的信息,请参阅此答案。