您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 企业文化 > 03单元3基于JDBC的Web应用程序开发(校)
单元3基于JDBC的Web应用程序开发对于一个基于数据库开发的Web应用系统,通常将系统相关的数据存放在后台的数据库中,Web页面都需要访问数据库,即从数据表中读取数据、向数据表中新增记录或者修改、删除数据表中的数据记录。【问题探析】【问题1】Web应用程序如何访问后台数据库?【问题2】JDBC访问后台数据库通常需要哪些步骤?【知识必备】1.JDBC的实现原理JDBC主要通过java.sql包提供的API供Java程序开发者使用,驱动程序厂商则通过实现这些接口封装各种对数据库的操作。JDBC为多种关系数据库提供了统一访问接口,它可以向相应数据库发送SQL调用,将Java语言和JDBC结合起来,程序员只需编写一次程序就可以让它在任何平台上运行。JDBC可以说是Java程序开发者和数据库厂商之间的桥梁,Java程序开发者和数据库厂商可以在统一的JDBC标准之下,负责各自的工作范围。同时,任何一方的改变对另一方都不会造成显著的影响。2.使用JDBC访问数据库(1)注册与加载连接数据库的驱动程序(2)创建与数据库的连接(3)通过连接对象获取指令对象(4)使用指令对象执行SQL语句(5)获取结果集,且对结果集作相应处理(6)释放资源3.JDBC的DriverManager类DriverManager类是java.sql包中用于管理数据库驱动程序的类,根据数据库的不同,注册、装载相应的JDBC驱动程序,JDBC驱动程序负责直接连接相应的数据库。4.JDBC的Connection接口Connection接口负责连接数据库并完成传送数据的任务,与特定数据源建立连接是进行数据库访问操作的前提。5.JDBC的Statement接口Statement接口由Connection接口产生,用于在已经建立的连接的基础上向数据库发送SQL语句,包括查询、新增、修改和删除等操作。6.JDBC的ResultSet接口ResultSet接口负责保存Statement执行后返回的查询结果。ResultSet对象实际上是一个由查询结果数据构成的表,在ResultSet中隐含着一个指针,利用这个指针移动数据行,可以取得所要的数据,或者对数据进行简单的操作。7.JDBC的PreparedStatement接口JavaWeb应用程序开发任务驱动教程2PreparedStatement接口继承自Statement接口,PreparedStatement实例包含已编译的SQL语句,其执行速度要快于Statement对象。【操作必备】(1)下载并安装好数据库管理系统SQLServer2008。(2)从网上下载MicrosoftSQLServer2008JDBCDriver,即sqljdbc4.jar。(3)准备开发Web应用程序所需的图片文件、CSS样式文件和验证用的Javascript文件。(4)在MicrosoftSQLServer2008中创建数据库ECommerce,并在该数据库中创建“商品数据表”、“商品类型表”和“用户表”,其结构信息分别如表3-1、表3-2和表3-3所示(5)启动Eclipse,设置工作空间为Unit03,然后进入Eclipse的开发环境。(6)在Eclipse集成开发环境中配置与启动Tomcat服务器。(7)新建动态Web项目unit03。(8)将文件sqljdbc4.jar拷贝到Web项目unit03的文件夹“WebContent\WEB-INF\lib”下,并在Eclipse集成开发环境的“项目资源管理器”刷新Web项目unit03。(9)创建包package03在Web项目unit03中创建一个包,将其命名为“package03”。【基础应用】【任务3-1】在网页动态显示商品数据【任务描述】(1)在JSP页面中通过JDBC连接SQLServer2008数据库“ECommerce”。(2)将“商品数据表”中前5条记录的商品名称、价格、优惠价格以及图片显示在页面中。【任务实施】(1)创建JSP页面productList3-1.jsp在项目unit03中创建一个JSP页面productList3-1.jsp。(2)引入必要的包及相关类首先编写以下代码引入必要的包及相关类。%@pageimport=java.sql.Connection%%@pageimport=java.sql.*%(3)引入所需的CSS样式文件在JSP页面productList3-1.jsp中head/head之间编写代码,引入所需的CSS样式文件。(4)编写代码连接与访问数据库在JSP页面productList3-1.jsp中编写连接与访问数据库的JSP代码,代码如表3-4所示。(5)编写代码显示从数据表获取的商品数据单元3基于JDBC的Web应用程序开发3在JSP页面productList3-1.jsp中编写代码,将从数据表获取的商品数据合理地显示在JSP页面中,代码如表3-5所示。(6)运行程序输出结果运行JSP页面productList3-1.jsp,其运行结果如图3-3所示。图3-3JSP页面productList3-1.jsp的运行结果【任务3-2】在网页动态生成商品类型列表【任务描述】在Web应用程序开发时,经常会使用下拉列表框显示一些列表内容,例如部门、商品类型等,而下拉列表的值可以从后台数据库的数据表查询出来进行显示,这样可以使用页面更加灵活。将“商品类型表”中“类型编号”字段长度为2的顶层商品类型显示在JSP页面的下拉列表框中。【任务实施】(1)创建JSP页面productType3-2.jsp在项目unit03中创建一个JSP页面productType3-2.jsp。(2)引入必要的包及相关类首先编写以下代码引入必要的包及相关类。%@pageimport=java.util.*%%@pageimport=java.sql.*%%@pageimport=java.sql.Connection%(3)引入所需的CSS样式文件在JSP页面productType3-2.jsp中head/head之间编写如下所示的代码,引入所需的CSS样式文件。linkrel=stylesheettype=text/csshref=css/productType.css(4)编写代码连接与访问数据库在JSP页面productType3-2.jsp中编写连接与访问数据库的JSP代码,代码如表3-6所示。(5)编写代码显示从数据表获取的商品类型数据在JSP页面productType3-2.jsp中编写代码,将从数据表获取的商品类型数据显示在下拉列表框,代码如表3-7所示。(6)运行程序输出结果JavaWeb应用程序开发任务驱动教程4运行JSP页面productType3-2.jsp,其运行结果如图3-4所示。图3-4JSP页面productType3-2.jsp的运行结果【渐进应用】【任务3-3】实现用户登录功能【任务描述】(1)在Web项目unit03的包package03中创建类DatabaseConn.java,在该类中定义获取数据库连接的方法getConnection(),定义关闭数据库连接的静态方法closeConn()。(2)在Web项目unit03的包package03中创建实体类UserInfo.java,在该类中定义多个setXXX()方法和getXXX()方法。(3)在Web项目unit03的包package03中创建类UserManage.java,在该类中定义方法userLogin(),该方法用于从“用户表”中查询登录用户的信息是否存在,从而判断登录用户是否为合法用户。(4)在Web项目unit03中创建用户登录页面login3-3.jsp,该页面用于用户登录时输入“用户名”和“密码”等登录信息。(5)在Web项目unit03中创建JSP页面loginAct3-3.jsp,该页面用于处理用户提交的登录信息。(6)在Web项目unit03中创建JSP页面index3-3.jsp,该页面用于显示成功登录用户的用户名,并控制未成功登录的用户进行登录操作。(7)在Web项目unit03中创建JSP页面logout3-3.jsp,该页面用于控制用户的退出。【任务实施】1.创建类DatabaseConn.java在Web项目unit03的包package03中创建类DatabaseConn.java,该类主要用于封装数据库的连接与关闭操作,在该类中定义获取数据库连接的方法getConnection(),定义关闭数据库连接的静态方法closeConn(),代码如表3-8所示。2.创建实体类UserInfo.java在Web项目unit03的包package03中创建实体类UserInfo.java,在该类中定义多个属性以及setXXX()方法和getXXX()方法,其代码如表3-9所示。3.创建类UserManage.java在Web项目unit03的包package03中创建类UserManage.java,该类主要用于封装业务逻辑,在该类中定义方法userLogin(),该方法用于从“用户表”中查询登录用户的信息是单元3基于JDBC的Web应用程序开发5否存在,从而判断登录用户是否为合法用户,代码如表3-10所示。4.创建登录页面login3-3.jsp在Web项目unit03中创建登录页面login3-3.jsp,该页面用于输入登录信息。表单form1的action属性设置为“loginAct3-3.jsp”,“用户名”文本框的name属性设置为“login_username”,“密码”输入框的name属性设置为“login_password”,“提交”按钮的name属性设置为“login”。其详细代码如表2-4所示。5.创建JSP页面loginAct3-3.jsp在Web项目unit03中创建JSP页面loginAct3-3.jsp,该页面用于处理用户提交的登录信息,并使用session对象的setAttribute()方法添加一个指定名称的属性,将当前登录的用户信息存入属性“currentUser”中,代码如表3-11所示。6.创建JSP页面index3-3.jsp在Web项目unit03中创建JSP页面index3-3.jsp,该页面用于显示成功登录用户的用户名,并控制未成功登录的用户进行登录操作。7.创建JSP页面logout3-3.jsp在Web项目unit03中创建JSP页面logout3-3.jsp,该页面用于控制用户的退出。首先在头部位置编写以下代码引入包:%@pageimport=package03.*%。然后在JSP页面logout3-3.jsp中输入表3-13所示的代码。8.运行程序输出结果运行JSP页面login3-3.jsp,显示用户登录页面,在“用户名”文本框中输入“admin”,在“密码”输入框中输入“123456”,然后单击【登录】按钮,如果用户输入的“用户名”和“密码”在“用户表”存在,为合法用户,则用户能成功登录,显示如图3-5所示的JSP页面index3-3.jsp。图3-5JSP页面index3-3.jsp中显示相关信息在JSP页面index3-3.jsp中单击【退出】超链接,弹出如图3-6所示的对话框,单击【确定】按钮即可。图3-6“用户已成功退出”的提示信息对话框【任务3-4】实现用户注册功能【任务描述】(1)在类UserManage.java中定义方法getUser(),该方法用于查询指定注册用户是否存在。(2)在类UserManage.java中定义方法insertUser(),该方法用于在“用户表”中添加用户的注册信息。JavaWeb应用程序开发任务驱动教程6(3)创建JavaScript文件validateRegister.js,在该文件中定义方法fm_check(),该方法用于验证用户的注册信息是否符合规定要求。(4)在Web项目unit03中创建用户注册页面
本文标题:03单元3基于JDBC的Web应用程序开发(校)
链接地址:https://www.777doc.com/doc-3050159 .html