我在这里使用的示例项目代码是我从以下网站下载的: http://javahash.com/spring-4-mvc-hello-world-tutorial-full-example/
此处有直接链接: http://javahash.com/wp-content/uploads/2014/02/Spring4MVCHelloWorld.zip
我有Eclipse Kepler SR2(J2EE),Tomcat 7 64位,Java 7。
该项目似乎不是一个Web项目,所以我添加了“Dynamic Web Module”3.0版和“Java”(1.7版)。我右击,maven安装,看起来运行正常。当我尝试在tomcat上实际部署它时,它不会在控制台中给出任何错误,但是当弹出浏览器窗口时它会显示404
http://localhost:8080/Spring4MVCHelloWorld/
HTTP Status 404 - /Spring4MVCHelloWorld/
--------------------------------------------------------------------------------
type Status report
message /Spring4MVCHelloWorld/
description The requested resource is not available.
--------------------------------------------------------------------------------
Apache Tomcat/6.0.39
那就是说,如何在eclipse中运行这个“基本”示例?有人能够成功地完成这项工作吗?感觉它应该比我试图让这个示例代码无效的5个小时更加微不足道。
更新: 尽管使用Tomcat 7.0服务器,仍然会继续失败。
我试着去:
http://localhost:8080/Spring4MVCHelloWord/hello
并且相同:
HTTP状态404 - / Spring4MVCHelloWorld / hello
显示,但tomcat显示为:
Apache Tomcat / 7.0.53
请注意,这是64位版本。我错过了哪些步骤?我如何解决这种无声的失败?
答案 0 :(得分:1)
据我所知,您的控制器只会映射到/hello
,这意味着您的网址应为:
http://localhost:8080/Spring4MVCHelloWorld/hello
您可能感兴趣的另一件事是,如果您的某些项目方面存在问题(例如动态Web模块)无法识别,您通常可以通过单击您的项目来修复它们, Maven 菜单并选择更新项目。
答案 1 :(得分:1)
除Dimitri所述之外,您的日志似乎表明您正在使用
Apache Tomcat/6.0.39
version of Tomcat不支持Spring Web应用程序依赖的ServletContainerInitializer
进行配置。升级到Tomcat版本7 +。
看起来Maven更新对你(或对我来说)不起作用。
首先,进入Properties -> Deployment Assembly
。你需要摆脱Web Content
,如果它在那里并添加src/main/webapp
(这是一个maven惯例)。您还需要添加Maven依赖项,如下所示。
最后,这可能没有必要,删除提供给您的web.xml
,然后通过选择并右键单击Project Explorer中的Deployment Descriptor
并点击Generate Deployment Descriptor Stub
来重新创建它。 / p>
另外,请确保Java Build Path
中的Properties
具有Java 7+版本的JRE。