在本文档中,您将首先使用一个假设的 Web 应用程序来学习如何导入本身没有 Ant 生成脚本的源代码。在第一个方案中,NetBeans IDE 将创建一个 Ant 生成脚本。在第二个方案中,您将导入 Tomcat Web Server 的样例 "Hello World" 应用程序,该应用程序与 NetBeans IDE 5.5 安装捆绑在一起。此样例应用程序本身带有 Ant 生成脚本。在文档的这一部分,您将了解如何导入源代码(如果您希望使用自己的 Ant 生成脚本来处理 Web 应用程序)。
Java Standard Development Kit (JDKTM) 版本 5.0 或版本 6.0(下载)
(可选)您可以下载并使用以下某个应用服务器:
Sun Java System (SJS) Application Server
JBoss Application Server
WebLogic Application Server
然而,与 IDE 捆绑在一起的 Tomcat Web Server 为二层 Web 应用程序(如本导入指南所介绍的 Web 应用程序)提供了所需的全部支持。仅当要开发企业应用程序时才需要使用应用服务器。
注册服务器
捆绑的 Tomcat Web Server 是在 IDE 中自动注册的。但是,在部署到 SJS Application Server、JBoss 或 WebLogic 之前,必须在 IDE 中注册一个本地实例。如果安装了 NetBeans IDE 5.5/SJS Application Server 包,则会自动注册本地 SJS Application Server。
从主窗口中,选择“工具”>“服务器管理器”。
单击“添加服务器”。选择服务器,并为该实例指定名称。然后,单击“下一步”。
指定服务器信息、应用服务器本地实例的位置以及要将 Web 应用程序部署到的域。
使用 IDE 生成、运行和调试
在创建标准 Web 应用程序项目时,IDE 会创建一个 Ant 生成脚本和一些属性文件,这些文件控制项目的生成和部署方式。在设置项目选项时,IDE 会更新 Ant 脚本。
缺省 install 和 reload 目标在浏览器中不显示该应用程序。添加上面一行后,会打开 IDE 的缺省浏览器,并在这些目标的最后一步显示该应用程序。
(可选)将您自己的目标添加到 Ant 生成脚本中,并将其映射到 IDE 中的项目命令。有关详细信息,请参见下面的“调试应用程序”部分。
部署应用程序
在“运行环境”窗口 (Ctrl-5) 中,展开“服务器”节点,然后检查 Tomcat Web Server 是否正在运行。如果未运行,请右键单击 Tomcat Web Server 的实例节点,然后从上下文菜单中选择“启动”。
在“项目”窗口中右键单击项目,然后从上下文菜单中选择“运行项目”。当 Ant 目标链接到 IDE 命令后,则表明已将 install 目标链接到“运行项目”命令中。这就是在运行项目时调用的目标。在应用程序已准备好进行部署时,将出现一个进度监视器窗口。
注意:每次会话中,当首次运行应用程序时,Tomcat Web Server 会要求您输入用户名和口令。唯一可接受的用户名和口令是“管理员”角色用户所使用的用户名和口令。它是在 Tomcat Web Server 基目录的 conf/tomcat-users.xml 文件中定义的。要确定此目录的位置,请在“运行环境”窗口中右键单击 Tomcat Web Server 实例节点,然后选择“属性”。在“属性”对话框中,请将“基目录”属性指向 Tomcat Web Server 的基目录。
成功部署应用程序后,可以在“项目”窗口中右键单击项目,然后从上下文菜单中选择“重新部署项目”来重新部署该应用程序。当 Ant 目标链接到 IDE 命令后,则表明已将 reload 目标链接到“部署项目”命令中。这就是在运行项目时调用的目标。
jpda.session.name=MyProject
jpda.host=localhost
# Sun Java System Application Server using shared memory (on Windows)
# jpda.address=localhost4848
# jpda.transport=dt_shmem
# Sun Java System Application Server using a socket
# jpda.address=9009
# jpda.transport=dt_socket
# Tomcat using shared memory (on Windows)
jpda.address=tomcat_shared_memory_id
jpda.transport=dt_shmem
# Tomcat using a socket
# jpda.address=11555
# jpda.transport=dt_socket
src.folders=src
web.docbase.dir=web
# you can change this property to a list of your source folders
debug.sourcepath=${src.folders}:${web.docbase.dir}
# Client URL for Tomcat
client.url=http://localhost:8084/MyProject
# Client URL for Sun Java System Application Server
# client.url=http://localhost:8080
上述属性指定了应用程序将通过共享内存部署到 Tomcat Web Server 中。如果要改用 Sun Java System Application Server,或者要使用套接字连接,则应在 Tomcat 属性前放置注释符号 (#),并为使用 Sun Java System Application Server 的可用连接删除注释符号。您会注意到,缺省情况下应用程序仍将部署到 http://localhost:8084/MyProject,但却包含了 Sun Java System Application Server 的端口号。最后,debug.sourcepath 属性指定了包含要调试的文件的文件夹。在本示例中,我们将使用 Java 文件和 Web 文件进行调试。
Attaching to tomcat_shared_memory_id
User program running
Breakpoint reached at line 68 in hello.jsp by thread http-8084-Processor23.
Thread http-8084-Processor23 stopped at hello.jsp:25.
选择“运行”>“步入”(F7)。会看到调试器步入了文件的下一行(第 26 行):
User program running
Thread http-8084-Processor23 stopped at hello.jsp:26.