




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于jsp的动态发布网站设计 摘 要:本文阐述建设动态发布网站几个主要系统的技术需要,分析系统中所需技术的要点难点及主要的技术名词的意义。简要介绍jsp技术及产生,特点,应用的原因。介绍jdbc技术和jsp+javabean编程模式的特点。具体介绍网站几个功能的详细设计,实现的步骤,系统功能的实现等。目 录1、 概述1.1 背景31.2 java技术41.3 jsp技术概述41.3.1 jsp技术41.3.2 jsp的优势41.3.3 用jsp开发web的几种主要方式51.4 动态发布技术72、 动态发布系统总体设计2.1 系统总体设计82.2信息浏览平台设计92.3信息发布平台设计102.4
2、 数据库设计113、使用工具说明及系统环境配置3.1 强大的开发工具jbuilder 9.0133.2 web服务器 tomcat 4.0 133.3 sql server 2000服务器184、用jsp+javabeans+servlet三层架构实现功能41 三层架构概述1842 用户登陆模块实现194. 3 分页显示的实现225、基于jsp的数据库应用5.1 在jsp中应用数据库简介255.2 信息插入与读取的实现295.3 信息查询和删除的实现326、结束语 33第一章 概述1.1、背景20世纪末,随着计算机技术的发展,网络已经成为我们生活中不可缺少的部分,internet里的资源是无穷
3、无尽的,而www是internet上最蓬勃发展的部分,web的能力激发了无数人对计算机的兴趣。随着企事业单位及个人进驻自己的信息空间,对web站点功能的要求也日益增加。从前www的盛行当归于html的出色表现,但如今,在一些大的企事业以及政府机关的复杂的人员管理,信息处理问题上,一些简单的html网页已不能满足其要求,随之产生的具有交互功能的动态网页制作程序渐渐成为web世界的主流。目前,很多网站大多是静态的html页面,每次更换信息都需重新做一个页面,再修改信息链接,然后ftp上传,这样的维护过程不但非常麻烦,更使没有专人负责的网站浪费很多资金在不停的维护上。使用交互式动态网站维护就变的简单
4、多了 ,即使不会做网站,也可以进行维护,只需在浏览器上通过密码登录后台,按照简单的固定格式,录入文字和上传图片就可以快速实现信息更新,不仅减少了网站的维护费用,更节省了工作人员的时间,提高了工作效率,同时也可以保证信息的实时性。本系统正是为了轻松的使用网站而做的。它主要采用jsp+javabean的编程模式生成,jsp 负责处理用户界面,javabean处理页面提交数据的处理,包括信息的转化,连接数据库,将数据存入数据库,从数据库提取数据等。后台管理系统是moudel1的jsp和javabean编程实现。1.2java技术java是一种简单易用、完全面向对象、具有平台无关性且安全可靠的主要面向
5、internet的开发语言。自从1995年正式问世以来,java的快速发展已经让整个we b世界发生了翻天覆地的变化。随着java servlet的推出, java在电子商务方面开始崭露头角,最新的java server page技术的推出,更是让j a v a成为基于we b的应用程序的首选开发工具。1.3 jsp技术概述 1.3.1 jsp技术javaserver pages(jsp)技术是由sun microsystem公司于1999年推出的新技术,由sun microsystem公司倡导、许多公司参与一起建立的一种动态网页技术标准。是基于java servlet以及整个java体系的w
6、eb开发技术,是servlet2.1 api的扩展。jsp技术的具体实现简单地说,就是在传统的网页html文件(*.html,*.htm)中加入java程序片断(scriptlet)和jsp标记(tag),就构成了jsp网页(*.jsp)。web服务器在遇到访问jsp网页的请求时,首先执行其中的程序片断,然后将执行结果以html格式返回给客户。承修片断可以操作数据库、可以重新定向网页、可以发送email等等。这就是建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端仅是得到的结果。1.3.2 jsp的优势write once run anywhere: jsp技术继承了j
7、ava先天的先进概念。这种概念正越来越深远的影响着互联网行业的交互式web pages的设计理念。jsp pages 可以非常容易的跨平台、跨web服务器软件来设计和开发源代码。jsp标签可扩充性尽管asp和jsp都使用标签与脚本技术来制作动态web网页,jsp技术能够使开发者扩展jsp标签得以应用,jsp开发者能定制标签库,所以网页制作这充分利用与xml兼用的标签技术强大的功能,大大减少对脚本语言的依赖。由于定指标签技术,使网页制作者降低了制作网页和向多个网页扩充关键功能的复杂程度。jsp跨平台的可重用性jsp的开发人员在开发过程中一直关注可重用性。jsp组件(javabeanstm,jav
8、abeans或定制的jsp标签)都是跨平台可重用的。企业javabeans组件可以访问传统的数据库,并能以分布式系统魔室工作与unix和windows平台。jsp技术的标签可扩充功能为开发人员提供简便的,与xml兼容的接口即共享网页的打包功能使其完全的工业标准化。 这种给予组件的模式很有效提高应用程序的开发效率,因为这种模式能够使开发人员利用快捷的子组件快速创建模板应用程序,然后再正和一些附加功能以后便可使用。 4易于维护性 基于jsp技术的应用程序比基于asp的应用程序已于维护和管理。脚本语言都能很好服务于小的应用程序,但不能适应大型的,复杂的应用程序。因为,java是结构化的,它比较容易创
9、建和维护庞大的,组建化的应用程序。 jsp突出的组件技术是修改内容而不影响逻辑或修改逻辑而不影响内容变得很容易实现。企业级的javabeans结构整合了企业逻辑,例如数据库的访问安全,事物安全性,即独立性即独立于应用程序。 因为jsp技术是一种开放的,跨平台的结构,因此,web服务器,平台,及其它的组件能很容易升级或切换,且不会影响jsp基本的应用程序。这一特点使jsp能够适用现实世界的各种web应用程序不断的变化和发展。1.3.3 用jsp开发web的几种主要方式jsp作为j2ee的一部分,既可以用于开发小型的web站点、也可以用于开发大型的、企业级的应用程序。1. 直接使用j s p对于最
10、小型的we b站点,可以直接使用j s p来构建动态网页,这种站点最为简单,所需要的仅仅是简单的留言板、动态日期等基本的功能。对于这种开发模式,一般可以将所有的动态处理部分都放置在j s p的s c r i p t l e t中,就像一般使用p h p或a s p开发动态网页一样。2. jsp+javabeans中型站点面对的是数据库查询、用户管理和小量的商业业务逻辑。对于这种站点,不能将所有的东西全部交给j s p页面来处理。在单纯的j s p中加入j a v a b e a n s技术将有助于这种中型网站的开发。利用j a v a b e a n s,将很容易完成如数据库连接、用户登录与注
11、销、商业业务逻辑封装的任务。如:将常用的数据库连接写为一个java beans,既方便了使用,又可以使j s p文件简单而清晰,通过封装,还可以防止一般的开发人员直接获得数据库的控制权。3.jsp+javabeans+servlet在逻辑关系异常复杂的网站中,借助于servlet和jsp良好的交互关系和javabeans的协助,完全可以将网站的整个逻辑结构放在servlet中,而将动态页面的输出放在jsp页面中来完成。在这种开发方式中,一个网站可以有一个或几个核心的servlet来处理网站的逻辑,通过调用jsp页面来完成客户端(通常是web浏览器)的请求。后面我们将可以看到,在j2ee模型中,
12、servlet的这项功能可以被ejb取代。4. j2ee开发模型在j 2 e e开发模型中,整个系统可以分为三个主要的部分:(1)视图视图就是用户界面部分,在we b应用程序中也就是h t m l、x m l、j s p页面。这个部分主要处理用户看到的东西,动态的j s p部分处理了用户可以看见的动态网页,静态的网页则由html、xml输出。(2)控制器。控制器负责网站的整个逻辑。它用于管理用户与视图发生的交互。可以将控制器想像成处在视图和数据之间,对视图如何与模型交互进行管理。通过使视图完全独立于控制器和模型,就可以轻松替换前端客户程序,就是说,网页制作人员将可以独立自由地改变we b页面而
13、不用担心影响这个基于we b的应用程序的功能。在j 2 e e中,控制器的功能一般是由servlet、javabeans、enterprise javabeans 中的sessionbean来担当的。(3)模型模型就是应用业务逻辑部分,这一部分的主要角色是enterprise javabeans,借助于ejb强大的组件技术和企业级的管理控制,开发人员可以轻松形创建出可重用的业务逻辑模块。1.4 动态发布技术动态发布技术是当前在网络中很流行的一种技术,既应用于中小型网站,也应用于大型的web站点。主要着眼于网站信息的发布、更新和浏览。目前一些大型网站的新网发布就是采用的这种技术。其主要特点有:网
14、站管理者可以实时、方便的更新页面信息。web页面的主要功能是让用户获取信息,一般的网站页面上都充斥着大量信息,这些信息需要定时的更新,特别是对于各类门户网站,信息的更新必须及时。而web页面的内容很繁杂,既包括主要功能的实现,又包括页面的布局搭配、美工处理;几乎每个页面的源代码都是极其冗长繁杂的;作为网站管理者,假如在维护这些页面时采用直接修改源代码的方式,则不仅工作量大,而且容易出错。动态发布系统就可以有效的解决这一问题。它让网站维护者不需要去修改源代码,只需登陆发布页面,就可以直观方便的更新网站信息。并且在网站的浏览页面上实时的显示出来。网站浏览者可以迅速的获取最新的信息。网站信息的维护是
15、随时都可以进行的,信息被更新后,存在数据库中;当浏览者访问该页面时,客户端浏览器向web服务器发出指令,web服务器从数据库中获取信息,并动态的显示出来。 3 增强网站信息的安全性。一般网站的信息并不是向所有用户开放的,针对不同类型的用户,其显示页面要有变化,如非会员用户就不能浏览只对会员开放的信息。若不采用动态发布技术,将网页全做成静态形式,则很难实现上述功能。动态发布技术将信息存储在数据库中,可以在存储的时候,针对信息的类型将信息设置成不同的级别。用户登陆网站时,系统识别用户类型,并根据其类型由选择的公布相应类型的信息,这样就有效的增强了网站信息的安全。第二章 动态发布系统总体设计2.1
16、系统总体设计本文所设计的动态发布系统构建了一个基本的模型,在此模型基础上可以按实际情况的需要进行扩充。例如将其改进成一个新闻发布系统。但无论怎么改,其基本框架是不变的,整体设计思路是一致的。系统的总体设计图如下所示:信息浏览平台信息获取数据库登陆普通用户信息发布平台信息更新管理员动态发布系统可分为三个部分。信息浏览平台(前台)这是用户浏览信息平台,信息从数据库中取出显示在前台页面上,供用户浏览;前台页面还要响应用户的请求,实现与用户的信息交互。信息发布平台(后台)系统管理员发布、修改和更新信息的平台,只有系统管理员才可以进入。它实现了与数据库的全面交互,可以插入、修改和删除数据库中的信息。它是
17、动态发布系统最重要的部分。信息数据库信息数据库存储动态发布系统中所有的信息,无论是前台还是后台,都在信息数据库的支持下工作。信息数据库放在专门的信息服务器上,应有专门的管理员进行维护。2.2信息浏览平台设计信息浏览平台主要由leftinfo.jsp、 listinfo.jsp、 displayinfo.jsp三个jsp页面,listbean.java 、displaybean.java两个javabeans构成。leftinfo.jsp主要是显示信息的分类列表,让用户可以分类浏览信息。listinfo.jsp负责显示信息的条目,每个条目都有超链接,用户可以点击要看的条目去浏览具体的信息.lis
18、tinfo.jsp的功能实现主要依靠listbean.java中定义的listbean类,通过此类的支持,实现信息的传输、显示,分页浏览等功能。displayinfo.jsp用于显示用户所选信息的具体内容,它依靠displaybean.java实现其功能。在平台主页的设计中,用了框架的技术将leftinfo.jsp和listinfo.jsp继承自一个框架页面index.htm中.信息浏览平台的功能结构图如下:index.htmdbconnection.java数据库leftinfo.jsplistinfo.jsplistbean.javadisplayinfo.jspdisplaybean.j
19、ava图中dbconnection.java是所涉及的专门与数据库交互的类,它将数据库的具体实现封装,提供函数接口,供其它类调用。2.3信息发布平台设计信息发布平台主要由insertinfo.jsp、 queryinfo.jsp、 modifyinfo.jsp、sortinfo.jsp和sortinfo2.jsp几个jsp页面,insertbean.java 、querybean.java、modifybean.java和sortbean.java几个javabeans构成。insertinfo.jsp用于发布新的信息,其功能主要在insertbean.java实现, insertbean.j
20、ava定义insertbean类,将管理员在insertinfo.jsp页面中输入的信息写入数据库。queryinfo.jsp负责供管理员根据信息的分类、标题和作者等信息从数据库中查询出相关的信息,查询出后在页面中显示,并提供修改和删除功能,让管理员维护信息。其功能主要在querybean.java实现。modifyinfo.jsp用于让管理员修改和删除信息,它在queryinfo.jsp中被调用,功能modifybean.java中实现。sortinfo.jsp用于管理信息的分类,提供了增加和删除信息栏目的功能,它在响应管理员的请求时,先将请求传送给sortinfo2.jsp,sortinf
21、o2.jsp再将信息传送给sortbean.java,以实现具体的功能。信息发布平台的功能结构图如下:insertinfo.javainsertinfo.jspqueryinfo.java数据库dbconnection.java入口页面queryinfo.jspmodifyinfo.javamodifyinfo.jspsortinfo2.jspsortinfo.javasortinfo.jsp2.4 数据库设计信息数据库主要储存动态发布系统的数据信息,采用的是microsoft公司的sql server 2000数据库。建立了一个activeinfo数据库,并设计了userinfo、sorti
22、nfo和contentinfo三个数据库表,其具体说明如下:userinfo表用于储存本动态发布系统所有用户的信息,用户可分为普通用户和管理员用户。详细说明见下表:字段名字段类型字段说明useridbigint (8位)用户id号,为此表的主键usernamevarchar(不固定长度字符)用户名userpasswordvarchar用户密码usertypeint(4位)用户类型sortinfo表存储系统的信息分类:字段名字段类型字段说明sortidint (4位)信息分类的id号,为此表的主键sortnamevarchar(不固定长度字符)信息分类的名称contentinfo表存储系统中信息
23、的具体内容:字段名字段类型字段说明idbigint (8位)每条信息的id号,为此表的主键titlevarchar(不固定长度字符)信息的标题contentvarchar信息的内容datetimedatetime信息的发布时间typeint(4位)信息的类型第三章 使用工具说明及系统环境配置 本系统实现的主要功能在jbuilder 9.0环境下开发、调试完成;静态页面制作使用macromedia公司的dreamweaver mx。web服务器采用流行的jsp服务器tomcat 4.0。后台数据库采用microsoft公司的sql server 2000。3.1 强大的开发工具jbuilder
24、9.0borland jbuilder是全球第一的跨平台java开发环境,可建构符合业界标准之java应用系统,开发ejb、web、xml以及数据库等各类应用程序。藉由jbuilder双向、可视化之设计工具,您可以快速开发各种j2ee应用程序,并部署至多种应用程序服务器,包括bea weblogic、ibm websphere、sun one、oracle9i application server以及整合于jbuilder的borland enterprise server。3.2 web服务器 tomcat 4.0自从jsp发布以后,推出了各式各样的jsp引擎。作为世界上用得最多的we b服
25、务器软件apache的apache group也在进行j s p的实用研究。并开发出了一个可以直接提供we b服务的jsp服务器,当然同时也支持servlet,即tomcat.因tomcat的使用和配置比较复杂,而且设置好tomcat是实现jsp开发的第一步,故以下将花多一点的篇幅介绍:3.2.1 tomcat的优势作为一个开放源代码的软件, tomcat有着自己独特的优势:首先,它容易得到。事实上,任何人都可以从互联网上自由地下载这个软件。无论http:/jakarta.a还是从其他网站。其次,对于开发人员,特别是java开发人员,tomcat提供了全部的源代码,包括ser
26、vlet引擎、jsp引擎、http服务器. . . . . .,无论是对哪一方面感兴趣的程序员,都可以从这些由世界顶尖的程序员书写的代码中获得收益。最后,由于源代码的开放及世界上许多程序员的卓有成效的工作, tomcat已经可以和大部分的主流服务器一起工作,而且是以相当高的效率一起工作。3.2.2 to m c a t的安装和直接使用在apache的jakarta项目的主页上,可以看到有tomcat的超连接,在这里可以找到各种版本的下载区域,包括当前的发布( release)版本、开发中的各种版本,其中又分为win32版本和linux版本.(注意:在安装使用to m c a t之前,先安装jd
27、k)下载jakarta-tomcat.zip包,解压缩到一个目录下,如:“c :tomcat”。在b i n目录下,有一个名为startup.bat的脚本文件,执行这个脚本文件,就可以启动to m c a t服务器,不过,在启动服务器之前,还需要进行环境变量的设置。wi n 9 x在autoexec.bat里用set语句来设定环境变量,如: set tomcat_home = c:tomcat。在winnt/win2000里可以选择“我的电脑”,右键点出菜单,选择属性,弹出对话框“系统特性”,选择“高级”选项页,然后点按钮“环境变量”,可以编辑系统的环境变量。 tomcat_home值:c:t
28、omcat (用tomcat_home指示tomcat根目录)。 java _ home值:c :javajdk (用java_home指示jdk安装目录)。 classpath值: c:javajdklibtools.jar。接下来就可以执行tomcat_homebinstartup.bat,测试一下tomcat是否运行正常。运行we b浏览器,如internet explorer 。在浏览器的地址栏中键入:http:/localhost:8080/。如果看到tomcat的信息,那么就说明tomcat已经安装成功了。3.2.3在tomcat中建立新的we b应用程序jsp主要是为建立we b
29、网站而开发的技术,这种技术由we b应用程序的一整套we b文件所组成。tomcat为web应用程序的建立提供了一系列的帮助,下面分步骤描述。1. 应用程序的目录和结构按照tomcat的规范,从/example例子目录来看, tomcat的web应用程序应该如下表所示:*.html, *.jsp, etc. 这这里可以有许多目录,由用户的网站结构而定,实现的功能应该是网站的界面,也就是用户主要的可见部分。除了html文件、jsp文件外,还css(样式表)文件以及其他多媒体文件等等web-inf/web.xml这这是一个we b应用程序的描述文件。这个文件是一个x m l文件,描述了s e r
30、v l e t和这个we b应用程序的其他组件信息,此外还包括一些初始化信息和安全约束等等web-inf/classes/ 这这个目录及其下的子目录应该包括这个we b应用程序的所有servlet文件,以及没有被压缩打入jar包的其他class文件和相关资源。注意,在这个目录下的j a v a类应该按照其所属的包组织目录web-inf/lib/这这个目录下包含了所有压缩到j a r文件中的类文件和相关文件。比如:第三方提供的java库文件、jdbc驱动程序等等2. web.xml文件web.xml文件包含了描述整个we b应用程序的信息。下面以一个web.xml文件为例,讲解里面的各个对象。w
31、eb.xml:!doctype web-app public -/sun microsystems, inc./dtd web application 2.2/enmy web application在这里加入web应用程序的描述信息下面定义了web应用程序的初始化参数,在jsp或servlet文件中使用下面的语句来得到初始化参数string value =getservletcontext().getinitparameter(name);这里可以定义任意多的初始化参数webmastermyaddress这里包含了初始化参数的描述下面的定义描述了组成这个web应用程序的servlet,还包含
32、初始化参数。初始化参数可以在servlet中使用如下语句:string value =getservletconfig().getinitparameter(name);controller这里加入这个servlet的描述com.mycompany.mypackage.controllerservletlistorderscom.mycompany.myactions.listordersactionsavecustomercom.mycompany.myactions.savecustomeraction5graph这个servlet的描述controller*.dograph/graph3
33、0 3.3 sql server 2000服务器在今天windows操作系统仍占主导地位的情况下,作为高级用户程序员、系统分析设计人员、系统管理员,要想更积极进取地发挥作用,都应该具备一些数据库方面的知识,而最新版本的sql server 2000则是最佳的选择。这主要有以下原因: 1.相对于foxpro、access等个人数据库而言,sql server是一个功能完备的正规数据库管理系统。它包括的支持开发的引擎、标准的sql语言、扩展的特性(如复制、olap、分析)等功能,是一些大型数据库系统如oracle才具备的特性。而像存储过程、触发器等特性,也是个人数据库所没有的。 2.学习sql s
34、erver易于上手。由于sql server可在windows系列操作系统上使用,与windows进行有机集成,界面风格完全一致,且有许多“向导(wizard)”帮助,因此相对易于安装和学习。但是有关sql server的权威、完整体系的资料并非随处可得。 3.学习sql server是掌握其他平台及大型数据,如oracle,sybase,db/2,informix的基础。因为这些大型数据库对于设备、平台、人员知识的要求往往较高,而并不是每个人都具备这样的条件,有机会去接触它们。但有了sql server的基础,再去学习和使用它们就容易多了。it行业的实践经验充分证明了这一点。第四章 用jsp
35、+javabeans+servlet三层架构实现功能4.1 三层架构概述本文中的动态发布系统的开发基于jsp+javabeans+servlet技术的三层架构解决方案。该方案实现了表示层和逻辑层的分离,使得系统具有很好的扩展性,使得开发过程更加灵活,更加易于维护。系统的三层体系结构如图1。整个动态发布系统采用browser/web/database的三层体系结构。用户在客户浏览器端访问jsp页面并提出请求,web服务器接受请求,并将请求传递给在其后实现具体功能的javabeans或servlet,javabeans或servlet根据请求的内容,从数据库服务器中读取或写入数据,并返回结果,从而
36、实现与客户机进行信息资源的交互。本章主要讨论jsp和javabeans、servlet架构模型及其实现的主要功能,通过jdbc实现与数据库的交互访问将在下章介绍。图1基于java技术的web应用体系结构以下详细讲述动态发布系统的功能如何用此结构实现。4.2 用户登陆模块实现用户登陆模块主要功能在于根据用户的不同类型登陆不同的页面,本系统将用户分为两类:管理员和普通用户。管理员进入管理页面,普通用户只能进入浏览页面。其具体由index.htm、login.jsp和loginbean.java三个文件来实现。用户在index.htm页面中输入用户名和密码,再单击登陆按钮时,页面将信息传给login
37、.jsp;login.jsp用如下代码进行处理:首先在login.jsp页面中定义loginbean类的实例,语句如下:然后用jsp页面指令setproperty来设置loginbean类中的属性。其相应的需要在loginbean类中定义以“set”加属性名命名的函数,如下: public void setname(string name) if(name!=null) =name; public void setpassword(string password) if(password!=null) this.password=password; 设置好属性后,需要调用lo
38、ginbean类中的ifpass函数进行验证,我将调用放在login.jsp中,代码如下: int temp=login.ifpass(); if(temp.equals(1) response.sendredirect(bookadmin.jsp); else if(temp.equals(2) response.sendredirect(bookhall.jsp); else response.sendredirect(unlogin.html); login.jsp调用了loginbean.java的函数ifpass(),并通过判断返回值来确定将要显示的页面。函数ifpass()在log
39、inbean.java中定义如下:public int ifpass() dbconnection db=null; db=new dbconnection(); try if(rs!=null)rs.close(); string sql=select * from admin where name=+name+; string sql=select * from admin; rs = db.executequery(sql); if(rs.first() string temp=rs.getstring(2); if(temp.equals(password) int tempint=r
40、s.getint(3); if(tempint=1) return 1; else if(tempint=2) return 2; catch(exception e) out.println(e.getmessage() return 3; return 3; 在此函数中,dbconnection类是实现数据库连接查询功能的类,在下一章详细介绍。ifpass函数从数据库中查询前端jsp页面所传递的用户名和密码,若符合,则根据用户类型返回值,前端的login.jsp根据返回值,调用sendredirect函数来定位要访问的页面。若不符合,则显示用户无法进入。 4.3 分页显示的实现 在动态发布
41、系统中,所要显示的信息(如新闻、消息等)是分条显示的,当要显示的信息比较多时,就要用分页显示技术。这一技术的实现也放在javabeans中,jsp通过与javabeans的交互分页显示信息。具体由listbean.java和list.jsp两个文件来实现。功能实现界面如下图所示:在listbean.java文件定义了listbean类,listbean类定义两个变量: int page_no=1;int page_total=1; page_no定义当前要显示的页数,其初始值为1,表示第一页;page_total定义要显示的总页数。其实际值的设定在函数getpage()中。getpage()函
42、数具体实现如下:public void getpage(httpservletrequest request) string temp=request.getparameter(pageno); if(temp!=null & temp!=) page_no=integer.parseint(temp); else page_no=1;函数的参数是httpservletrequest类型的变量。httpservletrequest是request对象的实际执行对象,request在编译器中编译时,先要转变成httpservletrequest对象。要在javabeans中引用此对象,要先导入相
43、应的类库:import javax.servlet.http.httpservletrequest;getpage函数在list.jsp中被调用,list.jsp将本页面的request对象传给了getpage函数作为参数:listbeanid.getpage(request);此request对象的获取是通过post方式向页面传值,客户端以http形式向服务器发出请求时,主要使用get和post这两种方式。其区别于get是获取信息;post是传送信息。list.jsp通过在页面中设置四个超链接来控制页面的访问,即首页、下一页、上一页和尾页。当点击其中之一时,本页面刷新,并用post方式传送相
44、应的pageno值,如用下面的超链接来实现首页的访问: 首页 当然实际情况并不这么容易,因为这四个超链接应根据现在的页面位置作相应的变化,如当前页面位置为首页时,则“首页”、“下一页”将被设置为不可用。要实现此项功能需在jsp页面中加入java判断代码:% if(listbeanid.getcurrentpage() 设置首页超链接不可用首页超链接可用当前页面的获取通过调用listbean类所定义的getcurrentpage()函数,函数定义如下:public int getcurrentpage() return page_no;page_no即上面所定义的变量。此时我们可以看到page_
45、no的值在list.jsp页面显示时,通过post方式传入,调用request的方法得到,并存储在listbean类中。当list.jsp页面要变化时,再从listbean类中获取此值来进行判断。得到页号值page_no后,就可以根据页号来显示相应的页面,页面的显示由listbean类中的函数displayinfo()实现:public void displayinfo() / 根据页号来获得要显示的信息索引范围 /在这里一个页面最多显示四条信息if(page_nopage_total) length=page_no*4-1; else length=infotitles.length-1;
46、if(page_no=1) index=0; else index=(page_no-1)*4; for(int i=index;i=length;i+) / 根据信息索引值i来显示相应的信息 这样就基本上实现了信息的分页显示.第五章 基于jsp的数据库应用5.1 在jsp中应用数据库简介在jsp中应用数据库要通过jdbc来实现。jdbc是一种用于执行sql 语句的java api,它由一组用java 编程语言编写的类和接口组成。jdbc为工具/数据库开发人员提供了一个标准的api,使他们能够用纯jdbc api 来编写数据库应用程序。5.1.1 jdbc 驱动程序的类型目前所知的jdbc 驱
47、动程序可分为以下四个种类:1) jdbc-odbc 桥加odbc 驱动程序: javasoft 桥产品利用odbc 驱动程序提供jdbc 访问。注意,必须将odbc 二进制代码(许多情况下还包括数据库客户机代码)加载到使用该驱动程序的每个客户机上。因此,这种类型的驱动程序最适合于企业网(这种网络上客户机的安装不是主要问题),或者是用java 编写的三层结构的应用程序服务器代码。2) 本地api - 部分用java 来编写的驱动程序: 这种类型的驱动程序把客户机api 上的jdbc 调用转换为oracle、sybase、infomix、db2 或其他dbms 的调用。注意,像桥驱动程序一样,这种
48、类型的驱动程序要求将某些二进制代码加载到每台客户机上。3) jdbc 网络纯java 驱动程序:这种驱动程序将jdbc 转换为与dbms 无关的网络协议,之后这种协议又被某个服务器转换为一种dbms 协议。这种网络服务器中间件能够将它的纯java 客户机连接到多种不同的数据库上。所用的具体协议取决于提供者。通常,这是最为灵活的jdbc 驱动程序。4) 本地协议纯java 驱动程序:这种类型的驱动程序将jdbc 调用直接转换为dbms 所使用的网络协议。这将允许从客户机机器上直接调用dbms 服务器,是intranet 访问的一个很实用的解决方法。由于许多这样的协议都是专用的,因此数据库提供者自
49、己将是主要来源,有几家提供者已经开发出了这样的驱动程序。5.1.2 连接数据库 现在详细介绍连接数据库的方法步骤:1. 引入java.sql数据包import java.sql.*;2. jdbc驱动程序加载为了连接到数据库,我们必须将jdbc驱动程序加载为jvm(java virtual machine)。加载jdbc驱动程序的方法有好几种,下面这种方法相对简单。class.forname(“jdbc驱动包的名字“);3. connection的产生如果加载了jdbc驱动程序的话,可以利用加载的驱动程序,连接数据库。通过驱动程序管理器,我们可以得到connection对象。connection conn=drivermanager.getconnection(url,id,password);drivermanager.getconnect
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年大学生实习协议书范本完整版
- 2025年建筑工程施工授权协议示例
- 2025年陈思婚姻协议书模板
- 2025年无债务房产转让男方离婚策划协议书
- 2025年授权代付服务协议样本
- 2025年品牌联合推广协议模板
- 2025年公园绿化维护服务协议样本
- 2025年十堰市汽车销售协议书
- 2025年珠宝订购协议样式
- 2025年广告公司共荣发展协议范本
- 物业保洁常用药剂MSDS
- 药物饮料市场洞察报告
- 公司招标书范本大全(三篇)
- 《剪映专业版:短视频创作案例教程(全彩慕课版)》 课件 第6章 创作生活Vlog
- 人工智能与信息社会学习通超星期末考试答案章节答案2024年
- 10以内连加练习题完整版51
- GB 30254-2024高压三相笼型异步电动机能效限定值及能效等级
- 机场建造行业投资机会与风险识别及应对策略报告
- 自来水厂运行工试题库题库及答案
- CJT 166-2014 建设事业集成电路(IC)卡应用技术条件
- 食材配送服务方案投标方案【修订版】(技术标)
评论
0/150
提交评论