blob: bb163bb5d572dd2f409c4b8b5c397963729c97f3 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta name="author" content="troy.giunipero@sun.com">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta name="description" content="Introduction to the NetBeans E-commerce Tutorial.">
<meta name="keywords" content="NetBeans, IDE, integrated development environment,
Java, Java EE, open source, web technology, e-commerce">
<link rel="stylesheet" type="text/css" href="../../../../netbeans.css">
<link rel="stylesheet" type="text/css" href="../../../../print.css" media="print">
<title>NetBeans 电子商务教程 - 简介</title>
</head>
<body>
<!-- Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved. -->
<h1>NetBeans 电子商务教程 - 简介</h1>
<div style="margin-left:-3px">
<div class="feedback-box margin-around float-left" style="margin-right:15px">
<h4>教程目录</h4>
<ol>
<li><strong>简介</strong>
<ul style="margin: 5px 0 0 -2em">
<li><a href="#about">关于本教程</a></li>
<li><a href="#whatEcommerce">什么是电子商务应用程序?</a></li>
<li><a href="#whatJava">什么是 Java?</a></li>
<li><a href="#jcp">什么是 Java Community Process?</a></li>
<li><a href="#ide">为何使用 IDE?</a></li>
<li><a href="#netBeans">为何使用 NetBeans?</a></li>
<li><a href="#seeAlso">另请参见</a></li>
</ul></li>
<li><a href="design.html">设计应用程序</a></li>
<li><a href="setup-dev-environ.html">设置开发环境</a></li>
<li><a href="data-model.html">设计数据模型</a></li>
<li><a href="page-views-controller.html">准备页面视图和控制器 Servlet</a></li>
<li><a href="connect-db.html">将应用程序与数据库连接</a></li>
<li><a href="entity-session.html">添加实体类和会话 Bean</a></li>
<li><a href="manage-sessions.html">管理会话</a></li>
<li><a href="transaction.html">集成事务性业务逻辑</a></li>
<li><a href="language.html">添加语言支持</a></li>
<li><a href="security.html">保护应用程序</a></li>
<li><a href="test-profile.html">测试和性能分析</a></li>
<li><a href="conclusion.html">小结</a></li>
</ol>
</div>
</div>
<p><img alt="此页上的内容适用于 NetBeans IDE 版本 6.8 和 6.9" class="stamp" src="../../../../images_www/articles/68/netbeans-stamp-68-69.png" title="此页上的内容适用于 NetBeans IDE 版本 6.8 和 6.9"></p>
<p>欢迎使用 NetBeans 电子商务教程。在这个多部分教程中,您将了解如何创建简单而有效的电子商务应用程序,以演示各种重要的 Java Web 和 EE 开发功能。为此,您要熟悉 NetBeans IDE,并且能够运用它进行自己的开发。</p>
<p>如果花些时间掌握 IDE,您最后会成为更高效、更全能的开发者。在学习本教程单元的过程中,您将了解如何充分利用 IDE 的功能和工具。其中包括:</p>
<ul style="margin-left: 320px" class="toc">
<li><strong>对不同语言的编辑器支持:</strong>语法突出显示、代码完成、API 文档支持、快捷键、重构功能和代码模板</li>
<li><strong>窗口系统:</strong>“项目”、“文件”和“服务”窗口、“任务”窗口、"Javadoc" 窗口、HTTP 监视器、“导航器”和“组件面板”</li>
<li><strong>与其他服务集成:</strong>自动部署到已注册的服务器、数据库连接和浏览器互操作性</li>
<li><strong>开发工具:</strong>调试器、分析器、HTTP 服务器端监视器、本地历史记录支持和图形比较查看器</li>
</ul>
<p>该教程采用了常见的模块化方式,其中每单元都侧重于 IDE 的特定概念、技术和功能。通过提供的设置说明和应用程序快照(从第 5 单元开始提供),可以自行顺利完成本教程中某单元的学习。不过,如果能够从头至尾连贯地学习所有单元,将可以收到最佳的效果。这也有助于了解开发过程。</p>
<p>第 3 单元是<a href="setup-dev-environ.html">设置开发环境</a>,其中向您介绍了 NetBeans IDE。在本单元中,将创建 Java Web 项目,这是您在本教程后面单元中进行的开发工作的基础。第 4 单元是<a href="data-model.html">设计数据模型</a>。在本单元中,将主要使用可视数据库设计工具 <a href="http://wb.mysql.com/" target="_blank">MySQL WorkBench</a>,为应用程序创建数据模型。本教程各单元之间具有连贯性,它们都为您提供了与该指定单元中项目的起始状态对应的<em>项目快照</em>。这样,即使脱离了电子商务教程的大环境,也能完成教程中某个单元的学习。要使用这些快照,请将其下载到计算机上,然后使用“打开项目”向导(Ctrl-Shift-O 组合键;在 Mac 上为 ⌘-Shift-O 组合键)在 IDE 中将其打开。</p>
<p>您可以查看此教程中构建的应用程序的实时演示:<a href="http://dot.netbeans.org:8080/AffableBean/" target="_blank">NetBeans 电子商务教程演示应用程序</a></p>
<p>本单元的其余部分内容介绍了一些与该教程有关的信息,并说明了进行 Java EE 开发所需的基本概念。确保您了解如下所述概念,然后再进行开发。</p>
<br clear="left">
<br>
<h2 id="about">关于本教程</h2>
<div class="indent">
<h3>本教程的受众</h3>
<p>本教程的内容适用于下面四种用户:</p>
<ul>
<li>有兴趣拓展技能以掌握 Java EE 技术的 Java 开发者</li>
<li>希望试用 NetBeans IDE 开发环境的新手</li>
<li>希望了解 Java 与其他基于 Web 的技术不同之处的 Web 开发者</li>
<li>希望详细了解简单的电子商务应用程序及其开发在实际使用中的运用情况的学生</li>
</ul>
<p>如果您属于这四类中的任何一类,您会发现本教程对您很有帮助。您可能会发现,该教程中的一些单元比另外一些更难掌握,具体取决于您的背景。了解技术的工作原理是利用 IDE 实现自身目标的关键所在。因此,如果您确实有兴趣学习相关技术,则会发现本教程是 <a href="http://download.oracle.com/docs/cd/E17410_01/javaee/6/tutorial/doc/" target="_blank">Java EE 教程</a>的最佳辅助教材。对于教程的各个单元,请充分利用其中提供的指向 Java EE 教程中相关区域的链接,以及其他有用的资源。</p>
<h3>本教程内容</h3>
<p>您在本教程中开发的应用程序涉及各种概念、技术和工具组件:</p>
<ul class="toc">
<li><strong>概念</strong>
<ul style="margin: 5px 0 0 -2em">
<li>前端开发</li>
<li>Web 应用程序项目结构</li>
<li>数据建模</li>
<li>数据库连接</li>
<li>对象关系映射</li>
<li>会话管理</li>
<li>事务业务逻辑</li>
<li>客户端和服务器端验证</li>
<li>本地化</li>
<li>Web 应用程序安全</li>
<li>设计模式,包括<a href="http://java.sun.com/blueprints/patterns/MVC.html" target="_blank">模型-视图-控制器</a> (MVC) 和<a href="http://java.sun.com/blueprints/patterns/SessionFacade.html" target="_blank">会话 Facade</a></li>
</ul></li>
<li><strong>技术</strong>
<ul style="margin: 5px 0 0 -2em">
<li>HTML、CSS 和 JavaScript 技术</li>
<li>Servlet 和 JavaServer Pages (JSP) 技术</li>
<li>Enterprise JavaBeans (EJB) 技术</li>
<li>Java 持久性 API (JPA)</li>
<li>JavaServer Pages 标准标记库 (JSTL)</li>
<li>Java 数据库连接 (JDBC)</li>
</ul></li>
<li><strong>开发工具</strong>
<ul style="margin: 5px 0 0 -2em">
<li>NetBeans IDE</li>
<li>GlassFish,一种 Java EE 应用服务器</li>
<li>MySQL,一种关系数据库管理服务器 (RDBMS)</li>
<li>MySQL WorkBench,一种可视数据库设计工具</li>
</ul>
</li>
</ul>
</div>
<br>
<h2 id="whatEcommerce">什么是电子商务应用程序?</h2>
<p>根据我们现在的概念,<em>电子商务</em>这一术语是指通过 Internet 买卖商品或服务。例如,您可能会想到 <a href="http://www.amazon.com/" target="_blank">Amazon</a>,这是一个提供各类产品(如书籍、音乐和电子产品)的网上购物平台。这种形式的电子商务称为<em>电子零售</em>,通常涉及物品的运输。我们也称之为企业与客户的<em>电子商务</em>,即 B2C。其他众所周知的形式包括:</p>
<ul>
<li><strong>消费者与消费者 (C2C) 之间的电子商务:</strong>个人之间的交易行为,往往通过第三方站点实现,如在线拍卖。对于 C2C 电子商务,典型的例子莫过于 <a href="http://www.ebay.com/" target="_blank">eBay</a></li>
<li><strong>企业与企业 (B2B) 之间的电子商务:</strong>企业之间(例如零售商与批发商或批发商与制造商之间)进行的商业活动。</li>
<li><strong>企业与政府 (B2G) 之间的电子商务:</strong>企业与政府机关之间进行的商业活动。</li>
</ul>
<p>本教程着重介绍了企业与客户 (B2C) 之间的电子商务,并运用了小型零售店(目的是创建网站供客户进行网上购物)的典型方案。适用于 B2C 情况的软件通常由下面两部分组成:</p>
<ol>
<li><strong>店铺前端:</strong>可供客户访问并在 Internet 上购买商品的网站。店铺目录中的数据通常保留在数据库中,而需要此数据的页面是动态生成的。</li>
<li><strong>管理控制台:</strong>一个受口令保护的区域,店员可通过安全连接访问该区域,以便进行网上管理。通常,这包括对店铺目录进行 CRUD(创建、读取、更新和删除)操作访问,管理折扣、发货和付款选项,以及核实客户订单。</li>
</ol>
<br>
<h2 id="whatJava">什么是 Java?</h2>
<p>在计算机软件行业,"Java" 这一术语是指 <em>Java 平台</em>以及 <em>Java 编程语言</em></p>
<div class="feedback-box margin-around">
<img alt="Duke 图像" class="margin-around" src="../../../../images_www/articles/73/javaee/ecommerce/intro/duke.png" title="Duke,Java 吉祥物">
<p>Duke,Java 吉祥物</p>
</div>
<div class="indent">
<h3>Java 是编程语言</h3>
<p>Java 语言的概念是由 <a href="http://en.wikipedia.org/wiki/James_Gosling" target="_blank">James Gosling</a> 于 1991 年提出的。当时,他已着手处理这方面的项目。该语言是按照下面 5 项设计原则<sup><a href="#footnote1" id="1" style="text-decoration:none">[1]</a></sup> 创建的:</p>
<ol>
<li><strong>面向对象,简单常见:</strong>Java 中包含一小部分连贯的核心基本概念,可以快速掌握。它最初是根据当时最流行的 C++ 语言建模的,因此,编程人员可以轻松迁移到 Java。另外,它还秉承了<em>面向对象</em>的理念;系统由封装对象组成,这些封装对象通过相互传递消息进行通信。</li>
<li><strong>安全强大:</strong>该语言包括编译时和运行时检查功能,可确保快速查明错误。它还包含网络和文件访问安全功能,可使分布式应用程序免于入侵或受损。</li>
<li><strong>与体系结构无关,具有可移植性:</strong>Java 的主要优点之一在于<em>可移植性</em>。可以轻松地在两个平台之间传输应用程序,而修改量极少或无需进行修改。1995 年,随着 Java 1.0 的发布,“一次编写,随处运行”的口号也浮出水面。这一口号指出了该语言的跨平台优势。</li>
<li><strong>高性能:</strong>应用程序可借助各种低端功能快速有效地运行,如使 Java 解释器从运行时环境独立运行,以及应用自动垃圾回收器释放未使用的内存。</li>
<li><strong>可解释、多线程和动态性:</strong>使用 Java,可将开发者的源代码编译成中间可解释形式,即<em>字节代码</em>。字节代码指令集引用了 Java 虚拟机 (JVM) 使用的计算机语言。通过适当的解释器,可以将此语言转换成其上运行该语言的平台的<em>本机代码</em>。多线程功能主要是通过 <code>Thread</code> 类来提供支持的,它可以使多项任务同时执行。该语言和运行时系统是动态的,应用程序可以在执行期间使用它们满足不断变化的环境要求。</li>
</ol>
<p>如果要进一步了解 Java 语言,请参见 <a href="http://java.sun.com/docs/books/tutorial/" target="_blank">Java 教程</a></p>
<h3 id="platform">Java 是一个平台</h3>
<p>Java 平台是一种基于软件的平台,由下面两部分组成:</p>
<ul>
<li><strong>Java 虚拟机 (JVM)</strong>:JVM 是一种引擎,可用于执行由 Java 编译器生成的指令。我们可以将 JVM 视为 Java 运行时环境 (JRE) 的实例。它可以嵌入到 Web 浏览器、服务器和操作系统等各种产品中。</li>
<li><strong>Java 应用程序编程接口 (API)</strong>:预编写的代码,分成很多由类似主题组成的包。例如,小应用程序和 AWT 包中包含用于创建字体、菜单和按钮的类。</li>
</ul>
<p>Java 开发工具包 (JDK) 是指 Java SE Edition,而其他工具包称为 "SDK",这是“软件开发工具包”的通用术语。例如,<a href="http://java.sun.com/javaee/sdk/" target="_blank">Java EE SDK</a><sup><a href="#footnote2" id="2" style="text-decoration:none">[2]</a></sup></p>
<p>通过查看 <a href="http://download.oracle.com/javase/6/docs/index.html" target="_blank">JDK 文档</a>中提供的组件技术的概念图,可以直观地了解 Java 平台。如下所示,这是一张交互式图,您可以在其中单击各组件,了解各种技术的详细信息。 <br> <img alt="JDK 6 图" class="margin-around" src="../../../../images_www/articles/73/javaee/ecommerce/intro/jdk-diagram.png" title="由 JDK 表示的 Java 平台"></p>
<p>如该图所示,JDK 包括 Java 运行时环境 (JRE)。您需要 JRE 才能运行软件,并且需要 JDK 才能开发软件。两者可通过 <a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html" target="_blank">Java SE 下载</a>获得。</p>
<p>Java 平台有多种<em>版本</em>,如 <a href="http://java.sun.com/javase/" target="_blank">Java SE</a> (Standard Edition)、<a href="http://java.sun.com/javame/index.jsp" target="_blank">Java ME</a> (Micro Edition) 和 <a href="http://java.sun.com/javaee/" target="_blank">Java EE</a> (Enterprise Edition)。</p>
<h3>Java EE</h3>
<p>Java Platform Enterprise Edition (Java EE) 基于 Java SE 平台构建,提供了一组技术,用于开发和运行安全可靠、灵活强大的可移植服务器端应用程序。</p>
<p>EE 技术大致可以分为两类:</p>
<ul>
<li><a href="http://java.sun.com/javaee/technologies/webapps/" target="_blank">Web 应用程序技术</a></li>
<li><a href="http://java.sun.com/javaee/technologies/entapps/" target="_blank">企业应用程序技术</a></li>
</ul>
<p>根据需要,您可能希望使用这两类中任一类的某些技术。例如,本教程使用了 <a href="http://java.sun.com/products/servlet/index.jsp" target="_blank">Servlet</a><a href="http://java.sun.com/products/jsp/" target="_blank">JSP/EL</a><a href="http://java.sun.com/products/jsp/jstl/" target="_blank">JSTL</a> "Web" 技术,以及 <a href="http://java.sun.com/products/ejb/" target="_blank">EJB</a><a href="http://java.sun.com/javaee/technologies/persistence.jsp" target="_blank">JPA</a> "Enterprise" 技术。</p>
<p>目前,Java EE 在市场中占据主导地位,这在金融领域表现得尤为突出。下图摘自
<!-- <a href="http://www.sun.com/aboutsun/media/analyst/european_fsa.pdf"> -->
2007 年进行的<a href="http://docs.google.com/viewer?a=v&q=cache:2NNYG8LtVFIJ:www.sun.com/aboutsun/media/analyst/european_fsa.pdf+european_fsa.pdf&hl=en&pid=bl&srcid=ADGEESi3vpbc32J7GzXFiqk__DvMp7_3deYe9td-HP3_QEXh77yBABi35uvL1z7ytj6o17io7_YFPnRFmhju5PQgrpgjVxt-2qXQSUh8xGUbeNP0k00dDsiq1Tl0DWJLOEH3SNubhit5&sig=AHIEtbTKL5tks3AlgEt57h4Aku_H55OXag" target="_blank">欧洲市场独立调查</a></p>
<div class="indent">
<img alt="Java EE 与 .Net 调查" class="margin-around b-all" src="../../../../images_www/articles/73/javaee/ecommerce/intro/java-ee-vs-net.png" title="Java EE 在金融市场中占据主导地位">
</div>
<p class="tips">有关 Java EE 与 .NET 的最新非正式比较,请参见 Java EE 社区知名成员发布的博客帖子:<a href="http://www.adam-bien.com/roller/abien/entry/java_ee_or_net_an" target="_blank">Java EE 或 .NET - 客观评述</a></p>
<h3>二者的区别何在?</h3>
<p>有很多缩写和首字母缩写词有待说明。如果您不熟悉所有这些内容,并对上述解释有些迷惑不解,则以下资源可以帮助说明一些常用术语之间的区别。</p>
<ul>
<li><a href="http://www.java.com/en/download/faq/jre_jdk.xml" target="_blank">JRE 与 JDK 的区别何在?</a></li>
<li><a href="http://www.java.com/en/download/faq/java_diff.xml" target="_blank">JRE 与 Java SE 平台的区别何在?</a></li>
<li><a href="http://www.oracle.com/technetwork/java/javaee/javaee-faq-jsp-135209.html#diff" target="_blank">Java EE 与 J2EE 的区别何在?</a></li>
<li><a href="http://java.sun.com/new2java/programming/learn/unravelingjava.html" target="_blank">Java 术语揭秘</a></li>
</ul>
</div>
<br>
<h2 id="jcp">什么是 Java Community Process?</h2>
<p><a href="http://jcp.org/" target="_blank">Java Community Process</a> (JCP) 是一种程序,用于管理 Java 技术的标准技术规范的开发。JCP 列出了 Java 规范请求 (JSR),后者是说明要添加到 Java 平台的技术的正式建议文档。JSR 是由<em>专业团队</em>管理的,该团队通常由作为行业利益相关者的公司代表组成。JCP 使 Java 技术可根据社区的需要和趋势来发展和调整。</p>
<p>本教程中使用和引用的技术的 JSR 包括以下内容:</p>
<ul>
<li><a href="http://jcp.org/en/jsr/summary?id=52" target="_blank">JSR 52:JavaServer Pages 的标准标记库</a></li>
<li><a href="http://jcp.org/en/jsr/summary?id=245" target="_blank">JSR 245:JavaServer Pages 2.1</a></li>
<li><a href="http://jcp.org/en/jsr/summary?id=315" target="_blank">JSR 315:Java Servlet 3.0</a></li>
<li><a href="http://jcp.org/en/jsr/summary?id=316" target="_blank">JSR 316:Java Platform Enterprise Edition 6</a></li>
<li><a href="http://jcp.org/en/jsr/summary?id=317" target="_blank">JSR 317:Java 持久性 2.0</a></li>
<li><a href="http://jcp.org/en/jsr/summary?id=318" target="_blank">JSR 318:Enterprise JavaBeans 3.1</a></li>
</ul>
<p>您可以使用 <a href="http://jcp.org/" target="_blank">JCP 网站</a>搜索各个 JSR。此外,还可以在以下网站上查看所有最新的 EE 技术 (Java EE 6):</p>
<ul>
<li><a href="http://java.sun.com/javaee/technologies/index.jsp" target="_blank">http://java.sun.com/javaee/technologies/index.jsp</a></li>
</ul>
<p>Java EE 5 技术列在以下网页上:</p>
<ul>
<li><a href="http://java.sun.com/javaee/technologies/javaee5.jsp" target="_blank">http://java.sun.com/javaee/technologies/javaee5.jsp</a></li>
</ul>
<p>JSR 的最终发行版提供了<em>引用实现</em>,这是该技术的免费实现。在本教程中,将利用这些实现开发电子商务样例应用程序。例如,GlassFish v3 应用服务器包含在 <a href="https://netbeans.org/downloads/6.8/index.html" target="_blank">NetBeans 6.8</a> 的标准 Java 下载包中,它是 Java EE 6 平台规范 (<a href="http://jcp.org/en/jsr/summary?id=316" target="_blank">JSR 316</a>) 的引用实现。作为 Java EE 平台的引用实现,它包括该平台中的技术(如 Servlet、EJB 和 JPA 技术)的引用实现。</p>
<br>
<h2 id="ide">为何使用 IDE?</h2>
<p>首先,<em>IDE</em> 这一术语是<em>集成开发环境</em>的缩写。一直以来,IDE 旨在提供以下工具和支持,帮助开发者最大限度地提高工作效率:</p>
<ul class="toc">
<li>源代码编辑器</li>
<li>编译器和自动构建工具</li>
<li>用于查看项目及其工件的窗口系统</li>
<li>与其他常用服务的集成</li>
<li>调试支持</li>
<li>性能分析支持</li>
</ul>
<p>如果要手动创建基于 Java 的 Web 应用程序,则要考虑哪些操作是必需的。安装 <a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html" target="_blank">Java 开发工具包 (JDK)</a> 之后,可能需要执行以下步骤来设置开发环境。<sup><a href="#footnote3" id="3" style="text-decoration:none">[3]</a></sup></p>
<ol>
<li>设置 <code>PATH</code> 环境变量,使之指向 JDK 安装。</li>
<li>下载并配置服务器,以便实现计划使用的技术。</li>
<li>创建开发目录,以便根据计划来创建并处理 Web 应用程序。此外,还需要设置应用程序目录结构,使之能够被服务器理解。(例如,请参见 <a href="http://java.sun.com/blueprints/code/projectconventions.html#99632" target="_blank">Java 蓝图:Web 应用程序战略</a>了解建议的结构。)</li>
<li>设置 <code>CLASSPATH</code> 环境变量,使之包括开发目录,以及任何必需的 JAR 文件。</li>
<li>建立一个部署方法,将资源从开发目录复制到服务器的部署区域。</li>
<li>安装相关 API 文档或为其添加书签。</li>
</ol>
<p>出于教学考虑,不妨手动创建并运行 Java Web 项目,以便于了解所需执行的步骤。但最终,您需要考虑使用工具来减少或消除那些必须执行的繁琐或重复的任务,以便集中精力开发满足特定业务需要的代码。IDE 简化了上述过程。如第 3 单元<a href="setup-dev-environ.html">设置开发环境</a>所述,您将安装带有 GlassFish 应用服务器的 NetBeans IDE,并且可以使用一个简单的 3 步向导,设置包含常规目录结构的 Web 应用程序项目。此外,IDE 还提供了内置 API 文档,您可以在使用编辑器编写代码时调用该文档,也可以让其在外部窗口中保持打开状态。</p>
<p>通常,IDE 还可以采用对开发者透明的方式编译和部署项目。例如,您在 NetBeans 中创建的 Web 项目包括用于编译、清理、打包和部署该项目的 Ant 构建脚本。这意味着,您可以从 IDE 中运行项目,系统将自动编译和部署该项目,然后在默认浏览器中将其打开。不止于此,很多 IDE 还支持“在保存时部署”功能。换而言之,只要将更改保存到项目,就会自动更新服务器上部署的版本。只需切换至浏览器并刷新页面即可查看所做的更改。</p>
<p>IDE 还提供了各种文件类型的模板,通常可以通过下述方式让用户将其添加到项目中:提供常用位置建议,以及包含必要的默认配置信息。</p>
<p>除了上述“基本支持”,IDE 通常还会提供外部工具和服务(例如应用程序和数据库服务器、Web 服务、调试和性能分析功能,以及协作工具)的接口,如果您的任务是进行 Java 开发,则这些工具和服务是您工作中不可或缺的。</p>
<p>最后,IDE 通常提供了增强的编辑器支持。在大部分的时间里,您可能都在使用编辑器,而 IDE 编辑器通常包括语法突出显示、重构功能、快捷键、代码完成、提示和错误消息,所有这些功能旨在帮助您更高效、更智能地完成工作。</p>
<br>
<h2 id="netBeans">为何使用 NetBeans?</h2>
<p>NetBeans IDE 是一种完全采用 Java 编写的免费开源集成开发环境。它提供了各种工具,使您可以使用 Java 语言、C/C++ 甚至 PHP、JavaScript、Groovy 和 Ruby 等脚本语言创建专业的桌面、企业、Web 和 Mobile 应用程序。</p>
<p>人们对 NetBeans 给予了高度评价。有关见证的列表,请参见 <a href="../../../../features/ide/testimonials.html" target="_blank">NetBeans IDE 见证</a>。很多开发者都打算将其应用程序从其他 IDE 迁移到 NetBeans。有关原因,请阅读<a href="../../../../switch/realstories.html" target="_blank">改用 NetBeans IDE 的用户的真实案例</a></p>
<p>IDE 提供了诸多 <a href="../../../../features/web/index.html" target="_blank">Web 开发功能</a>,并在多个方面优于其他 IDE。下面是几项值得关注的优点:</p>
<ul>
<li><strong>现成可用:</strong>只需下载、安装并运行 IDE 即可。其下载大小不大,安装起来轻而易举。IDE 可在很多平台上运行,包括 Windows、Linux、Mac OS X 和 Solaris。所有 IDE 工具和功能都是全面集成的,因此,不需要寻找插件,只要启动该 IDE,这些工具和功能就能协同工作。</li>
<li><strong>免费的开放源代码:</strong>使用 NetBeans IDE 时,您可以加入一个人气很旺的<a href="../../../../community/index.html" target="_blank">开源社区</a>,该社区由数千名随时愿意提供帮助和做出贡献的用户组成。<a href="../../../../community/lists/index.html" target="_blank">NetBeans 项目邮件列表</a>中提供了论坛,<a href="http://www.planetnetbeans.org/" target="_blank">Planet NetBeans</a> 上提供了博客,而<a href="http://wiki.netbeans.org/" target="_blank">社区 Wiki</a> 上则提供了有用的常见问题解答和教程。</li>
<li><strong>性能分析和调试工具:</strong>通过 NetBeans IDE <a href="../../../../features/java/profiler.html">分析器</a>,可以实时了解内存使用情况和潜在的性能瓶颈问题。此外,还可以分析代码中的特定部分,以免在性能分析期间发生性能下降的情况。<a href="http://profiler.netbeans.org/docs/help/6.0/heapwalker.html" target="_blank">堆查看器</a>工具可帮助您评估 Java 堆内容并查找内存泄漏。</li>
<li><strong>可定制的项目:</strong>通过 NetBeans IDE 构建过程(该过程取决于业界标准,如 <a href="http://ant.apache.org/" target="_blank">Apache Ant</a><a href="http://www.gnu.org/software/make/" target="_blank">make</a><a href="http://maven.apache.org/" target="_blank">Maven</a><a href="http://rake.rubyforge.org/" target="_blank">rake</a>),而不是专用构建过程,可以轻松定制项目和添加功能。您可以在 IDE 外部构建和运行项目,并将项目部署到服务器。</li>
<li><strong>协作工具:</strong>IDE 为 CVS、Subversion 和 Mercurial 等版本控制系统提供了内置支持。</li>
<li><strong>内容丰富的文档:</strong>IDE 的内置帮助集中包含大量提示和说明。只需在 IDE 的组件中按 F1 键(在 Mac 上为 fn-F1 组合键),即可调用帮助集。另外,IDE 的<a href="../../../index.html" target="_blank">官方知识库</a>还提供了不断更新的上百种联机教程、文章和<a href="../../intro-screencasts.html" target="_blank">截屏视频</a></li>
</ul>
<p>如需了解用户选择 NetBeans 的更多原因,请参见<a href="../../../../switch/why.html" target="_blank">通过 NetBeans IDE 进行团队开发</a></p>
<div class="feedback-box">
<a href="/about/contact_form.html?to=3&amp;subject=Feedback: NetBeans E-commerce Tutorial - Introduction">请将您的反馈意见发送给我们</a></div>
<br style="clear:both;">
<h2 id="seeAlso">另请参见</h2>
<div class="indent">
<h3>联机资源</h3>
<ul>
<li><a href="http://java.sun.com/docs/books/tutorial/" target="_blank">Java 教程</a></li>
<li><a href="http://www.oracle.com/technetwork/java/javaee/javaee-faq-jsp-135209.html" target="_blank">Java EE 常见问题解答</a></li>
<li><a href="http://java.sun.com/javaee/reference/apis/" target="_blank">Java EE API 与文档</a></li>
<li><a href="http://java.sun.com/new2java/programming/learn/unravelingjava.html" target="_blank">Java 术语揭秘</a></li>
<li><a href="http://www.java.com/en/javahistory/index.jsp" target="_blank">Java 技术的历史</a></li>
<li><a href="http://java.sun.com/new2java/gettingstarted.jsp" target="_blank">Java 编程新手中心</a></li>
</ul>
<h3>书籍</h3>
<ul>
<li><a href="http://www.apress.com/book/view/1590598954" target="_blank">专业的 NetBeans IDE 6 富客户端平台版本</a></li>
<li><a href="http://www.informit.com/store/product.aspx?isbn=0130092290" target="_blank">《Servlet 与 JSP 核心编程》(第 2 版)第 1 卷:核心技术</a></li>
<li><a href="http://www.informit.com/store/product.aspx?isbn=0131482602" target="_blank">《Servlet 与 JSP 核心编程》(第 2 版)第 2 卷:高级技术</a></li>
<li><a href="http://java.sun.com/docs/books/faq/" target="_blank">Java 常见问题解答</a></li>
</ul>
</div>
<br>
<h2>参考</h2>
<ol>
<li id="footnote1"><a href="#1" style="text-decoration:none">^</a> 白皮书 <a href="http://java.sun.com/docs/white/langenv/Intro.doc2.html" target="_blank">Java 语言环境</a>概述了 5 项设计原则。</li>
<li id="footnote2"><a href="#2" style="text-decoration:none">^</a><a href="http://download.oracle.com/javase/6/webnotes/version-6.html" target="_blank"> Java SE 6、平台名称和版本号</a>中定义了最新的版本名称和版本号。</li>
<li id="footnote3"><a href="#3" style="text-decoration:none">^</a> 这些步骤大致基于“第 2 章:服务器设置和配置”中的内容,该章摘自《<a href="http://pdf.coreservlets.com/" target="_blank">Servlet 与 JSP 核心编程</a>》,由 Marty Hall 和 Larry Brown 共同撰写。本书以 PDF 格式在 <a href="http://pdf.coreservlets.com/" target="_blank">http://pdf.coreservlets.com/</a> 上免费提供</li>
</ol>
</body>
</html>