




已阅读5页,还剩170页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2019年11月19日,1,|海有|壁无|一切为了学生。|纳容|立欲|为了学生一切。|百乃|千则|岂能事事如意,但求无愧于心。|川大|仞刚|把微笑留给世界,让世界因你微笑!,2019年11月19日,2,温故而知新!,2019年11月19日,3,第5章JSP的常用内置对象,5.1out对象5.1.1out对象的基础知识5.1.2out对象应用实例5.2request对象5.2.1request对象的基础知识5.2.2request对象应用实例5.3response对象5.3.1response对象的基础知识5.3.2response对象应用实例5.4session对象5.4.1session对象的基础知识5.4.2session对象应用实例,2019年11月19日,4,5.5pageContext对象5.5.1pageContext对象的基础知识5.5.2pageContext对象应用实例5.6exception对象5.6.1exception对象的基础知识5.6.2exception对象应用实例5.7application对象5.7.1application对象的基础知识5.7.2application对象应用实例5.8常见问题及解决方案,2019年11月19日,5,第6章JSP中基本数据库操作,6.1JDBC基础知识6.2通过JDBC-ODBC桥访问数据库6.3通过JDBC驱动访问数据库6.4查询数据库及其应用实例6.5更新数据库(增、删、改)及其应用实例6.6JSP在数据库应用中的相关问题6.7学生信息管理系统应用实例6.8常见问题及解决方案,2019年11月19日,6,6.1JDBC基础知识,JDBC全称为JavaDataBaseConnectivity,两组分别面向应用程序开发人员和数据库驱动程序开发人员的应用程序接口(ApplicationProgrammingInterface,API),以及将前者向后者转化的内在封装逻辑。JDBC是一个面向对象的应用程序接口(API),通过它可访问各类关系数据库。JDBC也是java核心类库的一部分,由一些Java语言编写的类和界面组成。JDBC为数据库应用开发人员、数据库前台工具开发人员提供了一种标准的应用程序设计接口,使开发人员可以用纯Java语言编写完整的数据库应用程序。,2019年11月19日,7,JDBC的功能:(1)同一个数据库建立连接;(2)向数据库发送SQL语句;(3)处理数据库返回的结果。,2019年11月19日,8,JDBC结构,2019年11月19日,9,1.应用程序应用程序实现JDBC的连接、发送SQL、然后获取结果的功能,执行以下任务:与数据源请求建立连接;向数据源发送SQL请求;为结果集定义存储应用和数据类型;询问结果;处理错误;控制传输,提交操作;关闭连接。2.JDBCAPIJDBCAPI是一个标准统一的SQL数据存取接口。为Java程序提供统一的操作各种数据库的接口。程序员编程时,不用关心它所要操作的数据库是哪种数据库,从而提高了软件的通用性。只要系统上安装了正确的驱动器组件,JDBC应用程序就可以访问其相关的数据库。,2019年11月19日,10,3.驱动程序管理器JDBC驱动程序管理器的主要作用是代表用户的应用程序调入特定驱动程序,要完成的任务包括:为特定数据库定位驱动程序;处理JDBC初始化调用等。4.驱动程序驱动程序实现JDBC的连接,向特定数据源发送SQL声明,并且为应用程序获取结果。5.数据库数据库是应用程序想访问的数据源(如Oracle、MicrosoftSQLServer、MySQL)。,2019年11月19日,11,第6章JSP中基本数据库操作,6.1JDBC基础知识6.2通过JDBC-ODBC桥访问数据库6.3通过JDBC驱动访问数据库6.4查询数据库及其应用实例6.5更新数据库(增、删、改)及其应用实例6.6JSP在数据库应用中的相关问题6.7学生信息管理系统应用实例6.8常见问题及解决方案,2019年11月19日,12,6.2通过JDBC-ODBC桥访问数据库,6.2.1通过桥访问Access及其应用实例6.2.2通过桥访问Excel及其应用实例6.2.3通过桥访问MicrosoftSQLServer2008及其应用实例,2019年11月19日,13,Java.sql.DriverManager:处理驱动的调入并对产生新的数据局连接提供支持。Java.sql.Connection:对特定数据库连接。Java.sql.Satement:一个容器,对特定的数据库执行SQL语句。Java.sql.ResultSet:对特定语句的行数据的存取。Java.sql.ResultSet分为:Java.sql.PreparedStatement:用于执行预编译的SQL语句。Java.sql.CallableStatement:用于执行对数据库内嵌过程的调用。,2019年11月19日,14,使用JDBCODBC桥访问数据库,由于微软的数据库不是用Java语言来编写的,但是需要用Java语言连接微软的数据库,这样就要编写一个桥连接,使Java语言编写的代码也可以操作数据库。JDBC-ODBC桥驱动程序由Sun与Merant公司联合开发,主要功能是把JDBCAPI调用转换成ODBCAPI调用,然后ODBCAPI调用针对供应商的ODBC驱动程序来访问数据库,即利用JDBC-ODBC桥通过ODBC来访问数据库。JDBC-ODBC桥是一个JDBC驱动程序,对ODBC而言,它像是通用的应用程序,桥为所有适用于ODBC的数据库实现JDBC连接。桥驱动程序为Java应用程序提供了一种把JDBC调用映射为ODBC调用的方法。因此,需要在客户端机器上安装ODBC驱动。JDBC-ODBC桥在JDBCAPI和ODBCAPI之间提供了一个桥梁,桥把标准的JDBC调用翻译成对应的ODBC调用,然后通过ODBC库把它们发送到ODBC数据源中。建议尽可能使用纯JavaJDBC驱动程序代替桥和ODBC驱动程序,这可以完全省去了ODBC所需的客户机配置,也免除了Java虚拟机被桥引入的本地代码中的错误所产生破坏的可能性。,2019年11月19日,15,1.创建Access文件使用Office中的Access应用程序,创建一个数据库名为stu.mdb的数据库,并在该数据库中创建一个名为stuInfo的表。数据库名、表名以及表中数据如图6-2所示。,2019年11月19日,16,2019年11月19日,17,2019年11月19日,18,2.配置数据源通过JDBC-ODBC桥访问Access需要配置数据源,配置步骤如下:(1)点击“控制面板”-“管理工具”-“数据源(ODBC)”,弹出如图6-3所示对话框。(2)在图6-3中,点击“系统DSN”-“添加”,弹出如图6-4所示的对话框,在图6-4中选定“MicrosoftAccessDriver(*.mdb)”后点击“完成”弹出图6-5所示对话框。(3)在图6-5中输入数据源“acc”,点击“选择”弹出如图6-6所示的对话框。(4)在图6-6中选定Access数据库stu.mdb后点击“确定”返回到上一层对话框,继续点击“确定”完成对Access的配置。,2019年11月19日,19,2019年11月19日,20,2019年11月19日,21,3.编写JSP文件访问数据库(stuInfo.jsp)【例6-1】使用数据源访问Access数据库的JSP页面(stuInfo.jsp)通过桥访问Access应用实例学院专业学号姓名性别年龄宿舍电话籍贯,2019年11月19日,22,2019年11月19日,23,2019年11月19日,24,2019年11月19日,25,JDBCODBC桥访问Access数据库分析,加载驱动程序。在JDBC连接到ODBC数据库之前,必须加载JDBCODBC桥驱动程序,代码为:Class.forName(sun.jdbc.odbc.JdbcOdbcDriver)加载JDBCODBC桥驱动程序程序后,就可以连接数据库了。首先要创建Connection类的一个实例,并使用DriverManager(java.sql包)方法的getConnection来测试使用url指定的数据库连接。连接到数据库后就可以访问数据库了。先使用Connection类对象的createStatement方法从指定的数据库连接得到一个Statement的实例,然后使用这个实例的executeQuery()方法来执行SQL语句。对数据库的访问结束之后,及时的关闭相应对象,从而释放所占的资源。,2019年11月19日,26,6.2通过JDBC-ODBC桥访问数据库,6.2.1通过桥访问Access及其应用实例6.2.2通过桥访问Excel及其应用实例6.2.3通过桥访问MicrosoftSQLServer2008及其应用实例,2019年11月19日,27,2019年11月19日,28,1.创建Excel文件使用Office中的Excel应用程序,创建一个名为“软件技术专业成绩.xls”电子表格。Excel电子表格中的命名以及数据如图6-8所示。,2019年11月19日,29,2019年11月19日,30,2.配置Excel数据源通过JDBC-ODBC桥的方式访问Excel工作表中的数据,首先要创建Excel数据源,这与创建Access数据源方法非常相似,只是在“创建新数据源对话框”选择MicrosoftExcelDriver(*.xls)”选项,然后在“ODBCMicrosoftExcel安装”窗口选择“软件技术专业成绩.xls”工作表即可,这里不再介绍。,2019年11月19日,31,3.编写JSP文件访问Excel(stuScore.jsp)【例6-2】使用数据源访问Excel电子表格的JSP页面(stuScore.jsp)通过桥访问Excel应用实例专业学号姓名班级英语国学(论语)高数JavaJSP计算机网络Java项目实训JSP项目实训,2019年11月19日,32,2019年11月19日,33,2019年11月19日,34,2019年11月19日,35,2019年11月19日,36,6.2通过JDBC-ODBC桥访问数据库,6.2.1通过桥访问Access及其应用实例6.2.2通过桥访问Excel及其应用实例6.2.3通过桥访问MicrosoftSQLServer2008及其应用实例,2019年11月19日,37,1.创建表本例中使用SQLServer2008建一个student数据库,并在该数据库中创建一个info表,数据库、表以及表的字段如图6-10所示。表的数据如图6-11所示。,2019年11月19日,38,2019年11月19日,39,2019年11月19日,40,2.配置MicrosoftSQLServer2008数据源,2019年11月19日,41,2019年11月19日,42,2019年11月19日,43,2019年11月19日,44,2019年11月19日,45,2019年11月19日,46,2019年11月19日,47,3.编写JSP文件访问MicrosoftSQLServer2008(ODBCSQLServer.jsp)【例6-3】使用数据源访问SQLServer2008的JSP页面(ODBCSQLServer.jsp)通过数据源访问SQLServer2008通过数据源访问SQLServer2008数据库,2019年11月19日,48,学号姓名性别年龄体重,2019年11月19日,49,2019年11月19日,50,2019年11月19日,51,第6章JSP中基本数据库操作,6.1JDBC基础知识6.2通过JDBC-ODBC桥访问数据库6.3通过JDBC驱动访问数据库6.4查询数据库及其应用实例6.5更新数据库(增、删、改)及其应用实例6.6JSP在数据库应用中的相关问题6.7学生信息管理系统应用实例6.8常见问题及解决方案,2019年11月19日,52,6.3通过JDBC驱动访问数据库,6.3.1访问MySQL数据库及其应用实例6.3.2访问MicrosoftSQLServer2000数据库及其应用实例6.3.3访问MicrosoftSQLServer2008数据库及其应用实例,2019年11月19日,53,前面介绍了如何使用JDBCODBC连接Access数据库,使用JDBCODBC还可以连接SQLServer数据库。其实有很多数据库提供商提供了数据库的JDBC驱动程序,可以直接访问数据库,例如,微软提供了JDBC直接连接SQLServer数据库JDBC驱动程序sqlserverdriverforjdbc,使得可以直接使用JDBC访问SQLServer数据库。,2019年11月19日,54,1.MySQLJDBC驱动下载和配置本教程使用的是MySQL5.0,下载支持5.0版本的JDBC驱动。本教程使用的JDBC驱动是mysql-connector-java-5.0.6-bin.jar。下载完成MySQL的JDBC驱动后,把该文件可以放到任意目录下,这里假设该目录是“D:JSP程序设计与项目实训教程ch06”。然后设置ClassPath以保证Web服务器能够访问到这个驱动程序。设置方法如下:(1)依次进入“我的电脑”-“系统”-“设置环境变量”,如果已经有ClassPath变量就编辑该变量的值,否则增加ClassPath变量。(2)设置ClassPath的值为:“.;D:JSP程序设计与项目实训教程ch06mysql-connector-java-5.0.6-bin.jar”。(3)重新启动服务器即可。,2019年11月19日,55,(1)MySQL的JDBC驱动在NetBeans中的配置在NetBeans项目“ch06”上右单击,如图6-20所示,单击“属性”弹出对话框,在对话框中选择“库”-“添加JAR/文件夹(F)”,找到MySQLJDBC驱动所在位置,如图6-21所示。找到驱动位置后点击“打开”,MySQLJDBC驱动配置完成。,2019年11月19日,56,2019年11月19日,57,2019年11月19日,58,(2)MySQL的JDBC驱动在MyEclipse中的配置在MyEclipse项目“ch06”上右单击,在属性菜单中单击“BuildPath”-“ConfigureBuildPath”,如图6-22所示。单击“ConfigureBuildPath”,弹出对话框如图6-23,在对话框中选择卡“Libraries”-“AddExternalJARS”,找到MySQLJDBC驱动所在位置,如图6-24所示。找到驱动位置后点击“打开”,MySQLJDBC驱动在MyEclipse中配置完成。,2019年11月19日,59,2019年11月19日,60,2019年11月19日,61,2019年11月19日,62,2.MySQL建立数据库和表,2019年11月19日,63,3.编写JSP文件访问数据库(accessMySQL.jsp)通过MySQL的JDBC驱动访问数据库使用MySQL的JDBC驱动访问MySQL数据库学号姓名专业,2019年11月19日,64,2019年11月19日,65,2019年11月19日,66,2019年11月19日,67,6.3通过JDBC驱动访问数据库,6.3.1访问MySQL数据库及其应用实例6.3.2访问MicrosoftSQLServer2000数据库及其应用实例6.3.3访问MicrosoftSQLServer2008数据库及其应用实例,2019年11月19日,68,1.MicrosoftSQLServerJDBC驱动下载和配置,2019年11月19日,69,2019年11月19日,70,(安装)复制MicrosoftSQLServer2000DriverforJDBCLib下面的jar包到服务器commonlib,2019年11月19日,71,2.MicrosoftSQLServer建立数据库和表本例使用了SQLServer2000自带的pubs数据库,将其设置为Windows和SQL混合模式登录,用户名字为sa,密码为空。,2019年11月19日,72,2019年11月19日,73,登录模式和sa设置步骤为:(1)点击属性点击“开始”-“所有程序”-“MicrosoftSQLServer”-“企业管理器”-“(local)(WindowsNT)”-“属性”,如图6-29所示。(2)设置混合登录模式在图6-29中,在“身份验证”中选择“SQLServer和Windows【s】”。,2019年11月19日,74,(3)添加系统管理员sasa是SQLServer默认的数据库管理员用户名。在图6-29企业器属性结构中,选择“安全性”-“登录”-“新建登录”,如图6-30所示。点击“新建登录”后弹出如图6-31所示对话框,在该对话框中输入用户名为“sa”,身份验证选择“SQLServer身份验证”,为用户输入密码,选择要操作的数据库名“pubs”。(4)设置其它选项卡在图6-31“服务器角色”选项卡中,选择数据库管理员身份“SystemAdministrators”,如图6-32所示。在图6-31“数据库访问”选项卡中,选择要访问的数据库名,并指定对该数据库所允许的操作,public是公共操作,db_owner是数据库所有者能够进行的操作,如图6-33所示。,2019年11月19日,75,2019年11月19日,76,2019年11月19日,77,2019年11月19日,78,2019年11月19日,79,3.编写JSP文件访问数据库(accessSQLServer.jsp)【例6-5】使用驱动访问SQLServer2000的JSP页面(accessSQLServer.jsp)通过SQLServer的JDBC驱动访问数据库欢迎使用SQLServer的JDBC驱动访问SQLServer数据库,2019年11月19日,80,job_idjob_descmin_lvlmax_lvl,2019年11月19日,81,2019年11月19日,82,2019年11月19日,83,6.3通过JDBC驱动访问数据库,6.3.1访问MySQL数据库及其应用实例6.3.2访问MicrosoftSQLServer2000数据库及其应用实例6.3.3访问MicrosoftSQLServer2008数据库及其应用实例,2019年11月19日,84,1.MicrosoftSQLServerJDBC驱动下载和配置如果数据库使用的MicrosoftSQLServer2008,在Microsoft网站下载MicrosoftJDBCDriver4.0forSQLServer。下载后进行解压,解压后如图6-35所示有2个JAR包。设置ClassPath以保证Web服务器能够访问到这个驱动程序。设置方法如下:(1)依次进入“我的电脑”-“系统”-“设置环境变量”,如果已经有ClassPath变量就编辑该变量的值,否则增加ClassPath变量;(2)设置ClassPath的值为:“.;D:JSP程序设计与项目实训教程ch06MicrosoftJDBCDriver4.0forSQLServersqljdbc_4.0chssqljdbc4.jar”。只使用图6-35中的sqljdbc4.jar文件,sqljdbc.jar文件不使用,所以不需要配置。(3)重新启动服务器即可。,2019年11月19日,85,2019年11月19日,86,如果开发JavaWeb项目使用的是NetBeans、MyEclipse和Eclipse。加载JDBC驱动和加载MySQL的驱动相似,不过在使用MicrosoftJDBCDriver4.0forSQLServer驱动时,需要sqljdbc4.jar文件,如图6-36所示。,2019年11月19日,87,2019年11月19日,88,2.MicrosoftSQLServer2008建立数据库和表使用的数据库、表以及数据如图6-10、图6-11所示。登录模式和sa设置步骤为:,2019年11月19日,89,2019年11月19日,90,2019年11月19日,91,2019年11月19日,92,2019年11月19日,93,2019年11月19日,94,2019年11月19日,95,3.编写JSP文件访问数据库(accessSQLServer2008.jsp)【例6-6】使用驱动访问SQLServer2008的JSP页面(accessSQLServer2008.jsp)通过JDBC驱动访问SQLServer2008使用JDBC驱动访问SQLServer2008数据库,2019年11月19日,96,学号姓名性别年龄体重,2019年11月19日,97,2019年11月19日,98,2019年11月19日,99,第6章JSP中基本数据库操作,6.1JDBC基础知识6.2通过JDBC-ODBC桥访问数据库6.3通过JDBC驱动访问数据库6.4查询数据库及其应用实例6.5更新数据库(增、删、改)及其应用实例6.6JSP在数据库应用中的相关问题6.7学生信息管理系统应用实例6.8常见问题及解决方案,2019年11月19日,100,6.4查询数据库及其应用实例,SQL的查询语句JSP发送执行查询语句,2019年11月19日,101,SQL的查询语句,在查询数据库中的记录时,都是通过标准的SQL语句来实现的。SQL的查询语句即SELECT语句,是SQL语言的核心,其语法格式为:SELECTALL|DISTINCTcolumn1,column2FROMtable1,table2WHEREconditionsGROUPBYcolumn-listHAVINGconditionsORDERBYcolumn-listASC|DESC其中,column1,column2为要查询的列名。table1,table2用来指定要查询的表的名称。WHERE“conditions”用来指定用于限制返回的结果的搜索条件。HAVING“conditions用来指定组或聚合的搜索条件。ORDERBY”column-list“ASC|DESC用来指定结果集的排序。例如:SELECTid,nameFROMstu_infoWHERE(age=?AND性别=?);,2019年11月19日,106,【例6-7】利用PreparedStatement对象查询info表信息(PreparedStatementSQL.jsp),2019年11月19日,107,PreparedStatement类的使用使用PreparedStatement类访问SQLServer2008,2019年11月19日,108,学号姓名性别年龄体重,2019年11月19日,109,=?andstudentAge,2019年11月19日,110,2019年11月19日,111,2019年11月19日,112,3.ResultSet的方法可以通过ResultSet对象的方法在结果集中进行滚动查询。常用滚动查询的方法见表6-2。,2019年11月19日,113,2019年11月19日,114,【例6-8】ResultSet对象的游标滚动(ResultSetSQL.jsp)ResultSet方法使用使用ResultSet方法访问SQLServer2008,2019年11月19日,115,学号姓名性别年龄体重,2019年11月19日,116,2019年11月19日,117,2019年11月19日,118,2019年11月19日,119,第6章JSP中基本数据库操作,6.1JDBC基础知识6.2通过JDBC-ODBC桥访问数据库6.3通过JDBC驱动访问数据库6.4查询数据库及其应用实例6.5更新数据库(增、删、改)及其应用实例6.6JSP在数据库应用中的相关问题6.7学生信息管理系统应用实例6.8常见问题及解决方案,2019年11月19日,120,6.5更新数据库(增、删、改)及其应用实例,SQL的更新语句JSP发送执行更新语句,2019年11月19日,121,SQL的更新语句,SQL语言中使用UPDATE语句来更新表中的现有数据。其语法格式为:UPDATEtable_nameSETcolumn_name=expression,column_name1=expressionWHEREsearch_condition其中,table_name:用来指定需要更新的表的名称。如果该表不在当前服务器或数据库中,或不为当前用户所有,这个名称可用链接服务器、数据库和所有者名称来限定。SETcolumn_name=expression,column_name1=expression:指定要更新的列或变量名称的列表,column_name指定含有要更改数据的列的名称。WHEREsearch_condition:指定条件来限定所更新的行。根据所使用的WHERE子句的形式,有两种更新形式:一种是搜索更新指定搜索条件来限定要删除的行;另一种是定位更新使用CURRENTOF子句指定游标,更新操作发生在游标的当前位置。,2019年11月19日,122,JSP发送执行更新语句,Statement类提供的executeUpdate()方法执行INSERT、UPDATE或DELETE语句以及SQLDDL(数据定义语言)语句。INSERT、UPDATE或DELETE语句的效果是修改表中零行或多行中的一列或多列。executeUpdate()的返回值是一个整数,指示受影响的行数(即更新计数)。对于CREATETABLE或DROPTABLE等不操作行的语句,executeUpdate()的返回值总为零。executeUpdate()方法和执行SELECT声明的executeQuery()方法相似,但是它不返回一个ResultSet,而是返回受到INSERT、UPDATE、或者DELETE操作影响的行数。,2019年11月19日,123,将stu_info表中姓名为“张江伟”的同学性别改为“M”。Statementstmt=con.createStatement();stmt.excuteUpdate(“UPDATEstu_infoSETsex=男WHEREname=张江伟”);stmt.close();或者Stringsql=“UPDATEstu_infoSETsex=MWHEREname=张江伟”;stmt.excuteUpdate(sql);stmt.close();,2019年11月19日,124,添加记录,SQL的插入语句发送执行插入语句,2019年11月19日,125,SQL的插入语句,在SQL语言中,使用INSERT语句将新行添加到表或视图中。INSERT语句的语法格式为:INSERTINTOtable_namecolumn_listVALUES(DEFAULT|NULL|expression,.n)table_name:指定将要插入数据的表或table变量的名称。column_list:要在其中插入数据的一列或多列的列表。必须用圆括号将column_list括起来,并且用逗号进行分隔。VALUES(DEFAULT|NULL|expression,.n):引入要插入的数据值的列表。对于column_list(如果已指定)中或者表中的每个列,都必须有一个数据值,且必须用圆括号将值列表括起来。如VALUES列表中的值与表中列的顺序不相同,或者未包含表中所有列的值,那么必须使用column_list明确地指定存储每个传入值的列。例:INSERTINTOstu_info(id,name,sex,age,weight)VALUES(16,马欢,M,26,70),2019年11月19日,126,发送执行插入语句,JSP中,和更新记录一样,可以使用executeUpdate()方法来发送执行插入语句。,2019年11月19日,127,例:Statementstmt=con.createStatement();Stringsql=“INSERTINTOstu_info(id,name,sex,age,weightVALUES(16,马欢,M,26,70)”;stmt.excuteUpdate(sql);stmt.close();,2019年11月19日,128,删除记录,SQL的删除语句JSP发送执行删除语句,2019年11月19日,129,SQL的删除语句,在SQL语言中,使用DELETE语句删除数据表中的行。DELETE语句的语法格式为:DELETEFROMtable_nameWHEREsearch_conditiontable_name:用来指定从中删除记录的表的名称。WHERE:用来指定用于限制删除行数的条件。如果没有提供WHERE子句,则DELETE删除表中的所有行。例如,要从stu_info表中删除学号为“4”的学生的记录,则SQL语句为:DELETEFROMstu_infoWHEREid=4,2019年11月19日,130,JSP发送执行删除语句,JSP中,删除语句的发送和执行也是通过executeUpdate()方法来实现的,其实现方法和更新语句、插入语句相同。例如实现从stu_info表中删除学号为“4”的学生的记录的JSP代码为:Statementstmt=conn.createStatement();Stringsql=DELETEFROMstu_infoWHEREid=4stmt.executeUpdate(sql);stmt.close();,2019年11月19日,131,4.应用实例更新数据库实例。本例使用SQLServer2008数据库,数据库、表以及表中记录参考图6-10和图6-11。程序有一个添加学生信息页面(input.jsp),如图6-47所示。在图6-47中输入信息。点击“提交”后请求提交到inputcheck.jsp页面处理数据,inputCheck.jsp页面中实现了对数据的添加、更改和删除操作。运行效果如图6-48所示。,2019年11月19日,132,2019年11月19日,133,2019年11月19日,134,【例6-9】添加学生信息页面(inputcheck.jsp)JSP中更新数据库输入要添加学生的信息,2019年11月19日,135,学号姓名性别年龄体重,2019年11月19日,136,2019年11月19日,137,【例6-10】处理数据页面(inputCheck.jsp)数据更新后的页面已添加学生信息,2019年11月19日,138,2019年11月19日,140,已更改学生信息,2019年11月19日,141,已删除学生信息,2019年11月19日,142,经过以上操作后,数据库中有以下记录学号姓名性别年龄体重,2019年11月19日,143,2019年11月19日,144,2019年11月19日,145,2019年11月19日,146,第6章JSP中基本数据库操作,6.1JDBC基础知识6.2通过JDBC-ODBC桥访问数据库6.3通过JDBC驱动访问数据库6.4查询数据库及其应用实例6.5更新数据库(增、删、改)及其应用实例6.6JSP在数据库应用中的相关问题6.7学生信息管理系统应用实例6.8常见问题及解决方案,2019年11月19日,147,6.6JSP在数据库应用中的相关问题,6.6.1JSP的分页技术及其应用实例6.6.2汉字处理,2019年11月19日,148,6.6.1JSP的分页技术及其应用实例,在实际应用中,如果从数据库中查询得到的记录特别多,甚至超过了显示器屏幕范围,这时可将结果分页显示。本例使用的数据库以及表是上一节使用的student数据库和info表。假设总记录数为intRowCount,每页显示记录的数量为intPageSize,总页数为intPageCount,那么总页数的计算公式为:如果(intRowCount%intPageSize)0,则intPageCount=intRowCount/intPageSize+1。如果(intRowCount%intPageSize)=0,则intPageCount=intRowCount/intPageSize。翻页后显示第intPage页的内容,将记录指针移动到(intPage-1)*intPageSize+1。,2019年11月19日,149,2019年11月19日,150,【例6-11】分页显示实例(pageBreak.jsp)分页浏览记录分页显示记录内容学号姓名性别年龄体重,2019年11月19日,151,0)rs.absolute(intPage-1)*intPageSize+1);/将记录指针定位到待显示页的第一条记录上/显示数据i=0;while(i,2019年11月19日,154,2019年11月19日,155,第页共页下一页1)%上一页,2019年11月19日,156,2019年11月19日,157,6.6JSP在数据库应用中的相关
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论