基于Web的分页技术的研究与实现_第1页
基于Web的分页技术的研究与实现_第2页
基于Web的分页技术的研究与实现_第3页
基于Web的分页技术的研究与实现_第4页
基于Web的分页技术的研究与实现_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

1、大连理工大学网络教育学院毕业论文(设计)模板 网络教育学院本 科 生 毕 业 论 文(设 计) 题 目: 基于Web的分页技术的研究与实现 学习中心: xxxxxxxxxxxxxxxxx 层 次: 专科起点本科 专 业: 计算机网络 年 级: 08年秋季 学 号: xxxxxxxxxxxx 学 生: xxxxxxxxxx 指导教师: xxxxxxxxxx 完成日期: 2010 年 8 月 27 日 II基于Web的分页技术的研究与实现内容摘要对基于SQL Server的动态Web应用系统来说,数据的查询分页是其必备的功能之一。为了在实现功能的同时兼顾系统性能,本文结合HTML语言、Java语言

2、,利用ASP技术、MySQL 、JDBC技术,针对Web的分页显示技术,设计并实现了Web的分页显示。关键词:WEB;JAVA;MYSQL;JDBC目 录内容摘要I引 言11 概述21.1 背景21.2 本文的主要内容及组织结构22 Web相关介绍32.1 HTML语言32.2 Java语言32.3 数据库技术42.4 XML技术53 分页显示技术73.1 开发工具73.1.1 ASP技术73.1.2 MSSQL73.1.3 JDBC技术83.2 实现分页显示83.2.1 所使用数据库83.2.2 分页显示类93.2.3 分页显示的ASP页面104 其他分页技术174.1 基于Struts的分

3、页技术174.2 基于ASP的分页技术175 结论18参考文献19引 言近年来,随着Web(Internet,Intranet)应用的普及,越来越多的企事来机构把业务迁移到Web上完成,随之而来的是数据量的几何爆炸式增长。如何有效地把这些数据呈现在用户面前无疑是Web应用系统开发人员必须再三思考的问题,因为这关系到用户的体验,进而关系到系统的成败。为此,针对查询分页功能的实现,有必要研究所采用分页技术的合理性。当然,还可以选择其他的方法,比如扩大网络带宽,或者升级服务器。这些方法固然简单直观,但并不能从本质上解决问题,在某种意义上,企业的最后一公里(从用户驻地业务集中点到用户终端之间的传输及线

4、路等相关设施)永远是窄带连接。网络信息的繁杂,必然要求一个有序的管理系统,而数据库则是管理大量信息最有效的方式,用户通过WEB向服务端程序递交查询请求,服务端程序在数据库中检素,将结果生成的页面展现在用户面前,直观而有效。然而由于企业信息的不断增长,企业的数据库越来越庞大,服务器的负担也越来越重,查询缓慢,页面加载时间长等弊端逐渐出现在管理者的面前,迫切需要建立一个高效的、简洁的查询系统。11 概述1.1 背景 当今社会是一个信息社会,一个知识经济时代。互联网正在融入我们社会中的每一个主面,影响和改变着我们的生活。近年来,随着网络技术的迅猛发展,越来越多的部门、企事业单位都在通过Interne

5、t对外宣传自己,同时为那些有信息需求的人提供方便快捷的服务。自从Web的产生到现在短短几年的发展,Web技术已从最初简单的文档的浏览发展到当今复杂电子商务的应用,其间共经历了静态文档、动态交互页面和实时可伸缩的事务处理三个阶段。Web技术发展的第一阶段静态文档。这一阶段Web服务器基本上只是一个HTTP的服务器,它负责接收客户端浏览器的访问请求,建立连接。Web技术发展的第二阶段动态交互页面阶段。第一阶段的Web技术无法满足人们进一步的要求。随着高版本HTML的出现和浏览器对From表单的支持使Web技术进入了其发展的第二阶段:动态交互页面阶段。数据库技术适于对大量的数据进行组织管理,Web技

6、术拥有较好的信息发布途径,这两种技术天然的互补性决定其相互融合成为技术发展的必然趋势。将Web技术与数据技术相结合,开发动态的Web数据库应用,已成为当今Web技术研究的热点所在。1.2 本文的主要内容及组织结构本文研究的内容为如何建立一个查询并进行分页。本文的组织结构:全文共分5章。第一章,主要是介绍背景及本文的组织结构;第二章,介绍WEB的相关知识;第三章,介绍基于ASP的分页显示技术 ;第四章,介绍其他分页显示技术;第五章,结论。182 Web相关介绍建立一个动态网页,需要许多相关的技术相结合:HTML、JAVA、数据库、XML等。2.1 HTML语言HTML(Hyper Text Ma

7、rkup Language 超文本标记语言)是一种用来制作超文本文档的简单标记语言。用HTML编写的超文本文档称为HTML文档,它能独立于各种操作系统平台(如UNIX,WINDOWS等)。自1990年以来HTML就一直被用作World Wide Web上的信息表示语言,用于描述Homepage的格式设计和它与WWW上其它Homepage的连结信息。HTML文档(即Homepage的源文件)是一个放置了标记的ASCII文本文件,通常它带有.html或.htm的文件扩展名。生成一个HTML文档主要有以下三种途径:1、通过可见即可得的网页编写程序生;2、手工在记事本中直接编写;3、由服务器程序动态生

8、成。HTML语言是通过利用各种标记(tags)来标识文档的结构以及标识超链(Hyperlink)的信息。虽然HTML语言描述了文档的结构格式,但并不能精确地定义文档信息必须如何显示和排列,而只是建议Web浏览器(如Mosiac,Netscape等)应该如何显示和排列这些信息,最终在用户面前的显示结果取决于Web浏览器本身的显示风格及其对标记的解释能力。这就是为什么同一文档在不同的浏览器中展示的效果会不一样。2.2 Java语言Java命名来源于开发人员名字的组合:James Gosling、Arthur Van Hoff和Andy Bechtolsheim首字母的缩写。它是一种简单的,跨平台的

9、,面向对象的,分布式的,解释的,健壮的,安全的,结构的,中立的,可移植的,性能很优异的,多线程的,动态的语言。它具有以下特点:1、Java能运行于不同的平台。Java引进虚拟机 原理,并运行于虚拟机,实现不同平台的Java接口之间。使用Java编写的程序能在世界范围内共享。Java的数据类型与机器无关,Java虚拟机(Java Virtual Machine)是建立在硬件和操作系统之上,实现Java二进制代码的解释执行功能, 提供于不同平台的接口的。2、 Java对程序提供了安全管理器,防止程序的非法访问。Java的编程类似C+,学习过C+的读者将很快掌握Java的精髓。Java舍弃了C+的指

10、针对存储器地址的直接操作,程序运行时,内存由操作系统分配,这样可以避免病毒通过指针侵入系统。 3、 Java吸取了C+面向对象的概念,将数据封装于类中,利用类的优点,实现了程序的简洁性和便于维护性。类的封装性、继承性等有关对象的特性,使程序代码只需一次编译,然后通过上述特性反复利用。程序员只需把主要精力用在类和接口的设计和应用上。Java提供了众多的一般对象的类,通过继承即可使用父类的方法。在Java中,类的继承关系是单一的非多重的,一个子类只有一个父类,子类的父类又有一个父类。Java提供的Object类及其子类的继承关系如同一棵倒立的树形,根类为Object类,Object类功能强大,经常

11、会使用到它及其它派生的子类。 4、 Java建立在扩展TCP/IP网络平台上。库函数提供了用HTTP和FTP协议传送和接受信息的方法。这使得程序员使用网络上的文件和使用本机文件一样容易。 5、Java还实现了真数组,避免了覆盖数据的可能,这些功能特征大大提高了开发Java应用程序的周期。并且Java还提供了Null指针检测、数组边界检测、异常出口、Byte code校验等功能。WEB服务器编程使用的主要是JSP(Java Server Pages)技术,是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。它是在传统的网页HTML文件(*.htm,*.htm

12、l)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。 用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。2.3 数据库技术数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今五十年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。随着Internet的发展,出现了许多的网上数据库,

13、为庞大的网站群提供信息来源。建立一个网站系统使用的数据库主要有:MSSQL、MYSQL、MDB等。MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。而2009年,SUN又被Oracle收购.对于Mysql的前途,没有任何人抱乐观的态度.目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。MySQL名字的来历MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司,在200

14、8年1月16号被Sun公司收购。MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。2.4 XML技术 XML 代表Extensible Markup Language的缩写,意为可扩展的标记语言。XML是用于网络上数据交换的语言,具有与描述Web页面的HTML语言相似的格式。它是一套定义语义标记的规则,这些标记将文档分成许多部件并对这些部件加以标识;它也是元标记语言,即定义了用于定义其他与特定领域有关的、语义的、结构化的标记语言的句法语言。该语言具有以下

15、优点:(1) 良好的可扩展性。XML允许各个不同的行业根据自己独特的需要制定自己的一套标记,同时,它并不要求所有浏览器都能处理这成千上万个标记,同样也不要求一个置标语言能够适合各个行业各个领域的应用,这种具体问题具体分析的方法更有助于置标语言的发展。 (2) 内容与形式的分离。正如前面所说,XML中信息的显示方式已经从信息本身中抽取出来,放在了样式单中。这样做便于信息表现方式的修改,便于数据的搜索,也使得XML具有良好的自描述性,能够描述信息本身的含义甚至它们之间的关系。 (3) 遵循严格的语法要求。XML不但要求标记配对、嵌套,而且还要求严格遵守DTD的规定。这增加了网页文档的可读性和可维护

16、性,也大大减轻了浏览器开发人员的负担,提高了浏览器的时间空间效率。 (4) 便于不同系统之间信息的传输。不同企业、不同部门中往往存在着许多不同的系统,XML可以用作各种不同系统之间的交流媒介,是一种非常理想的网际语言。 (5) 具有较好的保值性。XML的保值性来自它的先驱之一SGML语言,可以为文档提供50年以上的寿命。 使用XML还能够将在以前的数据库中难以处理的数据转化成数据库。XML的描述方式与HTML相同,利用被括号括起来的字符串进行描述。在HTML中,括号内所定义的都是版面(Layout)等信息。而XML则同时定义了数据的属性。因此,主要用于在企业之间,或者在企业内部更加方便地进行数

17、据交换和利用,甚至有不少企业自己定义XML,然后将其用于本公司内部的数据交换。3 分页显示技术面对与日俱增的访问量,许多Internet网站的数据库服务器越来越不堪重负。除了访问量增加、硬件设施滞后等客观因素之外,服务器程序设计不良也是造成这种问题的主要原因之一。利用数据库记录分页显示技术可以在一定程度上缓解这个问题,该技术将满足查询条件的数据库记录划分成若干页,每次仅显示其中的一页,数据库服务器负担会因其而大大减少。3.1 开发工具 如何满足用户对访问Web数据库页面的速度的要求,这就需要对大量数据进行分页显示,而在Web页面中实现数据库记录的分页显示是一项复杂而又实用的技术,这里将分别介绍

18、针对查询分页功能的实现使用的几种开发工具:JSP技术、MySQL、JDBC技术。3.1.1 ASP技术ASP是Active Server Page的缩写,意为“动态服务器页面”。ASP是微软公司开发的代替CGI脚本程序的一种应用,它可以与数据库和其它程序进行交互,是一种简单、方便的编程工具。ASP的网页文件的格式是.asp,现在常用于各种动态网站中。ASP是一种服务器端脚本编写环境,可以用来创建和运行动态网页或Web应用程序。ASP网页可以包含HTML标记、普通文本、脚本命令以及COM组件等。利用ASP可以向网页中添加交互式内容(如在线表单),也可以创建使用HTML网页作为用户界面的web应用

19、程序。3.1.2 MSSQLMS指的是微软Microsoft,SQL是结构化查询语言.结合起来就是说:MS SQL是指微软的SQL Server数据库服务器,它是一个数据库平台,提供数据库的从服务器到终端的完整的解决方案,其中数据库服务器部分,是一个数据库管理系统,用于建立、使用和维护数据库。 SQL Server是由Microsoft开发和推广的关系数据库管理系统。3.1.3 JDBC技术JDBC(Java DataBase Connectivity,Java数据库连接)是一套允许Java与SQL数据库对话的程序设计接口,它是用于执行SQL语句的Java API,是Java应用程序连结数据库

20、、存取数据的一种机制,可以为多种关系数据库提供统一的访问,它由一组用Java语言编写的类和接口组成。由于Java是一个健壮,安全,易于使用的,易于理解且可以从网络中自动download,所以它成为开发数据库应用的一种良好的语言基础。它提供了C,C+,Smalltalk, BASIC, COBOL, and 4GLs的许多优点。1、有了JDBC,用户只需用JDBC API写一个程序逻辑,它可以向各种不同的数据库发送SQL语句。所以,在使用Java编程语言编写应用程序时,不用再去为不同的平台编写不同的应用程序。由于Java语言具有跨平台性,所以将Java和JDBC结合起来将使程序员只须写一遍程序就

21、可让它在任何平台上运行,这也进一步体现了Java语言“编写一次,到处运行”的宗旨。2、JDBC向应用程序开发者提供独立于数据库的、统一的API,当应用程序被移植到不同的平台或数据库系统,应用程序不变,改变的是驱动程序,驱动程序扮演了多层数据库设计中的中间层(或中间件)的角色。3、JDBC主要完成以下四方面的工作:加载JDBC驱动程序;建立与数据库的连接;使用SQL语句进行数据库操作并处理结果;关闭相关连接3.2 实现分页显示目前比较好的分页做法是每次翻页的时候只从数据库里检索页面大小的块区的数据。这样虽然每次翻页都需要查询数据库,但查询出的记录数非常少,网络传输数据量不大,如果使用连接池更能略

22、过最耗时的建立数据库连接过程。而在数据库端有各种成熟的优化技术用于提高查询速度,比在应用服务器层做缓存有效多了。3.2.1 所使用数据库我们使用MSSQL数据库,建立一个数据库mydata,新建一个数据表users,表的结构如图3.1。图3.1 数据库mydata中表users的字段设置ASP的数据库的连接代码为:set conn = server.createobject(ADODB.Connection)conn.Open=driver=SQL server;server=(local);uid=test_user;pwd=123456;database=mydata;Set rs= Se

23、rver.CreateObject(ADODB.Recordset)3.2.2 分页显示类本分页类文件名为list.Asp, 代码设计的思路是: ASP中的数据集有pagesize、absolutepage、pagecount几个分页参数,我们将利用这几个参数进行分页程序的写作。1、我们先设定几个变量:pagesize 每页显示的记录数nowpage 当前页的页号recordcount 数据库中总的记录数maxpage 最大页号2、打开数据集并设置每页显示的记录数:str=select * from usersrs.open str,conn,1,3rs.pagesize=43、进行分页的操作

24、(代码在3.2.3小节)整个分页流程如下图所示:取得页码从数据中提取数据显示在IE中点击页码链接图3.2 分页程序流程图3.2.3 分页显示的ASP页面一个分页显示JSP页面包括如下功能:总页数显示;上下页切换;首尾页切换;页面跳转等基本功能。下面我们分步骤演示分页功能,并列出分页所需要的代码:(一) 取得总记录数和总页数。1、从数据集的属性中取得总记录数(recordcount)和总页数(maxpage):recordcount=rs.recordcountmaxpage=rs.pagecount(二) 获取跳转到的目的页面从浏览器返回的参数取得跳转的目的页面(pageno),如果返回的参数

25、值为空,则将页数设为开始页:if request(pageno)= then nowpage=1else nowpage=request(pageno)end if(三) 显示数据根据页数及每页显示的记录数从数据库中提取数据,并显示在浏览器中:编号登陆人姓名登陆时间%n=1while not rs.eof and n=rs.pagesize response.write response.Write (&rs(wordsid) & ) response.Write(&rs(wordsname) & ) response.Write(&rs(wordstime) & ) n=n+1 respon

26、se.write rs.movenextwend% (四) 页数显示1、显示总记录数代码:共:条 图3.1 页数统计显示2、显示每页条数代码:条/页图3.2 每页条数显示3、显示当前页及总页数代码:第页/共页图3.3 页数显示(五) 首页尾页跳转1、为了方便返回,要有跳到首页的链接:代码如下:首页图3.4 首页显示 2、跳到尾页的代码: a href=list.asp?pageno=尾页图3.5 尾页显示(六) 上一页下一页跳转 1、跳转到上一页的代码: % if nowpage1 then%a href=list.asp?pageno=上一页图3.6 上一页显示2、跳转到下一页的代码:(如果

27、当前页为最后一页,则不显示最后一页的链接) %if nowpagemaxpage then%a href=list.asp?pageno=下一页图3.7 下一页显示(7) 直接跳转到任意页,在这个功能中,由于要取得表单中的数值,用到了javascripts脚本。代码如下:转到 % i=1 while (i option value=list.asp?pageno= 页 function $(e)return document.getElementById(e);$(form).onsubmit=function()this.action = $(pageno).value;图3.8 跳转显示(

28、8) 显示整个页面,代码如下(经测试,显示正常):登录名单编号登陆人姓名登陆时间%n=1while not rs.eof and n=rs.pagesize response.write response.Write (&rs(wordsid) & ) response.Write(&rs(wordsname) & ) response.Write(&rs(wordstime) & ) n=n+1 response.write rs.movenextwendresponse.write %共:条 条/页 第页/共页首页% if nowpage1 then%a href=list.asp?pag

29、eno=上一页%if nowpagemaxpage then%a href=list.asp?pageno=下一页a href=list.asp?pageno=尾页转到 % i=1 while (i option value=list.asp?pageno= 页 function $(e)return document.getElementById(e);$(form).onsubmit=function()this.action = $(pageno).value;图3.9 显示页面4 其他分页技术 任何动态网页都可以进行分页,下面再介绍另外两种分页技术: 1、基于Struts的分页技术 2、基于JSP的分页技术4.1 基于Struts的分页技术 开发思路既然讲的是Struts,那自然离不了MVC,分页显示也是如此。1、 建立数据库和对应的表,本例的表是TCertificate。2、 建立适当的模型组件,对应你要查询数据库中的表。这部分由DAO数据访问层来实现,如果有的朋友对DAO不熟悉可以查询一下相关资料。本例由CertificateDAO.java来实现。3 、建立分页所需要的模型组件,由javaBean来充当,并与CertificateDAO实现分离。网上介绍的很多方法,都存在着数据与分页组件藕合的现象,这也是本方法与其它分页方法的主要不同之处。4、

温馨提示

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

评论

0/150

提交评论