Tomcat日志没问题但浏览器就是404一直

有大佬懂怎么解决吗

Google方法都试过一遍了,tomcat也重新下载了n遍,一直无法解决

404 的错误就是文件没有找到。

能看到这个界面说明你 Tomcat 没有问题,你的 Tomcat 服务已经起来了。

404 的问题就是你的应用部署到服务器上的路径不对,或者你访问的路径不对。

这个问题大概率和你部署的情况有关和路径配置有关。

通常不是什么大的问题。

需要调试的地方是你的部署方式,你是怎么部署的?

是打包成 war 部署的还是 什么部署方式,如果你的应用没有问题,使用 IDEA 应该就可以直接挂上 Tomcat 跑起来了。

项目结构

要解决上面的问题,就要看你的项目代码了。

用了什么框架吗?Spring 还是 Spring Boot?

使用了什么编译工具?maven 还是 Gradle?

老哥是在抱歉,这几天没有关注论坛,谢谢您的解答
但是问题还没有解决

我做了以下尝试

1. 在IDEA中使用tomcat

一开始就是不行,然后又看了jetbrains官方的(tutorial)[Working with Apache Tomcat in IntelliJ IDEA - JetBrains Guide]
一步一步跟着,一开始说出现错误正常,但是后面还是跟着他解决了我却还没有
后面又找了几篇博客,跟着后面折腾,还是无用,看了日志,一切正常,但是浏览器中主页都打不开

2. tomcat直接打开

  • 比使用IDEA稍微好些,可以看到tomcat主页,但是他的samples却打不开,一样的404
  • 尝试使用maven把项目打包成war,放在tomcat的webapps目录下,依然消息 请求的资源[/xxxxxx/]不可用

如果老哥有空的话请求稍做解答,希望不会打扰到老哥日常工作生活

附上日志


23-May-2024 14:17:11.558 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Server.服务器版本: Apache Tomcat/10.1.23
23-May-2024 14:17:11.558 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 服务器构建:        Apr 16 2024 12:17:18 UTC
23-May-2024 14:17:11.558 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 服务器版本号:      10.1.23.0
23-May-2024 14:17:11.558 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 操作系统名称:      Windows 11
23-May-2024 14:17:11.571 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log OS.版本:           10.0
23-May-2024 14:17:11.571 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 架构:              amd64
23-May-2024 14:17:11.571 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Java 环境变量:     E:\ProgramFiles\Java\jdk-21
23-May-2024 14:17:11.571 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Java虚拟机版本:    21.0.3+7-LTS-152
23-May-2024 14:17:11.571 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log JVM.供应商:        Oracle Corporation
23-May-2024 14:17:11.571 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE:     E:\Program Files\Apache Software Foundation\Tomcat 10.1
23-May-2024 14:17:11.571 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME:     E:\Program Files\Apache Software Foundation\Tomcat 10.1
23-May-2024 14:17:11.571 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:       -Djava.util.logging.config.file=E:\Program Files\Apache Software Foundation\Tomcat 10.1\conf\logging.properties
23-May-2024 14:17:11.571 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:       -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
23-May-2024 14:17:11.571 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:       -Djdk.tls.ephemeralDHKeySize=2048
23-May-2024 14:17:11.571 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:       -Djava.protocol.handler.pkgs=org.apache.catalina.webresources
23-May-2024 14:17:11.571 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:       --add-opens=java.base/java.lang=ALL-UNNAMED
23-May-2024 14:17:11.571 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:       --add-opens=java.base/java.io=ALL-UNNAMED
23-May-2024 14:17:11.571 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:       --add-opens=java.base/java.util=ALL-UNNAMED
23-May-2024 14:17:11.571 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:       --add-opens=java.base/java.util.concurrent=ALL-UNNAMED
23-May-2024 14:17:11.571 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:       --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
23-May-2024 14:17:11.571 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:       -Dcatalina.base=E:\Program Files\Apache Software Foundation\Tomcat 10.1
23-May-2024 14:17:11.571 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:       -Dcatalina.home=E:\Program Files\Apache Software Foundation\Tomcat 10.1
23-May-2024 14:17:11.571 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:       -Djava.io.tmpdir=E:\Program Files\Apache Software Foundation\Tomcat 10.1\temp
23-May-2024 14:17:11.587 信息 [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent 在java.library.path:[E:\ProgramFiles\Java\jdk-21\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;E:\Program Files\Python\Scripts\;E:\Program Files\Python\;E:\ProgramFiles\Java\jdk-21\bin;C:\Program Files\Common Files\Oracle\Java\javapath;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;E:\Program Files (x86)\VMware\VMware Workstation\bin\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR;C:\Program Files\Bandizip\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;E:\mingw64\bin;E:\Program Files\Git\cmd;E:\Windows Kits\10\Windows Performance Toolkit\;C:\Program Files\dotnet\;E:\Program Files\MySQL\MySQL Server 8.0\bin;E:\Program Files\Apache Software Foundation\Tomcat 10.1\bin;E:\Program Files\Redis\;C:\ServletDevel;C:\Users\jackw\AppData\Local\Microsoft\WindowsApps;F:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2023.3.3\bin;;E:\Users\jackw\AppData\Local\Programs\Microsoft VS Code\bin;%DevEco Studio%;C:\Users\jackw\AppData\Local\Programs\Ollama;E:\ProgramFiles\md5sum-1.22\;E:\ProgramFiles\Maven\apache-maven-3.9.6\bin;D:\ProgramFiles\altera\13.1\modelsim_ase\win32aloem;E:\Program Files\JetBrains\IntelliJ IDEA 2024.1\bin;;;.]上找不到基于APR的Apache Tomcat本机库,该库允许在生产环境中获得最佳性能
23-May-2024 14:17:11.758 信息 [main] org.apache.coyote.AbstractProtocol.init 初始化协议处理器 ["http-nio-8080"]
23-May-2024 14:17:11.772 信息 [main] org.apache.catalina.startup.Catalina.load 服务器在[354]毫秒内初始化
23-May-2024 14:17:11.814 信息 [main] org.apache.catalina.core.StandardService.startInternal 正在启动服务[Catalina]
23-May-2024 14:17:11.814 信息 [main] org.apache.catalina.core.StandardEngine.startInternal 正在启动 Servlet 引擎:[Apache Tomcat/10.1.23]
23-May-2024 14:17:11.829 信息 [main] org.apache.catalina.startup.HostConfig.deployWAR 正在部署web应用程序存档文件[E:\Program Files\Apache Software Foundation\Tomcat 10.1\webapps\hello.war]
23-May-2024 14:17:12.089 信息 [main] org.apache.catalina.startup.HostConfig.deployWAR web应用程序存档文件[E:\Program Files\Apache Software Foundation\Tomcat 10.1\webapps\hello.war]的部署已在[260]ms内完成
23-May-2024 14:17:12.089 信息 [main] org.apache.catalina.startup.HostConfig.deployWAR 正在部署web应用程序存档文件[E:\Program Files\Apache Software Foundation\Tomcat 10.1\webapps\test1Todo.war]
23-May-2024 14:17:12.659 信息 [main] org.apache.jasper.servlet.TldScanner.scanJars 至少有一个JAR被扫描用于TLD但尚未包含TLD。 为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表。 在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编译时间。
23-May-2024 14:17:12.659 信息 [main] org.apache.catalina.startup.HostConfig.deployWAR web应用程序存档文件[E:\Program Files\Apache Software Foundation\Tomcat 10.1\webapps\test1Todo.war]的部署已在[570]ms内完成
23-May-2024 14:17:12.659 信息 [main] org.apache.catalina.startup.HostConfig.deployWAR 正在部署web应用程序存档文件[E:\Program Files\Apache Software Foundation\Tomcat 10.1\webapps\TodoApp-1.0-SNAPSHOT.war]
23-May-2024 14:17:12.910 信息 [main] org.apache.jasper.servlet.TldScanner.scanJars 至少有一个JAR被扫描用于TLD但尚未包含TLD。 为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表。 在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编译时间。
23-May-2024 14:17:12.926 信息 [main] org.apache.catalina.startup.HostConfig.deployWAR web应用程序存档文件[E:\Program Files\Apache Software Foundation\Tomcat 10.1\webapps\TodoApp-1.0-SNAPSHOT.war]的部署已在[267]ms内完成
23-May-2024 14:17:12.926 信息 [main] org.apache.catalina.startup.HostConfig.deployWAR 正在部署web应用程序存档文件[E:\Program Files\Apache Software Foundation\Tomcat 10.1\webapps\todoList-1.0-SNAPSHOT.war]
23-May-2024 14:17:13.332 信息 [main] org.apache.jasper.servlet.TldScanner.scanJars 至少有一个JAR被扫描用于TLD但尚未包含TLD。 为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表。 在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编译时间。
23-May-2024 14:17:13.347 信息 [main] org.apache.catalina.startup.HostConfig.deployWAR web应用程序存档文件[E:\Program Files\Apache Software Foundation\Tomcat 10.1\webapps\todoList-1.0-SNAPSHOT.war]的部署已在[421]ms内完成
23-May-2024 14:17:13.347 信息 [main] org.apache.catalina.startup.HostConfig.deployWAR 正在部署web应用程序存档文件[E:\Program Files\Apache Software Foundation\Tomcat 10.1\webapps\todotest0523.war]
23-May-2024 14:17:14.115 信息 [main] org.apache.jasper.servlet.TldScanner.scanJars 至少有一个JAR被扫描用于TLD但尚未包含TLD。 为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表。 在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编译时间。
23-May-2024 14:17:14.131 信息 [main] org.apache.catalina.startup.HostConfig.deployWAR web应用程序存档文件[E:\Program Files\Apache Software Foundation\Tomcat 10.1\webapps\todotest0523.war]的部署已在[784]ms内完成
23-May-2024 14:17:14.131 信息 [main] org.apache.catalina.startup.HostConfig.deployDirectory 把web 应用程序部署到目录 [E:\Program Files\Apache Software Foundation\Tomcat 10.1\webapps\docs]
23-May-2024 14:17:14.160 信息 [main] org.apache.catalina.startup.HostConfig.deployDirectory Web应用程序目录[E:\Program Files\Apache Software Foundation\Tomcat 10.1\webapps\docs]的部署已在[29]毫秒内完成
23-May-2024 14:17:14.160 信息 [main] org.apache.catalina.startup.HostConfig.deployDirectory 把web 应用程序部署到目录 [E:\Program Files\Apache Software Foundation\Tomcat 10.1\webapps\manager]
23-May-2024 14:17:14.179 信息 [main] org.apache.catalina.startup.HostConfig.deployDirectory Web应用程序目录[E:\Program Files\Apache Software Foundation\Tomcat 10.1\webapps\manager]的部署已在[19]毫秒内完成
23-May-2024 14:17:14.179 信息 [main] org.apache.catalina.startup.HostConfig.deployDirectory 把web 应用程序部署到目录 [E:\Program Files\Apache Software Foundation\Tomcat 10.1\webapps\ROOT]
23-May-2024 14:17:14.194 信息 [main] org.apache.catalina.startup.HostConfig.deployDirectory Web应用程序目录[E:\Program Files\Apache Software Foundation\Tomcat 10.1\webapps\ROOT]的部署已在[15]毫秒内完成
23-May-2024 14:17:14.194 信息 [main] org.apache.catalina.startup.HostConfig.deployDirectory 把web 应用程序部署到目录 [E:\Program Files\Apache Software Foundation\Tomcat 10.1\webapps\test]
23-May-2024 14:17:14.194 信息 [main] org.apache.catalina.startup.HostConfig.deployDirectory Web应用程序目录[E:\Program Files\Apache Software Foundation\Tomcat 10.1\webapps\test]的部署已在[0]毫秒内完成
23-May-2024 14:17:14.194 信息 [main] org.apache.catalina.startup.HostConfig.deployDirectory 把web 应用程序部署到目录 [E:\Program Files\Apache Software Foundation\Tomcat 10.1\webapps\web_servlet_hello_war]
23-May-2024 14:17:14.226 信息 [main] org.apache.catalina.startup.HostConfig.deployDirectory Web应用程序目录[E:\Program Files\Apache Software Foundation\Tomcat 10.1\webapps\web_servlet_hello_war]的部署已在[32]毫秒内完成
23-May-2024 14:17:14.226 信息 [main] org.apache.coyote.AbstractProtocol.start 开始协议处理句柄["http-nio-8080"]
23-May-2024 14:17:14.242 信息 [main] org.apache.catalina.startup.Catalina.start [2464]毫秒后服务器启动

不客气的。

我看到你的 Tomcat 下面部署了不少的 war。

我不知道那一个是你需要的实际测试的,你可以把不需要的 war 删掉先。

理论上 war 解压后通过文件夹访就可以直接访问。

你把你打包的 war 重命名为 ROOT.war。

在默认情况下 ROOT.war 会被解压成 ROOT ,然后这个就是 Tomcat 的默认访问路径。

修改 ROOT 后可能就没有上下文路径的问题了,你试试看。

在你的项目里面应该有一个文件夹:WEB-INF,这个文件夹内应该有一个 web.xml 文件。

你的项目里面有吗?

这个你不部署任何应用的时候能访问吗?

忽略我的端口,我改了 Tomcat 到 7070 是为了避免和其他服务冲突。