将现有 Web 应用程序导入到 NetBeans IDE 5.0 中

您可以使用两个项目模板从现有的 Web 应用程序中创建 NetBeans IDE 5.0 项目:

在本文档中,您将首先使用一个假设的 Web 应用程序来学习如何导入本身没有 Ant 生成脚本的源代码。在第一个方案中,NetBeans IDE 为您创建一个 Ant 构建脚本。在第二个方案中,您导入 Tomcat Web Server 的示例“Hello World”应用程序,该应用程序是与 NetBeans IDE 5.0 安装绑定在一起的。该示例应用程序具有自己的 Ant 构建脚本。在文档的这个部分中,您将学习如何导入源代码(如果您想将自己的 Ant 构建脚本与 Web 应用程序结合使用)。

选择服务器

开始编写代码之前,必须确保您具备所有必要的软件,并且保证正确设置项目。

安装软件

开始之前,需要在您的计算机上安装以下软件:

  • NetBeans IDE 5.0(下载)。
  • Java Standard Development Kit (JDKTM) version 1.4.2(下载)或 5.0(下载

您也可以下载并使用以下应用程序服务器之一:

  • Sun Java System (SJS) Application Server
  • JBoss Application Server
  • WebLogic Application Server
但是,与 IDE 绑定在一起的 Tomcat Web Server 可以提供两层 web 应用程序(如本导入指南中描述的)所需的全部支持。只有在想开发企业应用程序时,才需要 应用程序服务器。

注册服务器

绑定的 Tomcat Web Server 会自动在 IDE 中注册。但是,在部署到 SJS Application Server、Jboss 或 WebLogic 之前,必须在 IDE 中注册一个本地实例。如果安装了 NetBeans IDE 5.0/SJS Application Server 包,则自动注册本地 SJS Application Server。

  1. 从主窗口选择 Tools > Server Manager。
  2. 单击 Add Server。选择服务器并为该服务器实例命名。然后单击 Next。
  3. 指定服务器信息、应用服务器的本地实例的位置和要部署到的域。

使用 IDE 构建、运行和调试

当您创建标准的 web 应用程序项目时,IDE 创建控制您的项目如何构建和部署的 Ant 构建脚本和属性文件。当您为项目设置选项时 IDE 更新 Ant 脚本。

选择项目类型

  1. 选择 File > New Project (Ctrl-Shift-N)。
  2. 选择 Web > Web Project with Existing Sources。单击 Next。

设置项目名称和位置

  1. 在 Location 中,单击 Browse 选择您的 web 应用程序的 web 模块根。
  2. 在 Project Name 中,键入您的项目名称。该名称也用于上下文路径。
    注意: 上下文路径不能包含空格。如果您的项目名称包含空格,则在上下文路径中用下划线替换它们。例如,名称为“Servlet Examples”的项目上下文路径为 "/servlet_examples"
  3. 在 Project Folder 中,单击 Browse 选择项目所在的文件夹。
    注意: 您的项目文件夹尚不包含名为 nbproject 的文件夹,因为该名称是 IDE 创建用来放置项目级别的文件的文件夹名称。
  4. 选中 Set as Main Project 框。单击 Next。

选择现有源和库

  1. 在 Web Pages Folder 中,检查位置是否已正确填写。
  2. 也可以向 Libraries Folder 添加 JAR 文件。
  3. 指定源包文件夹。
    注意: 另一个加载的项目不能拥有这个源根。此外,相同项目的另一个编译单元也不能拥有这个源根。例如,源包文件夹也不能是相同项目的测试包文件夹。
  4. 也可以添加 JUnit 测试包文件夹。
  5. 单击 Finish。该项目在 IDE 中打开。可以在 Projects 窗口中查看其逻辑结构,在 Files 窗口中查看其文件结构。

创建项目之间的依存关系

当您为每个源根创建单独的项目时,必须设置项目之间的类路径依存关系。通常您设置一个主项目和几个所需的项目。所需的项目是已经添加到另一个项目的类路径中的项目。
注意: NetBeans IDE 4.1 Applet 教程演示了创建项目之间依存关系的用处。

  1. 右键单击要添加所需项目的项目,然后选择 Properties。
  2. 单击 Project Properties 对话框左窗格中的 Libraries。Libraries 窗格列出了所需项目的所有项目。
  3. 单击 Add Project。
  4. 选择您要向类路径添加的 JAR 文件所在项目的项目目录。IDE 项目的目录标记一个记号(图标)。当您选择项目目录时,将显示项目名称和项目 JAR 文件。
  5. 单击 Add Project JAR Files。

运行应用程序

  • 选择 Run > Run Main Project 运行 web 应用程序。

使用您自己的 Ant 脚本构建、运行和调试

当您创建自由格式的 web 应用程序项目时,IDE 使用您自己的 Ant 构建脚本来构建和部署您的项目。在 IDE 中,您必须设置项目以镜像项目的 Ant 脚本中包含的设置。您还必须编写自己的目标以在 IDE 中调试该项目。

选择项目类型

  1. 选择 File > New Project (Ctrl-Shift-N)。
  2. 选择 Web > Web Project with Existing Ant Script。单击 Next。

设置项目名称和位置

  1. 在 Location 中,单击 Browse 并选择您的 web 模块根,在本例中是 Tomcat Web Server 的 sample 文件夹(位于 NetBeans IDE 安装文件夹中):
  2. enterprise2\jakarta-tomcat-5.5.7\webapps\tomcat-docs\appdev\sample
  3. 在 Project Folder 中,单击 Browse 选择项目所在的文件夹。
    注意: 您的项目文件夹尚不包含名为 nbproject 的文件夹,因为该名称是 IDE 创建用来放置项目级别的文件的文件夹名称。
  4. 选中 Set as Main Project 框。单击 Next。

将 Ant 目标链接到 IDE 命令

  1. 将您的 Ant 构建脚本中的 Ant 目标链接到 IDE 中的项目命令:
    • 对于 Build Project,选择 compile
    • 对于 Clean Project,选择 clean
    • 对于 Generate Javadoc,选择 javadoc
    • 对于 Run Project,选择 install
    • 对于 Deploy Project,选择 reload
  2. 单击 Next。

设置 web 源

  1. 在 Web Pages Folder 中,检查应用程序的“web”文件夹是否已正确填充。
  2. 在 Context Path 文本框中,键入 /MyProject。单击 Next。

设置源包文件夹

  1. 在 Source Packages Folder 中,检查应用程序的“src”文件夹是否已正确填充。
    注意: 另一个加载的项目不能拥有这个源根。此外,相同项目的另一个编译单元也不能拥有这个源根。例如,源包文件夹也不能是相同项目的测试包文件夹。
  2. 也可以添加 JUnit 测试包文件夹。
  3. 在 Source Level 中,选择 Ant 脚本编译和运行的 JDK。对于本例,JDK 级别为 1.5。单击 Next。

设置类路径

  1. 单击 Add JAR/Folder 并浏览到 NetBeans IDE 安装文件夹中的 Servlet API:
    enterprise2/jakarta-tomcat-5.5.7/common/lib
    注意: 该类路径不能用于编译或执行,因为 Ant 脚本负责处理这些任务的类路径。这些设置告诉 IDE 要在代码完成和重构中包含哪些类。
  2. 单击 Next,然后单击 Finish。该项目在 IDE 中打开。可以在 Projects 窗口中查看其逻辑结构,在 Files 窗口中查看其文件结构:

                

自定义 Ant 构建脚本以便与 IDE 一起使用

展开 Projects 窗口中的 MyProject 项目节点,在 Source Editor 中打开 build.xml 文件,然后执行以下操作:

  1. 编辑 File and Directory Names 部分中的 app.name 属性配置上下文路径:
         <property name="app.name" value="MyProject"/>
  2. 编辑 File and Directory Names 部分中的 catalina.home 属性定义指向 Tomcat Web Server 的条目。例如,如果您的 Tomcat Web Server 版本为 5.5.7 并且 NetBeans IDE 安装在默认的文件夹中,则使用以下属性语句:
         <property name="catalina.home"
         value="C:\Program Files\netbeans-5.0\enterprise2\jakarta-tomcat-5.5.7"/>
  3. 如果您想更改 Tomcat Web Server 的默认端口号 (8080),则编辑 File and Directory Names 部分中的 manager.url 属性:
         <property name="manager.url"
         value="http://localhost:8084/manager"/>
  4. 编辑 Custom Ant Task Definitions 部分设置运行 Ant 构建脚本时 IDE 所用环境的 CLASSPATH 变量。例如,“deploy”、“list”、“reload”和“undeploy”任务的条目可能如下:
        <path id="catalina.ant.cp">
           <pathelement path="${catalina.home}/server/lib/catalina-ant.jar"/>
        </path>
    <taskdef name="deploy"   classname="org.apache.catalina.ant.DeployTask" classpathref="catalina.ant.cp"/> <taskdef name="list"     classname="org.apache.catalina.ant.ListTask" classpathref="catalina.ant.cp"/> <taskdef name="reload" classname="org.apache.catalina.ant.ReloadTask" classpathref="catalina.ant.cp"/> <taskdef name="undeploy" classname="org.apache.catalina.ant.ReloadTask" classpathref="catalina.ant.cp" />
  5. 通过在 </target> 结束标记上面添加以下行,修改 install 目标和 reload 目标:
        <nbbrowse url="http://localhost:8084/MyProject"/>

    默认的 installreload 目标在浏览器中不显示该应用程序。当您添加以上行时,IDE 的默认浏览器打开并且该应用程序显示为这些目标的最后一步。

  6. (可选)向 Ant 构建脚本添加自己的目标并将它们映射到 IDE 中的项目命令。有关详细信息,请参阅以下“调试应用程序”部分。

部署应用程序

  1. 在 Runtime 窗口 (Ctrl-5) 中,展开 Servers 节点并检查 Tomcat Web Server 是否正在运行。如果没有运行,请右键单击 Tomcat Web Server 的实例节点,并从上下文菜单中选择 Start。
  2. 右键单击 Projects 窗口中的项目,并从上下文菜单中选择 Run Project。当您将 Ant 目标链接到 IDE 命令之后,您便将 install 目标链接到 Run Project 命令。这是运行该项目时调用的目标。当应用程序已准备好部署时将出现正在运行的监视器窗口。

    注意: 在每次会话中,首次运行应用程序时,Tomcat Web Server 会要求您输入用户名和密码。唯一可接受的用户名和密码是具有“管理员”角色用户所使用的用户名和密码。这在 Tomcat Web Server 基目录的 conf/tomcat-users.xml 文件中进行了定义。若要确定该目录的位置,在 Runtime 窗口中右键单击 Tomcat Web Server 实例节点,并选择 Properties。在 Properties 对话框中,请将 Base Directory 属性指向 Tomcat Web Server 的基目录。

成功部署应用程序之后,通过右键单击 Projects 窗口中的项目并从上下文菜单中选择 Redeploy Project,您可以重新部署该应用程序。当您将 Ant 目标链接到 IDE 命令之后,您便将 reload 目标链接到 Deploy Project 命令。这是运行该项目时调用的目标。

调试应用程序

让我们向该项目添加调试目标。当运行调试目标时,它将在调试程序中运行该项目,并允许您按行一步步浏览您的代码。IDE 可以为您生成完整的调试目标。提供了特定与您的项目的一些设置之后,您便可以开始运行了。但是,您可能已拥有自己的调试目标。在这种情况下,采取以下步骤:

  1. 展开 Files 窗口中的 nbproject 文件夹,双击 project.xml 将它在 Source Editor 中打开。
  2. ide-actions 部分中,添加以下操作:

        <action name="debug">
           <script>path to my build script</script>
           <target>name of my debug target</target>
    </action>
  3. context-menu 部分中,添加新的 ide-action
        <ide-action name="debug"/>
  4. 现在当您右键单击项目节点时,您将看到 Debug Project 项。
  5. 使用调试目标
如果您没有自己的调试目标,则生成并使用以下内容:
  1. 从主菜单中选择 Run > Debug Main Project (F5)。
    注意:提示您让 IDE 在 nbproject/ide-targets.xml 中生成特定于 IDE 的调试目标。
  2. 单击 Generate。

    在新的 ide-targets.xml 文件中生成了完整的调试目标,并且所有属性都是在新的 debug.properties 文件中定义的。debug.properties 文件、ide-targets 文件和 projects.xml 文件都在 Source Editor 中打开。debug.properties 文件具有以下内容:

       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 文件进行调试。

    有关这些属性的详细信息,请参阅编写目标以调试 Web 应用程序

  3. 在 Files 窗口中,展开项目节点,展开 nbproject 文件夹并双击 ide-targets.xml。IDE 已为您定义了完整的调试目标,如下所示。

        <target name="-load-props">
           <property file="nbproject/debug.properties"/>
        </target>
    
        <target name="-check-props">
           <fail unless="jpda.session.name"/>
           <fail unless="jpda.host"/>
           <fail unless="jpda.address"/>
           <fail unless="jpda.transport"/>
           <fail unless="web.docbase.dir"/>
           <fail unless="debug.sourcepath"/>
           <fail unless="client.url"/>
        </target>
    
        <target depends="-load-props, -check-props" name="-init"/>
    
        <target depends="-init" if="netbeans.home" name="debug-nb">
           <nbjpdaconnect address="${jpda.address}" host="${jpda.host}" name="${jpda.session.name}" transport="${jpda.transport}">
                <sourcepath>
    		<path path="${debug.sourcepath}"/>
                </sourcepath>
           </nbjpdaconnect>
           <antcall target="debug-display-browser"/>
        </target>
    
        <target name="debug-display-browser">
           <nbbrowse url="${client.url}"/>
        </target>

您需要执行的任何自定义都应该在 debug.properties 文件中进行,而不是在支持它的 debug-nb 目标中进行。

使用调试目标

使用调试目标之前,您的 web 应用程序必须已部署

  1. 在 Projects 窗口中展开 web 节点,双击 hello.jsp 将它在 Source Editor 中打开。右键单击 Source Editor 左边的灰条,并选择 Show Line Numbers。转到第 25 行并单击行号。出现一个红条。这就是断点。当您运行调试程序时,它将在该行处停止。在第 29 行处设置另一个断点。
  2. 在 Runtime 窗口中,展开 Servers 节点,右键单击 Bundled Tomcat Web Server 的节点,并选择 Start/Stop Server。当完成复选框时,取消选择 Automatically 关闭该窗口,然后单击 Server Status 对话框中的 Stop Server。

    现在单击 Server Status 对话框中的 Start Server (Debug)。

  3. 在调试模式下启动服务器后,选择 Run > Debug Main Project (F5)。部署应用程序并连接到调试器。
  4. 在部署的应用程序中单击 JSP 页面链接。在 IDE 中,您应该看到类似于 Debugger Console 中的以下内容:
        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.
  5. 选择 Run > Step Into (F7)。您应该看到调试程序已经步入文件中的下一行(第 26 行)。
        User program running
        Thread http-8084-Processor23 stopped at hello.jsp:26.
  6. 使用 F7 继续浏览代码中的每一行。

调试目标故障排除

请参阅调试部分(位于 NetBeans 用户常见问题解答中)。

下一步

要发送评论和建议、获得支持和随时获得关于 NetBeans IDE J2EE 开发特性的最新发展情况,请加入 nbusers@netbeans.org 邮件列表。

 
 
 搜索