HTML-5移动平台的Java-Web实用项目开课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《HTML-5移动平台的Java-Web实用项目开课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- HTML 移动 平台 Java Web 实用 项目 开课
- 资源描述:
-
1、 对于一个基于数据库开发的对于一个基于数据库开发的Web应应用系统,通常将系统相关的数据存放在用系统,通常将系统相关的数据存放在后台的数据库中,后台的数据库中,Web页面都需要访问页面都需要访问数据库,即从数据表中读取数据,向数数据库,即从数据表中读取数据,向数据表中新增记录或者修改、删除数据表据表中新增记录或者修改、删除数据表中的数据记录。中的数据记录。 Java Web应用程序访问数据库,首先需应用程序访问数据库,首先需要实现要实现JSP应用程序与数据库的连接,应用程序与数据库的连接,JDBC(Java DataBase Connectivity,数据库连接),数据库连接)是是Java程序
2、连接关系数据库的标准,由一组用程序连接关系数据库的标准,由一组用Java语言编写的类和接口组成。语言编写的类和接口组成。 对对Java程序开发者来说,程序开发者来说,JDBC是一是一套用于执行套用于执行SQL语句的语句的Java API,通过,通过调用调用JDBC就可以在独立于后台数据库的就可以在独立于后台数据库的基础上完成对数据库的操作;对数据库基础上完成对数据库的操作;对数据库厂商而言,厂商而言,JDBC只是接口模型,数据库只是接口模型,数据库厂商开发相应的厂商开发相应的JDBC驱动程序,就可以驱动程序,就可以使数据库通过使数据库通过Java语言进行操作了。语言进行操作了。【知识梳理知识梳
3、理】1JDBC的实现原理的实现原理 JDBC主要通过主要通过java.sql包提供的包提供的API供供Java程序开发者使用,驱动程序厂商则程序开发者使用,驱动程序厂商则通过实现这些接口封装各种对数据库的操通过实现这些接口封装各种对数据库的操作。作。 JDBC为多种关系数据库提供了统一为多种关系数据库提供了统一访问接口,它可以向相应数据库发送访问接口,它可以向相应数据库发送SQL调用,将调用,将Java语言和语言和JDBC结合起来,程结合起来,程序员只需编写一次程序就可以让它在任何序员只需编写一次程序就可以让它在任何平台上运行。平台上运行。 JDBC可以说是可以说是Java程序开发者和数程序开
4、发者和数据库厂商之间的桥梁,据库厂商之间的桥梁,Java程序开发者程序开发者和数据库厂商可以在统一的和数据库厂商可以在统一的JDBC标准之标准之下,负责各自的工作范围。下,负责各自的工作范围。 同时,任何一方的改变对另一方都同时,任何一方的改变对另一方都不会造成显著的影响。不会造成显著的影响。 JDBC的作用概括起来包括以下几方的作用概括起来包括以下几方面:面: 建立与数据库的连接;建立与数据库的连接; 向数据库发出查询请求;向数据库发出查询请求; 处理数据库的返回结果。处理数据库的返回结果。(1)注册与加载连接数据库的驱动程序)注册与加载连接数据库的驱动程序(2)创建与数据库的连接)创建与数
5、据库的连接(3)通过连接对象获取指令对象)通过连接对象获取指令对象(4)使用指令对象执行)使用指令对象执行SQL语句语句(5)获取结果集,且对结果集做相应处理)获取结果集,且对结果集做相应处理(6)释放资源)释放资源 DriverManager类是类是java.sql包中用包中用于管理数据库驱动程序的类,根据数据于管理数据库驱动程序的类,根据数据库的不同,注册、装载相应的库的不同,注册、装载相应的JDBC驱动驱动程序,程序,JDBC驱动程序负责直接连接相应驱动程序负责直接连接相应的数据库。的数据库。 在在DriverManager类中存有已注册的驱类中存有已注册的驱动程序清单,当调用动程序清单
6、,当调用DriverManager类的类的方法方法getConnection时,它将检查清单中的时,它将检查清单中的所有驱动程序,一直找到可与所有驱动程序,一直找到可与URL中指定中指定的数据库进行连接的驱动程序为止。只要的数据库进行连接的驱动程序为止。只要加载了合适的驱动程序,加载了合适的驱动程序,DriverManager对象就开始管理连接。对象就开始管理连接。 Connection接口负责连接数据库并接口负责连接数据库并完成传送数据的任务,与特定数据源建完成传送数据的任务,与特定数据源建立连接是进行数据库访问操作的前提。立连接是进行数据库访问操作的前提。 一个一个Connection对象
7、代表与数据库的一对象代表与数据库的一个连接。个连接。 连接过程包括执行的连接过程包括执行的SQL语句和在该连语句和在该连接上所返回的结果。接上所返回的结果。 只有在成功建立连接的前提下,只有在成功建立连接的前提下,SQL语语句才可能被传递到数据库,最终被执行并返句才可能被传递到数据库,最终被执行并返回结果。回结果。 Connection接口的主要方法如下所接口的主要方法如下所示。示。 Statement createStatement():创建一:创建一个个Statement对象。对象。 Statement createStatement(int resultSetType , int res
8、ultSetConcurrency):创建一个:创建一个Statement对对象,它将生成具有特定类型和并发性的结果集。象,它将生成具有特定类型和并发性的结果集。 void commit():提交对数据库的改变并:提交对数据库的改变并释放当前持有的数据库的锁。释放当前持有的数据库的锁。 void rollback():回滚当前事务中所有改:回滚当前事务中所有改变并释放当前连接持有的数据库的锁。变并释放当前连接持有的数据库的锁。 boolean isClose():判断连接是否已关:判断连接是否已关闭。闭。 boolean isReadOnly():判断连接是否:判断连接是否为只读模式。为只读模
9、式。 void setReadOnly():设置连接的只读:设置连接的只读模式。模式。 void clearWarning():清除连接的所:清除连接的所有警告信息。有警告信息。 void close():立即释放连接对象的数:立即释放连接对象的数据库和据库和JDBC资源。资源。 Statement接口由接口由Connection接口产生,接口产生,用于在已经建立的连接的基础上向数据库发用于在已经建立的连接的基础上向数据库发送送SQL语句,包括查询、新增、修改和删除语句,包括查询、新增、修改和删除等操作。等操作。 Statement接口提供了接口提供了3种执行种执行SQL语语句的方法:句的方法
10、:executeQuery、executeUpdate和和execute。 使用哪一个方法由使用哪一个方法由SQL语句所产生的语句所产生的内容决定。内容决定。 (1)ResultSet executeQuery(String strSql) 这种方法的执行结果将返回单个结果这种方法的执行结果将返回单个结果集,主要用于在集,主要用于在Statement对象中执行对象中执行SQL查询语句,并返回该查询生成的查询语句,并返回该查询生成的ResultSet对象。对象。 (2)int executeUpdate(String strSql) 这种方法用于执行这种方法用于执行Insert、Update、D
11、elete和和SQL DDL(数据定义语言)语(数据定义语言)语句,返回一个整数值,表示执行句,返回一个整数值,表示执行SQL语语句影响的数据行数。句影响的数据行数。 (3)boolean execute(String sql) 这种方法是执行这种方法是执行SQL语句调用的一语句调用的一般方法,允许用户执行般方法,允许用户执行SQL数据定义命数据定义命令,然后获取一个布尔值,显示是否返令,然后获取一个布尔值,显示是否返回了回了ResultSet对象。用于执行返回多个对象。用于执行返回多个结果集、多个更新结果或两者组合的语结果集、多个更新结果或两者组合的语句。句。 ResultSet接口负责保存
12、接口负责保存Statement执执行后返回的查询结果。行后返回的查询结果。 ResultSet对象实际上是一个由查询结对象实际上是一个由查询结果数据构成的表,在果数据构成的表,在ResultSet中隐含着一中隐含着一个指针,利用这个指针移动数据行,可以个指针,利用这个指针移动数据行,可以取得所要的数据,或者对数据进行简单的取得所要的数据,或者对数据进行简单的操作。操作。 ResultSet接口的常用方法如下所示。接口的常用方法如下所示。(1)void first():将记录指针移动到记录集:将记录指针移动到记录集的第一行。的第一行。(2)void last():将记录指针移动到记录集:将记录指
13、针移动到记录集的最后一行。的最后一行。(3)void previous():将记录指针从当前位:将记录指针从当前位置向前移动一行。置向前移动一行。(4)void next():将记录指针从当前位置:将记录指针从当前位置向后移动一行。向后移动一行。(5)void beforeFistr():将记录指针移动:将记录指针移动到记录集的第一行之前。到记录集的第一行之前。(6)void afterLast():将记录指针移动到记录:将记录指针移动到记录集的最后一行之后。集的最后一行之后。(7)boolean absolute(int row):将记录指针移:将记录指针移动到记录集中给定编号的行。动到记录
14、集中给定编号的行。(8)boolean isFirst():如果记录指针位于记录:如果记录指针位于记录集的第一行,则返回集的第一行,则返回true,否则返回,否则返回false。(9)boolean isLast():如果记录指针位于记录:如果记录指针位于记录集的最后一行,则返回集的最后一行,则返回true,否则返回,否则返回false。(10)boolean isBeforFirst():如果记录指针位:如果记录指针位于记录集的第一行之前,则返回于记录集的第一行之前,则返回true。(11)boolean isAfterLast():如果记录指:如果记录指针位于记录集的最后一行之后,则返回针
15、位于记录集的最后一行之后,则返回true。(12)int getRow():获取当前行的编号。:获取当前行的编号。 PreparedStatement接口继承自接口继承自Statement接接口,口,PreparedStatement实例包含已编译的实例包含已编译的SQL语句,其执行速度要快于语句,其执行速度要快于Statement对象。对象。 EL(Expression Language,EL)表达)表达式语言是式语言是JSP 2.0中引入的一种计算和输出中引入的一种计算和输出Java对象的简单语言,可以简化在对象的简单语言,可以简化在JSP开发开发中对对象的引用,从而规范页面代码,增强中对
16、对象的引用,从而规范页面代码,增强程序的可读性和可维护性。程序的可读性和可维护性。 如今如今EL表达式是一项成熟、标准的表达式是一项成熟、标准的技术,只要安装的技术,只要安装的Web服务器能够支持服务器能够支持Servlet 2.4/JSP 2.0,就可以在,就可以在JSP页面中页面中直接使用直接使用EL表达式。表达式。 OGNL(Object-Graph Navigation Language,对象图导航语言),它是一,对象图导航语言),它是一种功能强大的表达式语言(种功能强大的表达式语言(Expression Language,EL),通过它简单一致的表),通过它简单一致的表达式语法,可以
17、存取对象的任意属性,达式语法,可以存取对象的任意属性,调用对象的方法,遍历整个对象的结构调用对象的方法,遍历整个对象的结构图,实现字段类型转化等功能。图,实现字段类型转化等功能。 它使用相同的表达式去存取对象的它使用相同的表达式去存取对象的属性,这样可以更好地取得数据。属性,这样可以更好地取得数据。 OGNL是通常要结合是通常要结合Struts 2的标签的标签一起使用,主要是一起使用,主要是#、%和和$这这3个符号的个符号的使用。使用。(1)#符号符号 #符号的用途一般有以下符号的用途一般有以下3种。种。 访问访问OGNL上下文和上下文和Action上下文,上下文,#相当于相当于ActionC
18、ontext.getContext(),#session.msg表达式表达式相当于相当于ActionContext.getContext().getSession(). getAttribute(msg)。 ActionContext常用的属性如下所示:常用的属性如下所示:parameters包含当前包含当前HTTP请求参数的请求参数的Map,#parameters.id0相当于相当于request.getParameter(id).get(0)。 request包含当前包含当前HttpServletRequest的属性的属性的的Map,#request.userName相当于相当于reque
19、st.getAttribute(userName)。 session包含当前包含当前HttpSession的属性的的属性的Map,#session.userName相当于相当于session.getAttribute(userName)。 application包含当前应用的包含当前应用的ServletContext的属性的的属性的Map,#application.userName相当于相当于application.getAttribute(userName)。 用于过滤和投影(用于过滤和投影(projecting)集合,如)集合,如persons.?#this.age25,persons.?
展开阅读全文