Web 应用程序开发简介

http://netbeans.org/kb/docs/web/quickstart-webapps_zh_CN.html

Web 应用程序开发简介

本文档将向您介绍有关使用 NetBeans IDE 开发 Web 应用程序的基础知识。它将演示如何创建简单的 Web 应用程序,如何将该应用程序部署到服务器,以及如何在浏览器中查看该应用程序的表现形式。该应用程序采用一个 JavaServer Pages™ (JSP) 页来要求您输入自己的姓名。然后,使用 JavaBeans™ 组件在 HTTP 会话期间保留该姓名,并检索该姓名以输出到第二个 JSP 页上。

目录

本页上的内容适用于 NetBeans IDE 6.7/6.8

要学习本教程,您需要具备以下软件和资源。

软件或资源要求的版本
NetBeans IDE6.5 或 6.7 Java 版本
Java Development Kit (JDK)版本 6 或版本 5
GlassFish 应用服务器

Tomcat Servlet 容器
2.1 或 3.0.1
 
版本 6.x

注意:

  • 在执行 Web & Java EE 安装时,您可以选择安装 GlassFish 2.1 应用服务器和 6.0.x 版本的 Apache Tomcat Servlet 容器。必须安装其中一个才能学完本教程。
  • 要利用 NetBeans IDE 的 Java EE 5 功能,请使用完全符合 Java EE 5 规范的应用服务器,例如 GlassFish 2.1 UR2 应用服务器。如果使用的是其他服务器,请查阅发行说明常见问题解答,了解已知问题和解决方法。有关支持的服务器和 Java EE 平台的详细信息,请参见发行说明
  • 如果需要将项目与工作解决方案进行比较,可以下载样例应用程序

设置 Web 应用程序项目

  1. 从主菜单中选择“文件”>“新建项目”(Ctrl-Shift-N)。在“类别”下,选择“Java Web”。在“项目”下选择“Web 应用程序”,然后单击“下一步”。
  2. 在步骤 2 中,在“项目名称”文本框中输入 HelloWeb
  3. 将“项目位置”指定为计算机上的任意目录。在本教程中,将此目录称为 $PROJECTHOME
  4. (可选)选中“使用专用文件夹存储库”复选框,并指定库文件夹的位置。有关此选项的详细信息,请参见共享项目库
  5. 单击“下一步”。“服务器和设置”面板打开。选择要与应用程序一起使用的 Java EE 版本。
  6. 选择要在其中部署应用程序的服务器。这里仅列出了已在 IDE 中注册的服务器。请注意,服务器上的上下文路径将变为 /HelloWeb(基于您在上一步中为项目指定的名称)。
  7. 单击“下一步”。在“框架”面板中,单击“完成”以创建项目。

    IDE 将创建 $PROJECTHOME/HelloWeb 项目文件夹。此项目文件夹包含所有源代码和项目 meta 数据,例如项目的 Ant 生成脚本。在 IDE 中,将打开 HelloWeb 项目。在主窗口的源代码编辑器中,将打开欢迎页 index.jsp。您可以在“文件”窗口 (Ctrl-2) 中查看项目的文件结构,在“项目”窗口 (Ctrl-1) 中查看其逻辑结构。

    在“项目”窗口中显示的 HelloWeb 项目逻辑结构

创建并编辑 Web 应用程序源文件

创建并编辑源文件是 IDE 所提供的最重要的功能。毕竟,这大概是您花费时间最多的工作。IDE 提供了各种工具来迎合任何开发者的个人风格,无论您是愿意手动编写所有代码,还是希望 IDE 为您生成大量代码。

创建 Java 包和 Java 源文件

  1. 在“项目”窗口中,展开“源包”节点。请注意,“源包”节点仅包含一个空的缺省包节点。
  2. 右键单击“源包”节点,然后选择“新建”>“Java 类”。在“类名”文本框中输入 NameHandler,并在“包”组合框中键入 org.mypackage.hello。单击“完成”。请注意,将在源代码编辑器中打开新的 NameHandler.java 文件。
  3. 在源代码编辑器中,通过在紧靠类声明的下方键入以下代码行来声明一个 String 变量。
    String name;
  4. 将以下构造函数添加到类中:
    public NameHandler()
  5. NameHandler() 构造函数中添加以下代码行:
    name = null;

生成 getter 和 setter 方法

  1. 在源代码编辑器中右键单击 name 字段,然后选择“重构”>“封装字段”。将打开“封装字段”对话框,其中列出 name 字段。请注意,缺省情况下将“字段的可视性”设置为 "private",将“存取方法的可视性”设置为 "public",这表示类变量声明的访问修饰符将被指定为 private,而 getter 和 setter 方法将分别以 publicprivate 修饰符生成。
    “封装字段”对话框
  2. 单击“重构”。将为 name 字段生成 getter 和 setter 方法。类变量的修饰符将被设置为 private,而 getter 和 setter 方法将以 public 修饰符生成。Java 类现在应该与以下代码类似。
    package org.mypackage.hello;
    
    /**
     *
     * @author nbuser
     */
    
    public class NameHandler {
    
        private String name;
    
        /** Creates a new instance of NameHandler */
        public NameHandler() {
           name = null;
        }
    
        public String getName() {
           return name;
        }
    
        public void setName(String name) {
           this.name = name;
        }
    
    }

编辑缺省的 JavaServer Pages 文件

  1. 通过单击在源代码编辑器顶部显示的 "index.jsp" 文件标签以重新选中该文件。
  2. 在位于源代码编辑器右侧的组件面板 (Ctrl-Shift-8) 中,展开“HTML 表单”,然后将一个表单项拖至源代码编辑器中 <h1> 标记后的某个位置。

    将显示“插入表单”对话框。

  3. 请指定以下值:
    • 操作:response.jsp
    • 方法:GET
    • 名称:Name Input Form

    单击“确定”。将在 index.jsp 文件中添加一个 HTML 表单。

    “输入表单”对话框
  4. 将一个文本输入项拖至紧靠 </form> 标记前面的位置,然后指定以下值:
    • 名称:name
    • 类型:文本
    单击“确定”。将在 <form> 标记之间添加一个 HTML <input> 标记。
  5. 将一个按钮项拖至紧靠 </form> 标记前面的位置。请指定以下值:
    • 标签:OK
    • 类型:提交
    单击“确定”。将在 <form> 标记之间添加一个 HTML 按钮。
  6. 在紧靠第一个 <input> 标记前面的位置键入 Enter your name:,然后将 <h1> 标记之间的缺省 Hello World! 文本更改为 Entry Form
  7. 在源代码编辑器中单击鼠标右键,然后选择“格式化代码”(Alt-Shift-F) 以整理代码的格式。index.jsp 文件现在应该与以下代码类似:
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <title>JSP Page</title>
        </head>
        <body>
            <h1>Entry Form</h1>
    
            <form name="Name Input Form" action="response.jsp">
                Enter your name:
                <input type="text" name="name" />
                <input type="submit" value="OK" />
            </form>
        </body>
                        </html>

创建 JavaServer Pages 文件

  1. 在“项目”窗口中,右键单击 "HelloWeb" 项目节点,然后选择“新建”> "JSP"。将打开“新建 JSP 文件”向导。将文件命名为 response,然后单击“完成”。请注意,在“项目”窗口中的 "index.jsp" 下方将显示 "response.jsp" 文件节点,并且会在源代码编辑器中打开新文件。
  2. 在位于源代码编辑器右侧的组件面板中,展开 "JSP",然后将一个使用 Bean 项拖至源代码编辑器中紧靠 <body> 标记下方的位置。将打开“插入使用 Bean”对话框。指定下图中显示的值。

    包含指定字段的“插入使用 Bean”对话框
    • ID:mybean
    • 类:org.mypackage.hello.NameHandler
    • 范围:session
    单击“确定”。请注意,将在 <body> 标记的下方添加 <jsp:useBean> 标记。
  3. 将一个设置 Bean 属性项从组件面板拖至紧靠 <h1> 标记前面的位置,然后单击“确定”。在出现的 <jsp:setProperty> 标记中,删除空的 value 属性,然后将其编辑为以下代码。如果 IDE 创建了 value = "" 属性,请将其删除!否则,它会覆盖传递到 index.jsp 中的 name 的值。
    <jsp:setProperty name="mybean" property="name" />
    正如 <jsp:setProperty> 文档中所述,可以通过各种方法来设置属性值。在本例中,index.jsp 页上的用户输入将成为传递至 request 对象的名称/值对。当使用 <jsp:setProperty> 标记设置属性时,可以根据 request 对象中包含的属性名称来指定值。因此,通过将 property 设置为 name,可以检索由用户输入所指定的值。
  4. 更改 <h1> 标记之间的文本,以使其如下所示:
    <h1>Hello, !</h1>
  5. 将一个获取 Bean 属性项从组件面板拖放到 <h1> 标记之间的逗号后面。在“插入获取 Bean 属性”对话框中指定以下值:
    • Bean 名称:mybean
    • 属性名称:name
    单击“确定”。请注意,此时将在 <h1> 标记之间添加 <jsp:getProperty> 标记。
  6. 在源代码编辑器中单击鼠标右键,然后选择“格式化代码”(Alt-Shift-F) 以整理代码的格式。response.jsp 文件的 <body> 标记现在应该与以下代码类似:
    <body>
        <jsp:useBean id="mybean" scope="session" class="org.mypackage.hello.NameHandler" />
        <jsp:setProperty name="mybean" property="name" />
        <h1>Hello, <jsp:getProperty name="mybean" property="name" />!</h1>
                        </body>

运行 Web 应用程序项目

IDE 使用 Ant 生成脚本来生成和运行 Web 应用程序。此生成脚本是由 IDE 基于您在“新建项目”向导中指定的选项以及项目的“项目属性”对话框(在“项目”窗口中,右键单击项目节点,然后从出现的菜单中选择“属性”)中的选项来生成的。

  1. 在“项目”窗口中,右键单击 "HelloWeb" 项目节点,然后选择“运行”(F6)。

    注意:缺省情况下,将在启用“在保存时编译”功能的情况下创建项目,因此无需先编译代码即可在 IDE 中运行应用程序。有关“在保存时编译”功能的详细信息,请参见创建、导入和配置 Java 项目指南的“在保存时编译”部分。

    将在缺省浏览器中打开 index.jsp 页。

    在浏览器中显示的 index.jsp
  2. 在文本框中输入您的姓名,然后单击“确定”。将出现 response.jsp 页,并向您显示一条简单的问候语。

    在浏览器中显示的 response.jsp

疑难解答

我已经生成并运行了项目。当我单击 index.jsp 中的 "OK" 按钮时,会显示一个指示 response.jsp 不可用的错误页。

您是否使用的是 JDK 版本 5 或更高版本?请从主菜单中选择“帮助”>“关于”以验证 IDE 所使用的 JDK 版本。您是否使用的是 Tomcat 版本 5.x 或更高版本?请从主菜单中选择“工具”>“服务器”。选择项目所使用的服务器,并请注意在靠近该对话框顶部的“服务器类型”中所显示的输入内容。您也可以尝试下载样例项目并将其与自己的项目进行比较。

我已经生成并运行了项目,但没有出现任何名称,只显示 "Hello, !"

<jsp:setProperty> 标记是否包含 value = "" 属性?此属性会覆盖传递到 index.jsp 表单中的值,并将该值替换为一个空字符串。删除 value 属性。


另请参见

“Web 应用程序开发简介”教程到此结束。本文档演示了如何使用 NetBeans IDE 创建简单的 Web 应用程序,如何将该应用程序部署到服务器,以及如何在浏览器中查看该应用程序的表现形式。此外,还说明了如何在应用程序中使用 JavaServer Pages 和 JavaBeans 来收集、保留和输出用户数据。

有关在 NetBeans IDE 中开发 Web 应用程序的更深入的相关信息,请参见以下资源:

  • <!--li><a href="tutorial-webapps_zh_CN.html">NetBeans IDE Web 应用程序教程</a>。在 IDE 中开发 Web 应用程序的更深入指南。本文档介绍了 IDE 所提供的许多工具以及更高级的技术,如 <a href="http://java.sun.com/products/jsp/jstl/">JavaServer Pages Standard Tag Library</a>(JavaServer Pages 标准标记库)。</li -->
  • Struts Web 框架简介。介绍通过 NetBeans IDE 开发使用 Struts 框架的 Web 应用程序的基础知识。
  • Java Web 应用程序学习资源
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值