使用eclipse,apache2和tomcat7(Ubuntu)无法访问我的webapp

时间:2013-11-27 10:32:35

标签: eclipse apache tomcat servlets ubuntu

我是一个关于servlet的新手,但我应该部署一个在Tomcat服务器上运行的Eclipse Web项目(只有localhost)。 整个过程在Windows上运行良好,但最近我不得不转移到Ubuntu 12.04,当我想访问该应用程序时遇到此问题:

如果我先启动apache2和tomcat7,则输出

  

sudo netstat -lpn | grep:80

看起来像这样:

  

tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 12231 / apache2
  tcp6 0 0 127.0.0.1:8005 ::: * LISTEN 12848 / java
  tcp6 0 0 ::: 8080 ::: * LISTEN 12848 / java

然后我尝试在eclipse中启动服务器并面对这个错误:

  

cdrserver所需的几个端口(8005,8080)已在使用中。服务器可能已经在另一个进程中运行,或者系统进程可能正在使用该端口。要启动此>服务器,您需要停止其他进程或更改端口号。

好吧,让我们杀掉这些进程(虽然看起来Tomcat使用它们,因为当我停止tomcat时,2个tcp6进程就会消失)。

现在我可以启动Eclipse服务器,没有一个警告:

  

2013年11月27日上午10:59:24 org.apache.coyote.AbstractProtocol init

     

信息:初始化ProtocolHandler [“http-bio-8080”]

     

2013年11月27日10:59:24 org.apache.catalina.startup.Catalina loading

     

INFO:初始化在869 ms内处理

     

2013年11月27日10:59:24 org.apache.catalina.core.StandardService startInternal

     

信息:启动服务Catalina

     

2013年11月27日10:59:24 org.apache.catalina.core.StandardEngine startInternal

     

信息:启动Servlet引擎:Apache Tomcat / 7.0.26

     

2013年11月27日上午10:59:24 org.apache.catalina.startup.HostConfig deployDirectory

     

信息:部署Web应用程序目录/ home / aron / workspace / Text_manipulator

     

2013年11月27日上午10:59:26 org.apache.catalina.startup.HostConfig deployDirectory

     

信息:部署Web应用程序目录/home/aron/workspace/.metadata

     

2013年11月27日上午10:59:26 org.apache.catalina.startup.HostConfig deployDirectory

     

信息:部署Web应用程序目录/ home / aron / workspace / Servers

     

2013年11月27日10:59:26 org.apache.coyote.AbstractProtocol start

     

信息:启动ProtocolHandler [“http-bio-8080”]

     

2013年11月27日上午10:59:26 org.apache.catalina.startup.Catalina开始

     

信息:服务器启动时间为2101毫秒

现在,如果我在浏览器中键入通常的(如在Windows上)URL:localhost / cdr我得到了:

  

未找到

     

在此服务器上找不到请求的URL / cdr。

     

localhost端口80上的Apache / 2.2.22(Ubuntu)服务器

localhost / manager也是如此(我最近得到了这个提示)。

此外,使用localhost:8080 / cdr会产生一个完全空白的页面。

以下是我的Eclipse服务器设置:http://i.imgur.com/lV6FwTm.png

我还检查了项目中的web.xml文件,它有以下servlet类和相关的映射:

  • Faces Servlet

  • Trinidad Resource Servlet

  • 资源Servlet

  • Spring MVC Dispatcher Servlet

我错过了一些明显的东西吗?

1 个答案:

答案 0 :(得分:0)

  

在此服务器上找不到请求的URL / cdr。

     

localhost端口80上的Apache / 2.2.22(Ubuntu)服务器

首先,您的网址应该是localhost:8080,而不是localhost,因为默认为localhost:80并且您的系统上运行了apache2,这就是您获取apache服务器的404消息的原因。

其次,我担心您的日志所显示的资源部署

Nov 27, 2013 10:59:24 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /home/aron/workspace/Text_manipulator
Nov 27, 2013 10:59:26 AM org.apache.catalina.startup.HostConfig deployDirectory
**INFO: Deploying web application directory /home/aron/workspace/.metadata** --> ?
Nov 27, 2013 10:59:26 AM org.apache.catalina.startup.HostConfig deployDirectory
**INFO: Deploying web application directory /home/aron/workspace/Servers** --> ?
Nov 27, 2013 10:59:26 AM org.apache.coyote.AbstractProtocol start

什么是 .metadata ?这不是eclipse创建的隐藏文件夹之一来管理工作区。不应该部署它。

服务器是什么?这看起来像是eclipse的服务器项目。

我没有看到从日志中部署cdr的任何资源。首先,您需要验证是否已部署此特定资源。其次,我建议你阅读Tomcat的工作原理here