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

  通过使用以下两个项目模板,您可以基于现有的 Web 应用程序来创建 NetBeans IDE 5.5 项目:

  •   基于现有源代码的 Web 项目您可以使用此项目模板来创建标准 Web 项目。标准 Web 项目使用 IDE 来编译、运行和调试 Web 应用程序。
  •   包含现有 Ant 脚本的 Web 项目您可以使用此项目模板来创建自由格式的 Web 项目。自由格式的 Web 项目使用您自己的 Ant 脚本来编译和运行 Web 应用程序并启动 NetBeans 调试器。

  在本文档中,您将首先使用一个假设的 Web 应用程序来学习如何导入本身没有 Ant 生成脚本的源代码。在第一个方案中,NetBeans IDE 将创建一个 Ant 生成脚本。在第二个方案中,您将导入 Tomcat Web Server 的样例 "Hello World" 应用程序,该应用程序与 NetBeans IDE 5.5 安装捆绑在一起。此样例应用程序本身带有 Ant 生成脚本。您将了解如何导入源代码(如果您希望使用自己的 Ant 生成脚本来处理 Web 应用程序)。

  选择服务器

  在开始编写代码之前,您必须确保已安装了所有必需的软件,并且正确设置了项目。

  安装软件

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

  •   NetBeans IDE 5.5
  •   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。

  1.   从主窗口中,选择“工具”>“服务器管理器”。
  2.   单击“添加服务器”。选择服务器,并为该实例指定名称。然后,单击“下一步”。
  3.   指定服务器信息、应用服务器本地实例的位置以及要将 Web 应用程序部署到的域。

  使用 IDE 生成、运行和调试

  在创建标准 Web 应用程序项目时,IDE 会创建一个 Ant 生成脚本和一些属性文件,这些文件控制项目的生成和部署方式。在设置项目选项时,IDE 会更新 Ant 脚本。

  选择项目类型

  1.   选择“文件”>“新建项目”(Ctrl-Shift-N)。
  2.   选择 "Web" >“基于现有源代码的 Web 应用程序”。单击“下一步”。

  设置项目名称和位置

  •   在“位置”中,单击“浏览”以选择 Web 应用程序的 Web 模块根目录。
  •   在“项目名称”中,键入项目的名称。此名称也可以用来设置上下文路径。
      注意:上下文路径不能包含空格。如果项目名称包含空格,则它们在上下文路径中被替换为下划线。例如,名为 "Servlet Examples" 的项目,其上下文路径应为 "/servlet_examples"。
  •   在“项目文件夹”中,单击“浏览”以选择放置项目的文件夹。
      注意:项目文件夹不能包含一个名为 nbproject 的文件夹,因为该名称是 IDE 为保存项目级别的文件而创建的文件夹名称。
  •   将“设置为主项目”复选框保留为选中状态,单击“下一步”。

  选择现有源代码和库

  •   在“Web 页”文件夹中,请检查是否正确填写了位置。
  •   (可选)将 JAR 文件添加到库文件夹中。
  •   然后指定源包文件夹。
      注意:源根目录不能被所装入的其他项目拥有。此外,源根目录也不能被同一项目的其他编译单元拥有。例如,源包文件夹不能是同一项目的测试包文件夹。
  •   (可选)添加 JUnit 测试包文件夹。
  •   单击“完成”。此时,会在 IDE 中打开该项目。您可以在“项目”窗口中查看其逻辑结构,在“文件”窗口中查看其文件结构。

  创建项目之间的依赖关系

  在为每个源根目录创建单独的项目时,必须设置项目之间的类路径依赖关系。通常,您可以设置一个主项目和多个所需的项目。所需的项目是指已添加到其他项目类路径中的项目。

  •   请右键单击要在其中添加所需项目的项目,然后选择“属性”。
  •   在“项目属性”对话框的左面板中,单击“库”。“库”窗格会列出该项目的所有必需项目。
  •   单击“添加项目”。
  •   选择项目的项目目录,您要将该项目的 JAR 文件添加到类路径中。IDE 项目目录均带有(图标)标记。选择项目目录时,将显示项目名称和项目 JAR 文件。
  •   单击“添加项目 JAR 文件”。

  运行应用程序

  •   选择“运行”>“运行主项目”来运行 Web 应用程序。

  使用您自己的 Ant 脚本生成、运行和调试

  创建自由格式的 Web 应用程序项目时,IDE 将使用 Ant 生成脚本来生成和部署项目。在 IDE 中,您必须对项目进行设置,以镜像项目的 Ant 脚本中包含的设置。此外,还必须编写自己的目标,以便在 IDE 中调试项目。

  选择项目类型

  •   选择“文件”>“新建项目”(Ctrl-Shift-N)。
  •   选择 "Web" >“包含现有 Ant 脚本的 Web 项目”。单击“下一步”。

  设置项目名称和位置

  •   在“位置”中,单击“浏览”并选择 Web 模块根目录。在本示例中,该根目录是 NetBeans IDE 安装文件夹中的 Tomcat Web Server 的 sample 文件夹:

enterprise3/apache-tomcat-5.5.17/webapps/tomcat-docs/appdev/sample

  •   在“项目文件夹”中,单击“浏览”以选择放置项目的文件夹。
      注意:项目文件夹不能包含一个名为 nbproject 的文件夹,因为该名称是 IDE 为保存项目级别的文件而创建的文件夹名称。 
  •  将“设置为主项目”复选框保留为选中状态,单击“下一步”。
    •  

      将 Ant 目标链接到 IDE 命令

    •   将 Ant 生成脚本中的 Ant 目标链接到 IDE 中的项目命令:
      •   对于“生成项目”,请选择 compile。
      •   对于“清理项目”,请选择 clean。
      •   对于“生成 Javadoc”,请选择 javadoc。
      •   对于“运行项目”,请选择 install。
      •   对于“部署项目”,请选择 reload。
    •   单击“下一步”。

      设置 Web 源文件

    •   在“Web 页”文件夹中,请检查是否正确填写了应用程序的 "web" 文件夹。
    •   在“上下文路径”文本框中,键入 /MyProject。单击“下一步”。

      设置源包文件夹

    •   在“源包文件夹”中,请检查是否正确填写了应用程序的 "src" 文件夹。
        注意:源根目录不能被所装入的其他项目拥有。此外,源根目录也不能被同一项目的其他编译单元拥有。例如,源包文件夹不能是同一项目的测试包文件夹。
    •   (可选)添加 JUnit 测试包文件夹。
    •   在“源代码级别”中,选择 Ant 脚本在编译和运行时使用的 JDK。在此示例中,JDK 级别为 1.5。单击“下一步”。

      设置类路径

      单击“添加 JAR/文件夹”,找到 NetBeans IDE 安装文件夹中的 Servlet API:

    enterprise3/apache-tomcat-5.5.17/common/lib

      注意:此类路径不用于编译或执行,因为 Ant 脚本会处理这些任务的类路径。这些设置向 IDE 表明哪些类包含在代码完成和重构中。

      单击“下一步”,然后单击“完成”。此时,会在 IDE 中打开该项目。您可以在“项目”窗口中查看其逻辑结构,并在“文件”窗口中查看其文件结构:

      

      定制在 IDE 中使用的 Ant 生成脚本

      在“项目”窗口中展开 MyProject 项目节点,并在源代码编辑器中打开 build.xml 文件,然后执行以下操作:

      编辑文件和目录名称部分中的 app.name 属性以配置上下文路径:     

    <property name="app.name" value="MyProject"/>

      编辑文件和目录名称部分中的 catalina.home 属性,将该条目定义为指向 Tomcat Web Server。例如,如果 Tomcat Web Server 的版本为 5.5.7 并且 NetBeans IDE 是安装在缺省文件夹中,则可使用以下属性语句:     

    <property name="catalina.home"
         value="C:/Program Files/netbeans-5.5/enterprise3/apache-tomcat-5.5.17"/>

      如果要更改 Tomcat Web Server 的缺省端口号 (8080),请编辑文件和目录名称部分中的 manager.url 属性:     

    <property name="manager.url"
         value="http://localhost:8084/manager"/>

      编辑定制 Ant 任务定义部分,以设置 IDE 运行 Ant 生成脚本时所使用的环境变量 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" />

      修改 install 目标和 reload 目标,方法是:在结束 </target> 标记上方添加下面一行:    

    <nbbrowse url="http://localhost:8084/MyProject"/>

      缺省 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 目标链接到“部署项目”命令中。这就是在运行项目时调用的目标。

  调试应用程序

  下面,我们将调试目标添加到项目中。运行调试目标时,会在调试器中运行该项目,并允许逐行执行代码。IDE 可以生成一个完整的调试目标。在提供了一些特定于项目的设置后,就可以进行下面的工作了。然而,有可能您已经具有了自己的调试目标。在这种情况下,请执行以下步骤:

  展开“文件”窗口中的 nbproject 文件夹,双击 project.xml,以便在源代码编辑器中打开它。

  在 ide-actions 部分中,添加如下操作:    

<action name="debug">
       <script>path to my build script</script>
       <target>name of my debug target</target>
    </action>

  在 context-menu 部分中,添加新的 ide-action:    

<ide-action name="debug"/>

  现在,当右键单击项目节点时会看到“调试项目”项。

  使用调试目标。

  如果您没有自己的调试目标,请按如下方式生成并使用一个调试目标:

  从主菜单中选择“运行”>“调试主项目”(F5)。

  注意:系统会提示您让 IDE 在 nbproject/ide-targets.xml 中生成一个特定于 IDE 的调试目标。

  单击“生成”。

  此时将在新的 ide-targets.xml 文件中生成一个完整的调试目标,并在新的 debug.properties 文件中定义所有属性,而 debug.properties 文件、ide-targets 文件以及 projects.xml 文件均会在源代码编辑器中打开。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 文件进行调试。

  在“文件”窗口中,依次展开项目节点、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 应用程序。

  在“项目”窗口中,展开 Web 文件夹,双击 hello.jsp 以便在源代码编辑器中打开它。然后右键单击源代码编辑器左侧的灰色条,选择“显示行号”。转至第 25 行,然后单击行号。此时将出现一个红色条。这就是断点。运行调试器时,调试器将在此行停止。在第 29 行设置另一个断点。

  在“运行环境”窗口中,展开“服务器”节点,右键单击捆绑的 Tomcat Web Server 节点,然后选择“启动/停止服务器”。取消选中“在完成时自动关闭此窗口”复选框,然后单击“服务器状态”对话框中的“停止服务器”。

  现在请单击“服务器状态”对话框中的“启动服务器(调试)”。

  在调试模式下启动服务器后,选择“运行”>“调试主项目”(F5)。此时将部署应用程序并将其连接到调试器中。

  在部署的应用程序中,单击 JSP 页链接。在 IDE 中,会看到类似于调试器控制台中出现的内容:    

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.

使用 F7 键继续逐行执行代码。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值