NetBeansIDE5.5连接MYSQL.doc_第1页
NetBeansIDE5.5连接MYSQL.doc_第2页
NetBeansIDE5.5连接MYSQL.doc_第3页
NetBeansIDE5.5连接MYSQL.doc_第4页
NetBeansIDE5.5连接MYSQL.doc_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本文介绍了如何创建与 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。获得软件 开始之前,确保您在计算机上安装了如下软件:lNetBeans IDE 5.5lJava SE Development Kit (JDK) version 5.0 或更高版本 lMySQL 数据库 lJDBC Driver for MySQL lSun Java System Application Server 注意:本教程中未严格要求使用 Sun Java System Application Server (SJSAS),因为您可以使用 Tomcat, 它是与 NetBeans IDE 绑定的 Web 服务器。然而,如果您计划在 IDE 中开发应用程序,那么应用程序服务器会提供很多工具和技术支持,使开发人员的工作更轻松。 规划结构 简单的 Web 应用程序通常采用三层架构设计,其中的用户界面、功能流程逻辑和数据访问与存储均可独立地进行维护。换句话说,这三层的每一层代表了可在自己平台上运行的模块(因此使用术语“分布式”)。对于本教程中构建的应用程序而言,演示层或用户界面由 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.jspresponse.jsp让我们首先在 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。 准备 Web 页面 应用程序的演示层包括两个 JSP 页面:欢迎页面和将指定数据返回给用户的响应页面。我们可以首先为这两个页面创建占位符。这意味着,现在将添加 HTML,然后一旦实现了逻辑层就添加特定于 JSP 的代码。实现欢迎页面 让我们首先将 index.jsp 转换到 IFPWAFCAD 的欢迎页面:确保在 Source Editor 中打开了 index.jsp。如果没有打开,从 Projects 窗口的 IFPWAFCAD Web Pages index.jsp 中双击它。然后在 Source Editor 中将标题更改为 IFPWAFCAD Homepage。 现在,使用以下代码替换主体部分: Welcome to IFPWAFCAD, the International Former ProfessionalWrestlers Association for Counseling and Development!IFPWAFCAD offers expert counseling in a wide range of fields.To view the contact details of an IFPWAFCAD certified formerprofessional wrestler in your area, select a subject below:Select a subject:Marriage GuidanceFinancial Consultancy这基本上在表内创建了一个简单的窗体。随后,当我们实现 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)”。 下一步,用以下代码替换模板主体部分: (Chosen Subject)Description: (subject description)Counselor: (counselors name)member since: (a date)Contact Details: email: a href=mailto:phone: 一旦我们在 JSP 中编码,就会为将要生成的输出创建一个 HTML 模板。注意,上面所有括号中的字段都可以通过访问数据层动态生成。 部署到服务器 要了解应用程序在用户那看起来是怎样的,我们需要部署目前所得到的应用程序到 Web 服务器,以便在浏览器上看到页面。注意我们的 JSP 页面尚未包含任何 JSP 代码,因此您现在可以简单地更改扩展名为 .htm,然后在浏览器中单独打开它们。然而,我们需要 Web 服务器编译 JSP 代码以及逻辑层的 Java 类,因此也可能开始使用 Web 服务器。无论您正在运行 NetBeans IDE 捆绑的 Tomcat 还是 SJSAS,一旦在 IDE 中注册了服务器,部署应用程序的过程是相同的。如果需要对 IDE 中的服务器设置进行任何更改,请从主菜单中选择 Tools Server Manager 打开 Server Manager。要部署应用程序到服务器:从 Projects 窗口中,右键单击项目节点,并选择 Deploy Project。NetBeans IDE 自动启动服务器(如果它尚未启动)、编译然后将项目部署到服务器。您可以看到在 Output 窗口生成的任何输出。该输出应该以 BUILD SUCCESSFUL 消息作为结束。要检查应用程序的确被部署到了服务器中,打开 Runtime 窗口(Ctrl+5)并展开 Servers 节点。在此列出 IDE 中注册的服务器。对于 Tomcat 而言,要展开 Web Applications,查看在服务器上编译的 IPFWAPCAD 应用程序。对于 SJSAS 而言,要展开 Applications Web Applications 查看该应用程序。 要运行项目,返回到 Projects 窗口,从项目节点右键单击菜单中选择 Run Project。index.jsp 页面在 IDE 的默认浏览器中打开。提示:如果我们简单地选择了 Run Project 作为开始,那么在浏览器中打开该应用程序之前,它将已经被自动编译和部署到服务器中了。 实现数据层 在考虑为中间逻辑层编码之前,先准备好数据层。这可以容易地分成几个简单的子任务:1. 在 NetBeans IDE 中准备数据库 2. 设置 JDBC 连接池 3. 引用应用程序中的 JDBC 资源 4. 将数据库驱动的 JAR 文件添加到服务器中 在 NetBeans IDE 中准备数据库 完成与 MySQL 数据库连接 教程之后,您将已经拥有一个与 IDE 中注册的 MySQL 数据库的连接。应该还有两个表, counselors 和 subjects,包含 ifpwafcad.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 System 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 System Application Server 节点右键单击菜单中选择 View Admin Console。Administration 登录页面在 IDE 的默认浏览器中打开。 登录到控制台(默认情况下,用户名和密码为:admin,adminadmin )。从左列中选择 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 选项卡,您将会看到以下 标记包含在内: jdbc:mysql:/localhost:3306/test root on Default schemajdbc/connectionPooljavax.sql.DataSourceContainerShareable 现在,根据您使用的是 Tomcat 还是 SJSAS,执行以下操作,引用特用于服务器的部署描述符中的 JDBC 资源:捆绑的 Tomcat Web Server 在 Projects 窗口中,展开 Web Pages META-INF 子文件夹,然后双击 context.xml。 文件显示在 Source Editor 中。 添加以下 标记,然后保存文件(以粗体显示更改): Sun Java System Application Server 在 Projects 窗口中,展开Web Pages WEB-INF 子文件夹,然后双击 sun-Web.xml。 Source Editor中显示该文件的图形编辑器。 单击编辑器右上角的 Edit As XML。文件以 XML 格式显示。现在,在文档中输入以下 标记,例如,接着结尾的 标记输入: jdbc/connectionPooljdbc/connectionPool 将数据库驱动的 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 System Application Server l找到 SJSAS 的安装目录并粘贴 JAR 文件到服务器的 domains domain1 lib ext 子文件夹中。例如,如果将服务器安装到 C:,则路径为: C:SunAppServerdomainsdomain1libext。在 NetBeans IDE 中与 SJSAS 连接时,您实际是与应用程序服务器的实例连接。每个实例都在一个唯一的域中运行应用程序,因此我们需要在 domain1 中放置 JAR 文件,domain1 是安装 SJSAS 时创建的默认域。如果已经启动服务器,确保在粘贴了 JAR 文件后重启它,使服务器能够加载它。NetBeans做数据库操作 来介绍一下NetBeans进行数据库操作,其实基本原理跟eclipse一样的,但是两者还是有稍微的区别的。下面请看我慢慢讲解吧!开发环境:NetBeans IDE 6.0.1 + SQL Server 2005 + JDK 5.0以上打开 NetBeans IDE 6.0.1,首先要导入sqljdbc包这样可以将sqljdbc.jar导入到我们的项目中来,以便之后的开发使用!添加完后,显示如下向 源包 中添加文件,结果如下Cperties 属性配置文件#数据库驱动driver=com.microsoft.sqlserver.jdbc.SQLServerDriver#给定数据库URL的连接url=jdbc:sqlserver:/localhost;DatabaseName=WorldCup2006#数据库登录用户名user=ayumi#登录数据库密码password=ayumiDataAccess.java 数据库访问类/*/*DataAccess.java数据库访问类*Createdon2007年10月14日,上午10:11*Authorajayumi*Description:该类主要是用于做数据库操作,可以直接使用该类便可完成绝大部分的数据库访问操作*/packageDemoApp1;importjava.sql.*;importjava.io.*;importjava.util.Properties;/*/*authorajayumi*/publicclassDataAccess/私有变量*/*/*驱动连接串*/privateStringdriver=null;/*/*jdbc:subprotocol:subname形式的数据库url*/privateStringurl=null;/*/*数据库用户,连接是为该用户建立的*/privateStringuser=null;/*/*用户的密码*/privateStringpassword=null;/*/*属性文件存放路径*/privateStringPropertiesFilePath=null;/*/*数据库连接对象*/privateConnectionConn=null;/*publicDataAccess()/*/*创建一个带参数的构造函数*param_driver,驱动连接串*param_url,jdbc:subprotocol:subname形式的数据库*url*param_user,数据库用户,连接是为该用户建立的*param_password,用户的密码*/publicDataAccess(String_driver,String_url,String_user,String_password)this.SetDriver(_driver);this.SetUrl(_url);this.SetUser(_user);this.SetPassword(_password);/*/*创建一个带参数的构造函数*param_PropertiesFilePath,属性文件存放路径*/publicDataAccess(String_PropertiesFilePath)this.SetPropertiesFilePath(_PropertiesFilePath);/属性设置*/*/*获取该类中的driver*returndriver*/publicStringgetDriver()returnthis.driver;/*/*设置类中的driver为_driver*param_driver,新建_driver*/publicvoidSetDriver(String_driver)if(_driver.equals()&_driver=null)System.out.println(NoSettingDriver!);elsethis.driver=_driver;/*/*获取该类中的数据库URL的连接*returnurl*/publicStringgetUrl()returnthis.url;/*/*设置类中的url为_url*param_url,新建_url*/publicvoidSetUrl(String_url)if(_url.equals()&_url=null)System.out.println(NoSettingUrl!);elsethis.url=_url;/*/*获取该类中的数据库用户,连接是为该用户建立的*returnuser*/publicStringgetUser()returnthis.user;/*/*设置类中的user为_user*param_user,新建_user*/publicvoidSetUser(String_user)if(_user.equals()&_user=null)System.out.println(NoSettingUser!);elsethis.user=_user;/*/*获取该类中的数据库用户的密码*returnpassword*/publicStringgetPassword()returnthis.password;/*/*设置类中的password为_password*param_password,新建_password*/publicvoidSetPassword(String_password)if(_password.equals()&_password=null)System.out.println(NoSettingPassword!);elsethis.password=_password;/*/*获取该类中的属性文件存放路径*returnPropertiesFilePath*/publicStringgetPropertiesFilePath()returnthis.PropertiesFilePath;/*/*设置类中的PropertiesFilePath为_PropertiesFilePath*param_PropertiesFilePath,新建_PropertiesFilePath*/publicvoidSetPropertiesFilePath(String_PropertiesFilePath)if(_PropertiesFilePath.equals()&_PropertiesFilePath=null)System.out.println(NoSettingPropertiesFilePath!);elsethis.PropertiesFilePath=_PropertiesFilePath;/*/*获取属性文件的数据库连接信息*/publicvoidGetProperty()throwsFileNotFoundException,IOException,ExceptionPropertiespro=newProperties();tryFileInputStreamin=newFileInputStream(this.PropertiesFilePath);pro.load(in);this.driver=pro.getProperty(driver);this.url=pro.getProperty(url);this.user=pro.getProperty(user);this.password=pro.getProperty(password);catch(FileNotFoundExceptione)thrownewFileNotFoundException(FileNotFoundExceptionErrorMessage:n+e.getMessage();catch(IOExceptione)thrownewIOException(IOExceptionErrorMessage:n+e.getMessage();catch(Exceptione)thrownewException(OtherErrorMessage:n+e.getMessage();/*/*返回数据库连接*/publicConnectionGetConnection()throwsExceptiontryClass.forName(this.driver);/显式地加载JDBC驱动程序this.Conn=DriverManager.getConnection(this.url,this.user,this.password);catch(Exceptione)thrownewException(DataBaseConnectErrorMessage:n+e.getMessage();returnthis.Conn;/*/*返回一个数据集*param_Conn,数据库连接对象*param_SQLstr,SQL语句*/publicResultSetGetRs(Connection_Conn,String_SQLstr)throwsSQLException,ExceptionStatementst=null;ResultSetrs=null;tryst=_Conn.createStatement();rs=st.executeQuery(_SQLstr);catch(SQLExceptione)thrownewSQLException(DataBaseErrorMessage:n+e.getMessage();catch(Exceptione)thrownewException(OtherErrorMessage:n+e.getMessage();finallyreturnrs;/*/*输出方法*/publicvoidPrintProperties()System.out.println(Driver:+this.driver);System.out.println(Url:+thi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论