当通过Netbeans或Eclipse运行JSP页面时,它会被部署到哪里?

5
在Netbeans中,我创建了一个新的默认Web应用程序项目,其中包含一个index.jsp文件。在工具 > 服务器中,我已经将Netbeans指向了我提取Tomcat的位置(C:\ apache-tomcat-7.0.42)。
我运行程序,浏览器打开,并显示了index.jsp文件。
我不明白的是,index.jsp文件并没有自动复制到Tomcat文件夹中,但它仍然能工作。我认为,要使文件工作,必须将其复制到C:\ apache-tomcat-7.0.42 \ webapps \ ROOT \ WEB-INF 文件夹中。
1. Netbeans如何在不将index.jsp文件复制到Tomcat文件夹的情况下执行该文件? 2. 当我在Netbeans和Eclipse中运行程序时,它显示正在启动Tomcat服务器。它是在启动位于C:\ apache-tomcat-7.0.42的同一服务器,还是创建了一个单独的“虚拟”服务器实例并在Netbeans / Eclipse工作区中运行?
3个回答

2

首先,您需要知道Tomcat有两个可配置目录:

  • CATALINA_HOME,您选择安装Tomcat的目录。例如:c:\Program Files\Apache Software Foundation\Tomcat 6.0。Tomcat使用此变量来查找其内部类和库。

  • CATALINA_BASE,包含配置文件和目录(如Web应用程序目录)的目录。如果未设置CATALINA_BASE,则默认为CATALINA_HOME的值。例如:C:\Users\JVerstry\.netBeans\7.1.2\apache-tomcat-7.0.22.0_base


NetBeans

在NetBeans中,您会看到:

Tomcat Configuration

NetBeans将文件复制到用户个人资料目录下的Catalina Base目录以进行部署。


eclipse

在eclipse中,您会看到:

Tomcat metadata

eclipse默认情况下将文件复制到工作区.metadata目录中以进行部署。


请输出以下代码:String realPath = request.getRealPath("");。它在哪里? - Paul Vargas
request.getRealPathе·Із»Ҹиў«ејғз”ЁпјҢжүҖд»ҘжҲ‘е°қиҜ•дҪҝз”ЁservletContext.getRealPath("/")е’Ңrequest.getServletPath()жқҘжӣҝд»ЈгҖӮз»“жһңжҳҜF:\Programming\Java\HelloWeb\build\web\гҖӮ - Jonathan
再次重复我的问题:该文件位于HelloWeb项目文件夹中。我想知道它是如何在该文件夹中工作的,而不需要部署到C驱动器中的tomcat文件夹中? - Jonathan
NetBeans将文件复制到第三个文件夹中。这样,不会影响Tomcat项目文件夹或文件。 - Paul Vargas
我知道它被复制到另一个文件夹中。问题是,它在那个文件夹中如何工作?我想我会在Netbeans邮件列表上问一下。 - Jonathan
显示剩余3条评论

1
Tomcat创建了一个独立的Tomcat服务器实例,运行在Eclipse工作区(不确定Netbeans是否也是如此)。因此,会单独创建server.xml、catalina.policy、tomcat-users.xml和web.xml文件。更多信息请参见Tomcat FAQ
创建第一个Tomcat服务器时,为什么我的工作区会创建一个“Servers”项目?
随着与Tomcat服务器关联的子文件夹一起创建了Servers项目,以保存该Tomcat服务器的server.xml、catalina.policy、tomcat-users.xml和web.xml文件的副本。在WTP 2.0.x及更高版本中,还包括catalina.properties文件。这样可以更容易地修改这些文件。它还允许这些文件成为“工作副本”,与实例位置的conf目录中找到的副本分开。这避免了在服务器运行时对Servers项目中的文件进行修改可能干扰正在运行的Tomcat服务器的可能性。
这个Servers项目必须保持打开状态,以使Tomcat服务器正常工作。请注意,使用“关闭非相关项目”命令可能会意外关闭Servers项目。如果发生这种情况,请重新打开Servers项目。

0
你可以使用Netbeans或Eclipse轻松完成部署任务。按照以下步骤操作:
  1. 首先确保你的项目没有错误。
  2. 如果你的项目正常运行,右键单击NetBeans或Eclipse项目列表中的根文件夹。
  3. 点击清理和构建选项。
  4. 一个名为Dist的文件夹将被创建到你的项目目录中,你可以使用资源管理器查看该文件夹,其中包含一个projectname.WAR文件。
  5. 现在打开你的Tomcat Web服务器,点击“管理应用程序”,使用正确的凭据登录。
  6. 进入“要部署的WAR文件”部分。
  7. 浏览我们的war文件并点击部署按钮。
  8. 现在你可以在应用程序列表中看到你的应用程序。
  9. 点击你的应用程序。

享受吧 :)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接