当前位置: 首页 > 知识库问答 >
问题:

为什么Tomcat7部署的应用程序返回HTTP状态404?

程钧
2023-03-14

[信息]将war部署到http://localhost:8080/app-ws上载:http://localhost:8080/manager/text/deploy?path=%2fapp-ws&update=true上载:http://localhost:8080/manager/text/deploy?path=%2fapp-ws&update=true(11702 KB,17334.8 KB/秒)

[INFO]tomcatManager状态代码:200,ReasonPhrase:OK[INFO]OK-在上下文路径上部署的应用程序/App-WS[INFO]------------------------------------------------------------------------------------------------------------------------------[INFO]生成成功[INFO]----------------------------------------[INFO]总时间:01

看起来很好,但是:

>

  • 当我运行HTTP://localhost:8080/app-ws时,我收到HTTP状态404

    在C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps中,我有app-ws.war和实际创建日期

    更新

    1. 我取消部署我的应用程序。
    2. 在C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps
    3. 中没有app-ws文件夹和war
    4. 运行mvn clean package tomcat7:部署和接收
    [INFO] <<< tomcat7-maven-plugin:2.2:deploy (default-cli) < package @ app-ws <<<
    [INFO]
    [INFO] --- tomcat7-maven-plugin:2.2:deploy (default-cli) @ app-ws ---
    [INFO] Deploying war to http://localhost:8080/app-ws
    Uploading: http://localhost:8080/manager/text/deploy?path=%2Fapp-ws
    Uploaded: http://localhost:8080/manager/text/deploy?path=%2Fapp-ws (11647 KB at 16085.6 KB/sec)
    
    [INFO] tomcatManager status code:200, ReasonPhrase:OK
    [INFO] FAIL - Deployed application at context path /app-ws but context failed to start
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 01:36 min
    [INFO] Finished at: 2015-07-28T15:58:13+03:00
    [INFO] Final Memory: 27M/259M
    [INFO] ---
    

    Jul 28 2015 3:58:13 PM org.apache.catalina.startup.hostconfig deployWAR信息:部署web应用程序存档C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\app-ws.war已在26,717毫秒内完成

    更新1

    修正此:

    Jul 28 2015 3:58:12 PM org.apache.catalina.startup.hostconfig部署WAR信息:部署web应用程序存档C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\app-ws\web-inf\lib\tomcat-embed-core-8.0.20.jar)-jar未加载。请参阅Servlet规范3.0,第10.7.2节。违规类:javax/servlet/servlet.class Jul 28 2015 3:58:12 PM org.apache.catalina.loader.webappclassloader validateJarFile信息:validateJarFile(C:\ProgramFiles\Apache Software Foundation\Tomcat 7.0\webapps\app-ws\web-inf\lib\tomcat-embedd-el-7.0.63.jar)-jar未加载。请参阅Servlet规范3.0,第10.7.2节。违规类:javax/el/expression.class Jul 28 2015 3:58:12 PM org.apache.catalina.deploy.webXML setVersion警告:未知的版本字符串[3.1]。将使用默认版本。

    通过添加

    <dependency>
                    <groupId>org.apache.tomcat.embed</groupId>
                    <artifactId>tomcat-embed-el</artifactId>
                    <version>7.0.63</version>
                      <scope>provided</scope>
    </dependency>
    
    <dependency>
                    <groupId>org.apache.tomcat.embed</groupId>
                    <artifactId>tomcat-embed-core</artifactId>
                    <version>8.0.24</version>
                      <scope>provided</scope>
    </dependency>
    
  • 共有1个答案

    管弘
    2023-03-14

    我也面临同样的问题。然后我做了以下几件事

    1. 转到tomcat管理页面并转到“http://localhost:8000/manager/html”,然后取消部署“我的项目”。或者手动从web应用程序中删除项目(project.war和project文件夹)。
    2. 在tomcat web apps文件夹中再次部署了项目。

    请注意,如果服务器成功部署应用程序而没有任何错误,这是适用的。

     类似资料:
    • 我已经做了另一次部署,一切都很好,但在完成应用程序后,我得到了这个错误。页面请求一直在加载 是否需要在“IAM”中配置某些内容? Java 11 标准环境 h2 DB Spring boot 来自Google Cloud的堆栈跟踪: JAVA木卫一。IOException:服务器为URL返回了HTTP响应代码403:https://clouddebugger.googleapis.com/v2/c

    • 我正在用JBoss7+spring mvc做一些测试,它在本地运行,但当我放在云中时,它的HTTP状态为404。 /pswebproj/src/main/java/pswebproj/control/hellocontroller.java /pswebproj/pom.xml /pswebproj/src/main/webapp/WEB-INF/web.xml /pswebproj/src/ma

    • 问题内容: 当JavaScript网络调用(例如fetch或XMLHttpRequest或任何其他类型的HTTP网络请求)失败且HTTP状态代码为0时,这是什么意思? 这似乎不是有效的HTTP状态代码,因为其他代码是HTTP规范中的三位数字。 我尝试将网络完全拔掉作为测试。它可能不相关,但是导致状态代码17003(IIRC),粗略搜索表明这意味着“ DNS服务器查找失败”。 相同的代码在某些位置和

    • 我使用curl获取http头以查找http状态代码并返回响应。我使用以下命令获取http头

    • 我在一个三元组中使用了< code>this.setState(),并试图找出它返回的内容。文档没有提供任何关于它返回什么的信息。

    • 问题内容: 我在这我想从服务器获取与$ HTTP GET XML数据的AngularJS应用说http://example.com/a/b/c/d/getDetails?fname=abc&lname=def(此通过在浏览器中输入链接进行手动访问时显示XML文件的树状结构)。 当我运行应用程序时,不会从该链接获取数据。而是显示 状态为0 的错误。 我不确定$ http.get为什么会失败并转到返回