从Eclipse运行Tomcat时出现HTTP错误404

时间:2013-01-18 04:06:30

标签: eclipse tomcat servlets

我已经安装了Eclipse和Tomcat 7.错误是当我从Eclipse运行Tomcat时它会启动,但之后,当我在Google Chrome中打开localhost:8080时,我得到HTTP Error 404()。我该如何解决这个问题?

8 个答案:

答案 0 :(得分:35)

首先,停止您的Tomcat,然后双击您的服务器,点击Server Locations 并检查Use Tomcat Installation (takes control of Tomcat installation)

答案 1 :(得分:19)

这是因为没有默认的ROOT Web应用程序。当您使用Eclipse创建一些Web应用程序并将其部署到Tomcat时,您将能够使用

形式的URL访问它
http://localhost:8080/YourWebAppName

其中 YourWebAppName 是您为Web应用程序指定的名称(所谓的应用程序上下文路径)。

引自Jetty Documentation Wiki(强调我的):

  

上下文路径是用于选择的网址路径的前缀   传入请求路由到的Web应用程序。通常   Java servlet服务器中的URL具有这种格式   http://hostname.com/contextPath/servletPath/pathInfo,其中每个   路径元素可以是零个或多个/分离的元素。 如果有的话   没有上下文路径,上下文被称为根上下文


如果您仍然需要使用表单网址

访问的默认应用
http://localhost:8080

或者如果您将默认的8080端口更改为80,那么只需

http://localhost

即。 没有应用程序上下文路径阅读以下内容(引自Tutorial: Installing Tomcat 7 and Using it with Eclipse,强调我的):

  

将ROOT(默认)Web应用程序复制到Eclipse中。 Eclipse忘记复制   创建Tomcat时的默认应用程序(ROOT,示例,文档等)   Eclipse工作区内的文件夹。去   C:\ apache-tomcat-7.0.34 \ webapps并复制ROOT文件夹。然后去   您的Eclipse工作区,转到.metadata文件夹,然后搜索   “wtpwebapps”。你应该找到类似的东西   C:\your-eclipse-workspace-location\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps   (或.../tmp1/wtpwebapps如果您已经注册了其他服务器   在Eclipse中)。转到wtpwebapps文件夹并粘贴ROOT(如果是,请说“是”   询问您是否要合并/替换文件夹/文件)。然后重新加载   http://localhost/查看Tomcat欢迎页面。

答案 2 :(得分:4)

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

答案 3 :(得分:3)

检查服务器配置和文件夹的路由:

  1. 打开服务器视图(窗口 - >打开视图... - >其他... - >搜索'服务器'。

  2. 右键单击服务器(我的是Tomcat v6.0) - >属性 - >点击“Swicth Location”(检查位置是否像/ servers ...

  3. 双击服务器。这将打开一个新的服务器页面。在“服务器位置”区域中,选中“使用Tomcat安装(控制Tomcat安装)”选项。

  4. 重新启动您的服务器。

  5. 享受!

答案 4 :(得分:2)

如果您更改了位置,请使用选项'使用自定义位置(不修改Tomcat安装)'并且部署的目录是" wtpwebapps"然后你必须:     

        
  1.     从[工作区元数据]到/ Servers / Tomcat v ....的Swtich Location,单击Apply,OK。     
  2.     重新启动服务器,如果您发现404错误消息而不是服务器正在运行,则它只是在您选择的Web服务器位置没有启动文件。如果您遍历该位置,您将找到一堆已创建的目录。其中一个是wtpwebapps,其中有ROOT。这是您的Web服务器目录。您需要返回已安装的Tomcat目录,并将< tomcat的已安装目录> / web-apps / ROOT的内容复制到您的wtpwebapps。重新启动Web服务器,您应该看到tomcat默认页面。     
  3.     要使服务器状态,管理器应用程序和主机管理器工作,您必须将其他子目录从< tomcat的已安装目录> / webapps(即文档,示例,主机管理器,管理器)复制到您的" web应用" (不是wtpwebapps)目录。     
  4.     编辑'<您的网络目录> /conf/tomcat-users.xml'并输入以下内容:     
  5.     
          <role rolename="manager-gui"/>
          <role rolename="manager-status"/>
          <role rolename="manager-jmx"/>
          <role rolename="manager-script"/>
          <role rolename="admin-gui"/>
          <role rolename="admin"/>
          <user username="admin" password="yourpassword" roles="admin, admin-gui, manager-gui"/>
        
        
  6.         然后编辑&#39;&lt;您的网站目录&gt; /conf/server.xml' ;,添加属性:     
            readonly="true"
        
        进入&lt;资源/&gt; &lt; GlobalNamingResources /&gt;的关键字组。     
  7.     重新启动服务器并尝试使用配置的凭据登录。     
  8.          
        注意:如果您更改服务器配置,请说当您想要比较默认配置(使用tomcat安装目录)和“新目录”时,切换回新目录&#39;这个&#39; tomcat-users.xml&#39;将被默认文件覆盖,因此在此之前保存此文件的内容,然后将其复制回来。如果您只提供用户名&#34; admin&#34;角色,系统会提示您提供帮助信息。它说:你不应该授予admin-gui或manager-gui角色&#39; manager-jmx&#39;和经理脚本&#39;角色。     

答案 5 :(得分:1)

  1. 点击Window&gt;显示视图&gt;服务器或右键单击服务器&#34;服务器&#34;查看,选择&#34;属性&#34;。
  2. 或者双击打开服务器的“概述”屏幕。
  3. 在“服务器位置”选项卡中,选择“#34;使用Tomcat位置&#34;。
  4. 保存配置并重新启动服务器。
  5. 这样Eclipse就可以完全控制Tomcat,这样当你从Eclipse内部运行时,你也可以使用Tomcat Manager访问默认的Tomcat主页。

    Screenshot is attached here

答案 6 :(得分:0)

解决此问题的另一种方法是在eclipse上转到服务器的属性(右键单击服务器 - &gt;属性)在常规选项卡中,您会将location视为workspace.metadata。点击开关位置。

答案 7 :(得分:0)

安装Tomcat后我遇到了这个或类似的问题。

其他答案并不奏效,但让我走上了正确的道路。我在发现一段YouTube视频后,在https://stackoverflow.com/a/20762179/3128838回答了此问题,该视频显示了我遇到的确切问题。