Java 部署。Tomcat中的战争

Java 部署。Tomcat中的战争,java,web-services,tomcat,Java,Web Services,Tomcat,我正在阅读“Java Web服务:启动和运行”,以学习OCE WSD认证。我安装了ApacheTomcat 7.0.54,并且能够在localhost:8080上查看Tomcat主页。我在这本书的第1章中,用部署到..\apache-tomcat-7.0.54\webapps\MyWebservice.war中的.war构建了我的第一个项目。我安装了CURL来尝试使用 curl-vhttp://localhost:8080/predictions/ 我收到404错误:未找到。我在使用web浏览器

我正在阅读“Java Web服务:启动和运行”,以学习OCE WSD认证。我安装了ApacheTomcat 7.0.54,并且能够在localhost:8080上查看Tomcat主页。我在这本书的第1章中,用部署到..\apache-tomcat-7.0.54\webapps\MyWebservice.war中的.war构建了我的第一个项目。我安装了CURL来尝试使用

curl-vhttp://localhost:8080/predictions/

我收到404错误:未找到。我在使用web浏览器查看同一URL时也会遇到这种情况。我认为,由于我的.war文件被部署到我的ApacheTomcat“webapps”文件夹中,只需启动tomcat服务器即可获取该.war文件并启动webservice。有什么想法我可能做错了什么,或者我可能错过了启动Web服务的步骤吗

编辑解决方案:


curl-vhttp://localhost:8080/MyWebservice/

您可能想要
http://localhost:8080/MyWebservice/predictions/
因为Tomcat部署的War文件的上下文名称与您使用的War文件相同。

请检查web.xml中提到的应用程序的名称

如果web.xml不存在,则应用程序的名称将是war的名称

Tomcat维护应用程序范围内servlet的层次结构

试用

http://:8080/

它应该会还给你一些东西。如果有,那么尝试添加servlet名称


希望有帮助。

。。。除非您在context.xml文件中指定特定的上下文名称,这是更常见的情况。我根据您的输入检查了web.xml,但应用程序名称不在那里。《JavaWebServices:UpandRunning》一书中的教程要求用户输入.war文件的名称,作为提供的ant构建的一部分。我采用了懒惰的方法,将该字段硬编码为“MyWebservice”,因此教程让我指向“预测”。解决方案张贴在上面,感谢您的帮助!