当我从Windows托盘中运行Tomcat时,它启动了,我无法访问http://localhost:8080/
Tomcat主页,但是如果我从Eclipse运行它,它可以工作,我的应用程序工作,但我无法到达http://localhost:8080/
...
如何解决?或者这是正常的吗?
谢谢!
答案 0 :(得分:13)
这可能是正常的,根据this thread:
这很正常 要查看原因,请在“服务器”视图中双击Tomcat服务器。这将打开Tomcat配置编辑器。单击Overview部分中的“Open launch configuration”链接。这将打开启动配置属性对话框。选择Arguments选项卡并检查VM Arguments字段的内容。
请注意,
catalina.home
属性指向Tomcat安装,但catalina.base
指向工作区下的“.metadata\.plugins\org.eclipse.wst.server.core\tmp
”目录。
因此,您正在运行Tomcat的单独实例。 “webapps
”目录下的“.metadata\...\tmp
”目录仅包含“空”ROOT webapp以及已添加到服务器的任何Web项目。这就是你获得404的原因。在Tomcat配置编辑器中,您可以取消选中“直接从工作区运行模块(不要修改Tomcat安装)”选项,
catalina.base
和catalina.home
都将设置为Tomcat安装。
请注意,在此配置中,Eclipse中的Tomcat服务器“拥有”您的Tomcat安装 每次从Eclipse启动Tomcat服务器时,工作区中Servers项目下的Tomcat文件都将覆盖安装中的文件。假设大多数人希望保持他们的Tomcat安装独立于Eclipse Tomcat服务器,因此默认情况下是创建一个单独的Tomcat实例。
对于单独的实例,您可以在Eclipse Tomcat服务器的同时运行Tomcat安装,只要您修改其中一个或两个,以便它们使用的端口不会冲突。如果您希望在Eclipse中保留单独的Tomcat实例时存在标准Tomcat Web应用程序,请切换到Tomcat配置编辑器中的“模块”选项卡,然后使用“添加外部Web模块”按钮手动添加所需的Web应用程序。请注意,这会为服务器的启动时间增加一点点。
请注意,这适用于使用WTP x1.5(似乎是tomcat 5或更低版本)的tomcat版本,在使用WTP(Web工具平台)x2.0及更高版本的tomcat中,您不再获得该选项。相反,您需要进入服务器属性并点击开关位置,然后显示正确的路径。然后你进入服务器配置(双击服务器打开配置)并将“服务器位置”更改为“使用Tomcat灌输”(中间的)。2
答案 1 :(得分:1)
了解Web应用程序结构
Web应用程序是Web资源的集合,例如JSP页面,HTML页面,servlet, 和配置文件,组织成Servlet规范中指定的层次结构。您 有两种方法可以组织Web应用程序:打包和解压缩。包装形式 称为Web归档(WAR)文件,解压缩的表单是存储的目录集合 在文件系统上。 无包装格式对于Web应用程序开发人员来说非常方便,因为它允许它们 在开发和调试应用程序时替换单个文件。 但是,在部署环境中,提供单个文件通常更方便 可以自动部署。这减少了放置文件的部署过程 设置系统资源。 Tomcat还可以自动扩展Web应用程序一次 服务器已启动。 WAR文件的自动扩展在server.xml中配置 file作为配置主机的元素的一部分。
Web应用程序上下文
每个Web应用程序对应一个上下文组件,如第1章所述,和
您为每个分配上下文路径。默认上下文称为ROOT,对应于
没有其他上下文信息的服务器的名称。例如,ROOT Web应用程序
在本地计算机上将对应http://localhost:8080.
如果您已配置域
您的服务器的名称系统(DNS)设置,也可以从
用户通过请求相对于服务器的上下文来访问其他Web应用程序。对于 例如,用户可以使用以下URL访问Tomcat的管理器Web应用程序:
http://
localhost:8080/manager.
您放置在webapps文件夹中的应用程序以它们所在的目录命名。
因此,您可以使用以下命令访问tomcat-docs目录中的Web应用程序:
http://localhost:8080/tomcat-docs.
服务器上的每个应用程序都以其名称为人所知,
用户可以根据统一资源定位符的其余部分访问资源
(URL)在Web应用程序的名称之后。