<iframe align="center" marginwidth="0" marginheight="0" src="http://www.zealware.com/csdnblog336280.html" frameborder="0" width="336" scrolling="no" height="280"></iframe>本文介绍了如何创建与 MySQL 数据库连接的简单、分布式 Web 应用程序。此外,本文还涉及 Web 开发的一些基本想法和技术,如 Java Server Pages 和三层架构,我们会在构造 Web 应用程序时详细介绍。本教程专为基本了解 Java 编程和 Web 开发,并渴望实践所学知识的初学者设计。
作为一种流行的开放源数据库管理系统,MySQL凭借其速度、灵活性和可靠性方面的优势普遍用于 Web 应用程序中。MySQL 采用 SQL 或 Structured Query 语言,访问并处理数据库中包含的数据。
本教程是 Connecting to a MySQL Database 教程的继续。本教程假设您已在NetBeans IDE 中创建并配置了到 MySQL 数据库的连接。您还需要 ifpwafcad.sql 中包括的数据库表数据。该 SQL 文件创建了两个表,counselors 和 subjects,然后使用样例数据填充它们。将该文件保存到本地目录中,然后在 NetBeans 中打开它并在您的 MySQL 数据库中运行它。在本文中,我们工作的数据库命名为 test。
预计持续时间:40分钟
本教程将介绍以下主题:
l 获得软件
l 规划结构
l 创建一个新项目
l 准备 Web 页面
l 部署到服务器
l 实现数据层
l 实现逻辑层
l 实现演示层
l 下一步
获得软件
开始之前,确保您在计算机上安装了如下软件:
l NetBeans IDE 5.5
l Java SE Development Kit (JDK™) version 5.0 或更高版本
l MySQL 数据库
l JDBC Driver for MySQL
l Sun Java System Application Server 注意:本教程中未严格要求使用 Sun Java System Application Server (SJSAS),因为您可以使用 Tomcat, 它是与 NetBeans IDE 绑定的 Web 服务器。然而,如果您计划在 IDE 中开发应用程序,那么应用程序服务器会提供很多工具和技术支持,使开发人员的工作更轻松。
规划结构
简单的 Web 应用程序通常采用三层架构设计,其中的用户界面、功能流程逻辑和数据访问与存储均可独立地进行维护。换句话说,这三层的每一层代表了可在自己平台上运行的模块(因此使用术语“分布式”)。
对于本教程中构建的应用程序而言,演示层或用户界面由 JSP 页面表示,这些页面用来准备发送给客户端浏览器的 HTML。我们可以使用几个简单的 Java 类来编码中间层或逻辑层。最后,可以使用 MySQL 数据库中的几个表实现数据层。考虑以下的客户端服务器场景:
为了实现上述场景,我们为名为 IFPWAFCAD 的虚拟组织或者国际前职业摔跤手咨询与发展联盟开发一个简单的应用程序。利用该应用程序,用户可以从下拉列表 (index.jsp) 中选择咨询主题,然后从 MySQL 数据库中检索数据并将信息返回给用户 (response.jsp):
index.jsp
response.jsp
<shape id="_x0000_i1025" title="" click to enlarge style="WIDTH: 195pt; HEIGHT: 134.25pt" alt="index.jsp displayed in a browser" type="#_x0000_t75" o:button="t"><imagedata o:href="http://www.netbeans.org/images/articles/mySQL-webapp/index-page-small.png" src="file:///C:/DOCUME~1/fujiang/LOCALS~1/Temp/msohtml1/01/clip_image003.png"></imagedata></shape>
<shape id="_x0000_i1026" title="" click to enlarge style="WIDTH: 193.5pt; HEIGHT: 132.75pt" alt="response.jsp displayed in a browser" type="#_x0000_t75" o:button="t"><imagedata o:href="http://www.netbeans.org/images/articles/mySQL-webapp/response-page-small.png" src="file:///C:/DOCUME~1/fujiang/LOCALS~1/Temp/msohtml1/01/clip_image005.png"></imagedata></shape>
让我们首先在 IDE 中创建一个新项目:
激活 NetBeans IDE 并从 File 菜单中选择 New Project (Ctrl+Shift+N)。在 Categories 下选择 Web; 并在 Projects 下选择 Web Application。单击 Next。
在 Project Name 中,输入 IFPWAFCAD。从 Server 下拉列表中选择你计划使用的服务器。就我们的目的而言,保留所有其他设置为默认值即可,然后单击 Finish。
注意:如果您下载了 SJSAS 但是没有在 NetBeans IDE 中注册它,可以通过单击 Server 下拉列表右边的 Manage 按纽轻松注册它。Server Manager 打开,使您能够注册新的服务器。有关更多信息,请参见 IDE 的 Help Contents (F1) 中的 Registering a Sun Java System Application Server Instance。
IDE 为整个应用程序创建一个项目模板,并在 Source Editor 中打开一个空白 JSP 页面(index.jsp)。要更好的了解项目模板的结构,请参见 IDE 的 Help Contents (F1) 中的 About Structuring Web Source Files。
通过展开 Servers > Bundled Tomcat > Web Applications 节点,从 Runtime 窗口中访问 Tomcat Administration 工具(如有必要,从服务器节点的右键单击菜单中选择 Start 先启动服务器)。然后右键单击 /admin 节点并选择 Open in Browser。登录页面在 IDE 的默认浏览器中打开。
为已经指定为“管理员”角色的用户,输入用户名和密码。如果需要验证该信息,可以检查位于服务器基目录的 conf 文件夹中的 tomcat-users.xml 文件。可以通过打开 Server Manager (Tools > Server Manager) 找出基目录,从左侧窗格中选择 Tomcat 并查看 Connection 选项卡下 Catalina Base 字段中输入的内容。
<shape id="_x0000_i1029" title="" click to enlarge style="WIDTH: 374.25pt; HEIGHT: 209.25pt" alt="Tomcat base directory shown in the Server Manager" type="#_x0000_t75" o:button="t"><imagedata o:href="http://www.netbeans.org/images/articles/mySQL-webapp/server-manager-small.png" src="file:///C:/DOCUME~1/fujiang/LOCALS~1/Temp/msohtml1/01/clip_image009.png"></imagedata></shape>
一旦登录,从左列中选择 Resources > Data Sources。在显示的主窗口中,从 Data Source Actions 下拉菜单中选择 Create New Data Source。在相应字段中输入以下值:
m JNDI Name: jdbc/connectionPool
m Data Source URL: jdbc:mysql://localhost:3306/test
m JDBC Driver Class: com.mysql.jdbc.Driver
m User Name: root
m Password: nbuser
要更好的了解此处执行的操作,请参见 IDE 的 Help Contents (F1) 中的 About Connection Pools。
<shape id="_x0000_i1030" title="" click to enlarge style="WIDTH: 375pt; HEIGHT: 357pt" alt="Tomcat's Admin interface for creating a new data source" type="#_x0000_t75" o:button="t"><imagedata o:href="http://www.netbeans.org/images/articles/mySQL-webapp/create-new-data-source-small.png" src="file:///C:/DOCUME~1/fujiang/LOCALS~1/Temp/msohtml1/01/clip_image011.png"></imagedata></shape>
Sun Java System Application Server
在 SJSAS 上设置 JDBC 连接池略微容易一些,因为可以完全在 NetBeans IDE 中完成该设置:
在 General Attributes 窗格中,选择 Create New JDBC Connection Pool 单选按纽,然后在JNDI Name 下输入 jdbc/connectionPool。保留所有其他设置为默认值并单击 Next。然后在 Additional Properties 窗格中再次单击 Next。
我们现在需要从 Web 应用程序中引用刚创建的 JDBC 资源。这意味着必须访问 Web 应用程序的通用部署描述符(Web.xml),以及所使用服务器的特定于服务器的部署描述符(Tomcat 的 context.xml;SJSAS 的 sun-Web.xml)。
部署描述符是一种 XML 文档,这些文档包含描述应用程序部署方式的信息。例如,它们通常用于指定 servlets 和 JSP 文件的位置和可选参数,并且为您的应用程序实现基本安全功能。有关更多信息,请参见 IDE 的 Help Contents (F1) 中的 Configuring Web Application Deployment Descriptors。