HTTP状态404 - 请求的资源(/)不可用

Van*_*tel 50 eclipse jsp tomcat http-status-code-404

我在Eclipse中集成了Tomcat 7.当我使用Eclipse启动它时,它显示Tomcat已启动并正在运行,但是当我在浏览器中访问http:// localhost:8080时,它会出现以下错误:

HTTP状态404 - /

类型状态报告

消息 /

description请求的资源(/)不可用.

Apache Tomcat/7.0.23

我尝试更改端口server.xml以防万一其他服务使用8080,但它也不起作用.我该如何解决?

Bal*_*usC 111

你有什么期待?默认的Tomcat主页?如果是这样,您将需要配置Eclipse以从Tomcat控制.

双击Servers选项卡中的Tomcat服务器条目,您将获得服务器配置.在左侧列的" 服务器位置"下,选择" 使用Tomcat安装"(注意,当它显示为灰色时,请阅读前导文本部分!;)).这样Eclipse就可以完全控制Tomcat,这样你就可以在Eclipse内部运行时使用Tomcat Manager访问默认的Tomcat主页.在使用Eclipse进行开发时,我只是看不出它是如何有用的.

在此输入图像描述

端口号不是问题.否则,您将在Tomcat的启动日志中获得异常,并且浏览器将显示特定于浏览器的"连接超时"错误页面(因此不是Tomcat特定的错误页面,当Tomcat未启动并运行时,该页面将无法提供! )

  • 如果该部分显示为灰色,请确保tomcat没有配置任何项目.如果这样删除它,灰色部分将处于活动状态并保存配置,它可以正常工作 (20认同)
  • @BalusC - 删除灰色部分的步骤 - "Tomcat服务器>右键单击>一般{注意位置值}>切换位置{位置更改值}>确定.现在按照balusC回答.404错误的原因 - 使用`workspace metadata option`使用eclipse元数据,该元数据没有管理控制台的问候页面. (4认同)
  • 仍然无法正常工作.我收到404错误. (2认同)

小智 34

以下步骤帮助我解决了这个问题.

  1. 在eclipse中右键单击服务器并单击属性.
  2. 如果设置了位置工作区/元数据,请单击交换机位置,以便它引用localhost.server上的/ servers/tomcatv7server
  3. 保存并关闭
  4. 然后双击服务器
  5. 在服务器位置下,它主要被选为使用工作空间元数据而是选择使用tomcat安装
  6. 保存更改
  7. 重新启动服务器并验证localhost:8080是否正常工作.


小智 14

将ROOT(默认)Web App复制到Eclipse中.

Eclipse在Eclipse工作区内创建Tomcat文件夹时忘记复制默认应用程序(ROOT,示例等).

  • 转到C:\ apache-tomcat-7.0.27\webapps,在ROOT文件夹上单击鼠标右键并复制它.
  • 然后转到Eclipse工作区,转到.metadata文件夹,然后搜索"wtpwebapps".你应该找到类似你的eclipse-workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps(或者如果你已经在Eclipse中注册了另一台服务器的话....../tmp1/wtpwebapps).
  • 转到wtpwebapps文件夹,右键单击并粘贴ROOT(如果询问是否要合并/替换文件夹/文件,请说"是").
  • 然后重新加载localhost:8080以查看Tomcat欢迎页面.


wal*_*lox 6

我做了BalusC所说的但是对我来说还不够,我不得不清理Tomcat工作目录:(点击服务器选项卡中的Tomcat右侧 - >清理Tomcat工作目录)


Adv*_*ait 5

如果您已将端口号更改为其他内容,请再次检查您的服务器规格.并更改链接中的端口号,无论新的端口号是什么.

在尝试访问localhost之前,还要检查服务器是否正常运行.


luk*_*ymo 5

如果您是JSP / Tomcat的新手,请不要修改tomcat的xml文件。

我假设您已经部署了Web应用程序。但可以肯定的是,请尝试以下步骤:-右键单击您的Web应用程序-选择“运行方式” /“在服务器上运行”,选择Tomcat 7

这些步骤将在您的应用程序的浏览器中部署和运行。检查Tomcat是否正常工作的另一种方法是查找tomcat存在的路径(在eclipse插件中),然后将一些有效的WAR文件复制到webapps(而不是wtpwebapps),然后尝试运行该应用程序。