解决tomcat输入localhost:8080报404错误

解决tomcat输入localhost:8080报404错误一阵子没有玩 tomcat 今天想运行一下我之前的项目 首先在 ApacheTomcat bin 下找到 tomcat9w exe 点击 start 之后发现进度条走到一半就停了 也不报错 使用 start bat 倒是启动很快 无报错信息 怎么回事呢 于是我去控制台 cmd 打开服务 services msc 找到 ApacheTomcat 服务点击启动 这个时候报错了 wind

一阵子没有玩 tomcat,今天想运行一下我之前的项目。首先在 Apache Tomcat/bin 下找到 tomcat9w.exe 点击 start 之后发现进度条走到一半就停了,也不报错;使用 start.bat 倒是启动很快,无报错信息。

怎么回事呢?

于是我去 控制台 cmd ,打开服务 services.msc,找到 ApacheTomcat 服务点击启动,这个时候报错了:“windows不能在本地计算机启动Apache Tomcat.有关更多信息,查阅系统事件日志.如果这是非Microsoft服务,请与服务厂商联系,并参考特定服务错误代码0”……在网上查了一圈没有找有效的答案,因为我之前一直用,没出现过问题。也不可能是tomcat32位和jdk64位的版本不一致导致的,暂未解决……

随后我查看了logs日志,确保jdk的安装没有问题。意外的是发现了java虚拟机路径里面填写的jdk的版本不匹配,要打开 Tomcat 属性栏的 Java 面板,在 Java Virtual Machine 查看 jdk 版本是否和本机实际安装的对应:

解决tomcat输入localhost:8080报404错误

改过来之后,tomcat 可以正常启动了

还有一种 tomcat 启动超时的原因是与项目相关的数据库服务未打开)。

启动成功之后,新问题出现了:

当我在浏览器输入 http://localhost:8080 的时候,会报 404 错误,这时有人会说:是不是 conf/server.xml 端口号没配置正确或者端口冲突?我确认了,没有发现冲突。

最后经过我仔细检查此文件,发现一条比较奇怪的:

 
  

我这里的 appbase 的值不知什么时候变成了 wtpwebapps,我修改为 webapps 之后,就成功打开了 localhost:8080,访问项目也没问题啦!(之前使用 eclipse 发布项目,它默认部署到工作目录下的 .metadata/.plugins /org.eclipse.wst.server.core/tmpX/wtpwebapps中,tmpX 临时文件夹里面存放着该项目的信息,会不会是这个原因?)

注意

由于我之前的项目都放在 webapps 下面,而我的配置不知什么时候被修改成了 wtpwebapps,从而导致访问不了localhost:8080,更不要说访问项目路径了,我心里有点纳闷。

做个实验:

我又把 server.xml 的 host 配置改回:

 
  

把我之前做的一个项目:BoutiqueCourse 放进 tomcat 下的 wtpwebapps 中去,再重启 tomcat 服务,然后在浏览器输入localhost:8080 发现依旧是报 404,如图:

解决tomcat输入localhost:8080报404错误但是在后面拼接上项目名则可以成功进入。

解决tomcat输入localhost:8080报404错误

查找原因,发现很简单:

当我的配置为默认的为 8080 端口,并且 server.xml 中 host 配置的 appbase=”webapps” 的时候,当我直接输入 localhost:8080 回车,由于在 tomcat/webapps 下有一个 ROOT 文件夹,这个目录存放 tomcat 的基本应用,这时会执行此默认项目。输入http://localhost:8080 会通过hosts文件中的解析,将 localhost 解析为 127.0.0.1,这个地址也即为 http://127.0.0.1:8080。默认如果端口后面无项目名,那么访问的将是 ROOT 下的项目看到的就是汤姆猫页面

然而我把 appbase 的值改为了 wtpwebapps,里面只有一个项目文件夹,所以直接输入 localhost:8080 找不到默认工程文件,故显示404。而之后我又在后面追加自己的项目名称,则自然就会直接访问该项目。

PS:这里提一下appbase的作用:

appBase:设置 Web 应用程序组的路径。一个虚拟主机可以由多个 Web 应用程序构成,所以这里的 appBase 所指向的目录应该是准备用于存放这一组 Web 应用程序的目录,而不是具体某个 Web 应用程序的目录本身(即使该虚拟主机只由一个 Web 应用程序组成)。appBase 属性的值可以是相对于 Tomcat 安装目录的相对路径,也可以是绝对路径,需要注意的是该路径必须是 Tomcat 有权限访问的。如果你想自己指定路径,那么应该在 docBase 里面,简单点,直接把他们复制到appBase下面就行了。 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/228519.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月16日 下午6:50
下一篇 2026年3月16日 下午6:50


相关推荐

  • springboot2.0 集成redis服务详解,以及 (Lettuce & Jedis)

    springboot2.0 集成redis服务详解,以及 (Lettuce & Jedis)前言在实际项目开发过程中 相信很多人都有用到过 redis 这个 NoSQL 这篇文章就详细讲讲 springboot 如何整合 redisRedis 简介简单介绍下 Redis Redis 是一个开源的使用 ANSIC 语言编写 支持网络 可基于内存也可持久化的日志型 Key Value 数据库 并提供了多种语言的 API 相比 Memcached 它支持存储的类型相对更多 字符 哈希

    2026年3月19日
    1
  • 查看Linux内核版本_查看ubuntu内核

    查看Linux内核版本_查看ubuntu内核一、查看Linux内核版本命令(两种方法):1、cat/proc/version[root@S-CentOShome]#cat/proc/versionLinuxversion2.6.32-431.el6.x86_64(mockbuild@c6b8.bsys.dev.centos.org)(gccversion4.4.720120313(RedHat4.4.7-4)(GCC))#1SMPFriNov2203:15:09UTC20132、u

    2022年10月13日
    5
  • 零代码部署:用腾讯QClaw与OpenClaw打造个人AI办公助手

    零代码部署:用腾讯QClaw与OpenClaw打造个人AI办公助手

    2026年3月16日
    7
  • 一手实测谷歌图像编程模型Nano-Banana:丝毫不输FLUX Kontext

    一手实测谷歌图像编程模型Nano-Banana:丝毫不输FLUX Kontext

    2026年3月15日
    11
  • 非局部均值滤波算法[通俗易懂]

    非局部均值滤波算法[通俗易懂]2016.09.09更新,修改了SSIM中值太大的问题首先谈一下什么是非局部均值滤波。在此之前,我们先来看一下均值滤波的原理。均值滤波均值滤波的计算非常简单,将图像像素点灰度记录在数组中,然后设置方框半径的值,然后将方框中的所有点的像素求和取平均,得到的结果就是均值滤波后对应像素点的灰度值。优点:计算很快而且简单从算法可以看出,只是求了平均,并没有很复杂的计算缺点:得到的图像很模

    2022年5月21日
    49
  • IDEA 集成git

    IDEA 集成gitgit 系列文章目录第九章 IDEA 集成 git 文章目录 git 系列文章目录前言一 IDEA 集成 git 二 使用步骤 1 使用 IDEA 完成本地库的初始化操作 2 使用 IDEA 完成代码并添加到 git 和提交到本地库 3 本地库和远程库的交互 4 从远程库的克隆操作总结前言命令方式比较繁琐 本章介绍常用的 IDEAgit 图形化操作一 IDEA 集成 git 示例 打开 IDEA 随便创建一个项目控制台项目找到 git 选项检查设置是否已经配置好了 git 路径然后确定二 使用步骤 1 使用 IDEA 完成

    2026年3月19日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号