专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »Java教程 » mysqlnetbeans:在NetBeans中使用MySQL创建简单Web应用程序(一) »正文

mysqlnetbeans:在NetBeans中使用MySQL创建简单Web应用程序(一)

来源: 发布时间:星期四, 2009年1月8日 浏览:58次 评论:0
  本文介绍了如何创建和 MySQL 数据库连接简单、分布式 Web 应用此外本文还涉及 Web 开发些基本想法和技术如 Java Server Pages 和 3层架构我们会在构造 Web 应用时详细介绍本教程专为基本了解 Java 编程和 Web 开发并渴望实战所学知识初学者设计

  作为种流行开放源数据库管理系统MySQL凭借其速度、灵活性和可靠性方面优势普遍用于 Web 应用MySQL 采用 SQL 或 Structured Query 语言访问并处理数据库中包含数据

  本教程是 Connecting to a MySQL Database 教程继续本教程假设您已在NetBeans IDE 中创建并配置了到 MySQL 数据库连接您还需要 pwafcad.sql 中包括数据库表数据该 SQL 文件创建了两个表counselors 和 subjects然后使用样例数据填充它们将该文件保存到本地目录中然后在 NetBeans 中打开它并在您 MySQL 数据库中运行它在本文中我们工作数据库命名为 test

  获得软件Software  开始的前确保您在计算机上安装了如下软件Software:

  l   NetBeans IDE 5.5

  l   Java SE Development Kit (JDK™) version 5.0 或更高版本

  l   MySQL 数据库

  l   JDBC Driver for MySQL

  l   Sun Java Application Server

  注意:本教程中未严格要求使用 Sun Java Application Server (SJSAS)您可以使用 Tomcat 它是和 NetBeans IDE 绑定 Web 服务器然而如果您计划在 IDE 中开发应用那么应用服务器会提供很多工具和技术支持使开发人员工作更轻松 规划结构  简单 Web 应用通常采用 3层架构设计其中用户界面、功能流程逻辑和数据访问和存储均可独立地进行维护换句话说这 3层层代表了可在自己平台上运行模块(因此使用术语“分布式”)

  对于本教程中构建应用而言演示层或用户界面由 JSP 页面表示这些页面用来准备发送给客户端浏览器 HTML我们可以使用几个简单 Java 类来编码中间层或逻辑层最后可以使用 MySQL 数据库中几个表实现数据层考虑以下客户端服务器场景:

  浏览器中显示欢迎页面 (index.jsp) 包含个简单窗体允许访问者指定数据个请求传递到包含数据服务器时开始访问 JSP 页面(response.jsp)该页面可立即将指定数据传递给 SubjectCounselor.java这样信息检索流程可以开始了Java 类处理数据并利用 AccessDB.java 准备发送给数据库 SQL 查询然后AccessDB.java 和数据库连接按照 SQL 查询指定内容从 subjects 和 counselors 表中检索数据最后启动返回行程response.jsp 中包含检索到数据形成了服务器对客户端响应

  创建个新项目  为了实现上述场景我们为名为 IFPWAFCAD 虚拟组织或者国际前职业摔跤手咨询和发展联盟开发个简单应用利用该应用用户可以从下拉列表 (index.jsp) 中选择咨询主题然后从 MySQL 数据库中检索数据并将信息返回给用户 (response.jsp):

index.jsp response.jsp


  让我们首先在 IDE 中创建个新项目:

  激活 NetBeans IDE 并从 File 菜单中选择 New Project (Ctrl+Sht+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 Application Server Instance

  IDE 为整个应用创建个项目模板并在 Source Editor 中打开个空白 JSP 页面(index.jsp)要更好了解项目模板结构请参见 IDE Help Contents (F1) 中 About Structuring Web Source Files

  准备 Web 页面  应用演示层包括两个 JSP 页面:欢迎页面和将指定数据返回给用户响应页面我们可以首先为这两个页面创建占位符这意味着现在将添加 HTML然后旦实现了逻辑层就添加特定于 JSP 代码

  实现欢迎页面   让我们首先将 index.jsp 转换到 IFPWAFCAD 欢迎页面:

  确保在 Source Editor 中打开了 index.jsp如果没有打开从 Projects 窗口 IFPWAFCAD > Web Pages > index.jsp 中双击它然后在 Source Editor 中将标题更改为 IFPWAFCAD Homepage

  现在使用以下代码替换主体部分:

<body>
 <br>
 <h2 align="center">Welcome to IFPWAFCAD, the International Former Professional
  <br>Wrestlers' Association for Counseling and Development!</h2>
 <br><br>
 <table width="55%" align="center">
  <tr>
   <td><strong>IFPWAFCAD offers expert counseling in a wide range of fields.</strong></td>
  </tr>
  <tr>
   <td><br>To view the contact details of an IFPWAFCAD certied former
   <br>professional wrestler in your area, select a subject below:</td>
  </tr>
  <tr>
   <td>
    <form action="response.jsp" method="post">
     <br>
     <strong>Select a subject:</strong>
     <select name="subject_id" size="1" >
      <option value="1">Marriage Guidance</option>
      <option value="2">Financial Consultancy</option>
     </select>
     <input type="submit" name="submit" value="submit">
    </form>
   </td>
  </tr>
 </table>
</body>
这基本上在表内创建了个简单窗体随后当我们实现 JSP 代码时将使用直接从数据库中获得所有主题名称循环替换样例主题此外注意窗体提交给我们将要创建 response.jsp 页面

  实现响应页面   要创建 response.jsp 占位符执行以下操作:

  在 Projects 窗口中右键单击 IFPWAFCAD 项目节点并选择 New > JSP....New JSP File 对话框打开

  在 JSP File Name 字段中输入 response注意 Location 字段当前选择了 Web Pages意味着将在和欢迎页面相同目录中创建该文件

  接受所有其他默认值并单击 Finish生成新 response.jsp 页面模板且该模板在 Source Editor 中打开 JSP 节点还显示在 Projects 窗口中 Web Pages 下:

  现在在 Source Editor 中将该文件标题更换为更有意义标题如“(Chosen Subject)”

  下用以下代码替换模板主体部分:

<body>
 <br>
 <h2 align="center">(Chosen Subject)</h2>
 <br>
 <table width="60%" align="center" cellpadding="10">
  <tr>
   <td valign="top" width="25%"><strong>Description: </strong></td>
   <td><em>(subject description)</em><br></td>
  </tr>
  <tr>
   <td valign="top"><strong>Counselor: </strong></td>
   <td><span style="font-size:large"><strong>(counselor's name)</strong></span>
    <br><span style="align:center">
    <em>member since: (a date)</em></span></td>
  </tr>
  <tr>
   <td valign="top"><strong>Contact Details: </strong></td>
   <td><strong>email: </strong><a href="mailto:<(an email address)>"><(an email address)></a>
   <br><strong>phone: </strong><(a telephone number)></td>
  </tr>
 </table>
</body>
旦我们在 JSP 中编码就会为将要生成输出创建个 HTML 模板注意上面所有括号中字段都可以通过访问数据层动态生成

  部署到服务器  要了解应用在用户那看起来是怎样我们需要部署目前所得到应用到 Web 服务器以便在浏览器上看到页面注意我们 JSP 页面尚未包含任何 JSP 代码因此您现在可以简单地更改扩展名为 .htm然后在浏览器中单独打开它们然而我们需要 Web 服务器编译 JSP 代码以及逻辑层 Java 类因此也可能开始使用 Web 服务器

  无论您正在运行 NetBeans IDE 捆绑 Tomcat 还是 SJSAS旦在 IDE 中注册了服务器部署应用过程是相同如果需要对 IDE 中服务器设置进行任何更改请从主菜单中选择 Tools > Server Manager 打开 Server Manager

  要部署应用到服务器:

  从 Projects 窗口中右键单击项目节点并选择 Deploy ProjectNetBeans IDE 自动启动服务器(如果它尚未启动)、编译然后将项目部署到服务器您可以看到在 Output 窗口生成任何输出该输出应该以 BUILD SUCCESSFUL 消息作为结束

  要检查应用确被部署到了服务器中打开 Runtime 窗口(Ctrl+5)并展开 Servers 节点在此列出 IDE 中注册服务器对于 Tomcat 而言要展开 Web Applications查看在服务器上编译 IPFWAPCAD 应用对于 SJSAS 而言要展开 Applications > Web Applications 查看该应用

  要运行项目返回到 Projects 窗口从项目节点右键单击菜单中选择 Run Projectindex.jsp 页面在 IDE 默认浏览器中打开

  提示:如果我们简单地选择了 Run Project 作为开始那么在浏览器中打开该应用的前它将已经被自动编译和部署到服务器中了

  实现数据层  在考虑为中间逻辑层编码的前先准备好数据层这可以容易地分成几个简单子任务:

  1.    在 NetBeans IDE 中准备数据库

  2.    设置 JDBC 连接池

  3.    引用应用 JDBC 资源

  4.    将数据库驱动 JAR 文件添加到服务器中

  在 NetBeans IDE 中准备数据库  完成和 MySQL 数据库连接 教程的后您将已经拥有个和 IDE 中注册 MySQL 数据库连接应该还有两个表 counselors 和 subjects包含 pwafcad.sql 中生成样例数据

  设置 JDBC 连接池  为了指定 Web 服务器允许应用和数据库通信方式我们需要设置个数据库连接池数据库连接池基本上就是组可重用连接服务器使用它维护特定数据库请求和服务器连接 Web 应用从该池中获得连接当应用关闭连接时连接返回池中

  为了在服务器上设置连接池我们需要创建个 JDBC 资源(也称数据资源)JDBC 资源为应用提供到数据库连接根据您使用是 Tomcat 还是 SJSAS执行以下操作:

  捆绑 Tomcat Web Server  通过展开 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 字段中输入内容

  旦登录从左列中选择 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

  确定您输入值和下面屏幕截图中致后单击 Save然后单击 Commit Changes最后单击 Log Out

  Sun Java Application Server   在 SJSAS 上设置 JDBC 连接池略微容易可以完全在 NetBeans IDE 中完成该设置:

  在 Projects 窗口中右键单击该项目节点并选择 New > File/Folder....在 Categories 下选择Sun Resources在 File Types 下选择 JDBC Resource单击 Next

  在 General Attributes 窗格中选择 Create New JDBC Connection Pool 单选按纽然后在JNDI Name 下输入 jdbc/connectionPool保留所有其他设置为默认值并单击 Next然后在 Additional Properties 窗格中再次单击 Next

  在 Choose Database Connection 窗格中注意根据我们以上指定 JNDI 名称自动提供连接池名称确保选择 Extract from Existing Connection 单选按纽然后从下拉列表中选择我们正在使用数据库连接(jdbc:mysql://localhost:3306/test)单击 Next

  在 Add Connection Pool Properties 窗格中保留所有其他设置为默认值并单击 Finish在项目中创建新数据源和连接池您可以通过展开 Server Resources 节点验证这个操作查看我们刚创建数据源和连接池:

  虽然我们刚在项目中创建了数据源和连接池但仍需要使用应用服务器注册它们执行以下操作:

  从数据源和连接池节点右键单击菜单中选择 Register在显示 JDBC Resource Registration 对话框中单击 Register然后单击 Close

  要验证确在服务器上创建了 JDBC 资源和连接池可以切换到 Runtime 窗口并从 Sun Java Application Server 节点右键单击菜单中选择 View Admin ConsoleAdministration 登录页面在 IDE 默认浏览器中打开

  登录到控制台(默认情况下用户名和密码为:adminadminadmin )从左列中选择 Resources然后在主窗口中单击 JDBC

  现在当您展开 JDBC Resources 和 Connection Pools 页面时应该看到新建数据源(jdbc/connectionPool)和连接池(connectionPool)

  引用应用 JDBC 资源  我们现在需要从 Web 应用中引用刚创建 JDBC 资源这意味着必须访问 Web 应用通用部署描述符(Web.xml)以及所使用服务器特定于服务器部署描述符(Tomcat context.xml;SJSAS sun-Web.xml)

  部署描述符是种 XML 文档这些文档包含描述应用部署方式信息例如它们通常用于指定 servlets 和 JSP 文件位置和可选参数并且为您应用实现基本安全功能有关更多信息请参见 IDE Help Contents (F1) 中 Configuring Web Application Deployment Descriptors

  要引用通用部署描述符中 JDBC 资源:

  在 Projects 窗口中展开 Web Pages > WEB-INF 子文件夹然后双击 Web.xml Source Editor 中显示该文件图形编辑器

  单击位于 Source Editor 旁 References 选项卡展开 Resource References 标题然后单击 Add....打开 Add Resource Reference 对话框

  对于 Resource Name输入我们为以上服务器(jdbc/connectionPool)添加数据源时给出 JNDI 名称对于 Description输入数据源 URL (jdbc:mysql://localhost:3306/test)保留所有其他字段为默认值然后单击 OK新资源即被添加到 Resource References 标题下

  要验证现在添加给 Web.xml 文件资源单击位于 Source Editor 顶部 XML 选项卡您将会看到以下 <resource-ref> 标记包含在内:

<resource-ref>
  <description>jdbc:mysql://localhost:3306/test [root _disibledevent="javax.sql.DataSource"/>
</Context>
Sun Java Application Server  在 Projects 窗口中展开 Web Pages > WEB-INF 子文件夹然后双击 sun-Web.xml Source Editor中显示该文件图形编辑器

  单击编辑器右上角 Edit As XML文件以 XML 格式显示现在在文档中输入以下 <resource-ref> 标记例如接着结尾 </jsp-config> 标记输入:

<resource-ref>
  <res-ref-name>jdbc/connectionPool</res-ref-name>
  <jndi-name>jdbc/connectionPool</jndi-name>
</resource-ref>
        
将数据库驱动 JAR 文件添加到服务器中  添加数据库驱动 JAR 文件是实现服务器和数据库通信不可缺少您需要找到数据库驱动安装目录如果是继续和MySQL 数据库连接教程学习将使用安装到您计算机 C: 中 MySQLConnector/J在驱动根目录中复制 mysql-connector-java-5.0.5-bin.jar 文件并根据使用是 Tomcat 还是 SJSAS 执行以下操作:

  捆绑 Tomcat Web Server  l   粘贴 JAR 文件到 Tomcat common/lib 子文件夹中默认情况下在 IDE 安装目录 enterprise 子文件夹内可以找到服务器如果已经启动服务器确保在粘贴了 JAR 文件后重启它使服务器能够加载它

  Sun Java Application Server  l   找到 SJSAS 安装目录并粘贴 JAR 文件到服务器 dos > do1 > lib > ext 子文件夹中例如如果将服务器安装到 C:则路径为: C:SunAppServerdosdo1libext在 NetBeans IDE 中和 SJSAS 连接时您实际是和应用服务器例子连接每个例子都在个唯域中运行应用因此我们需要在 do1 中放置 JAR 文件do1 是安装 SJSAS 时创建默认域如果已经启动服务器确保在粘贴了 JAR 文件后重启它使服务器能够加载它

0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: