目 录
摘要... 1
Abstract 2
1、引言... 3
1.1 选题的依据及意义... 3
1.2 国内外研究现状及发展趋势... 3
2、项目概述... 4
2.1 课题简要说明... 4
2.2 可行性研究... 5
2.2.1 经济可行性... 5
2.2.2 技术可行性... 5
2.2.3运行可行性... 5
2.2.4 时间可行性... 6
2.2.5 法律可行性:... 6
3、需求分析... 6
3.1 功能需求... 6
3.2 性能需求... 7
4、相关技术介绍... 7
4.1 JSP技术简介... 7
4.2 JSP工作原理... 8
4.3 JSP体系结构... 8
4.4 JSP的特点... 9
4.5 系统数据库连接... 9
4.6 SQLSERVER 2000 数据库... 14
4.7 BS模式与C/S模式的比较分析... 14
4.8 JDBC介绍... 16
5、系统设计... 18
5.1 前台模块设计... 18
5.1.1 首页... 18
5.1.2 用户注册... 18
5.1.3 图书搜索... 19
5.1.4 借阅记录... 19
5.1.5 用户留言... 20
5.2 后台模块设计... 20
5.2.1 管理员登陆... 20
5.2.2 图书管理... 21
5.2.3 图书类别管理... 21
5.2.4 会员管理... 22
5.2.5 留言管理... 22
5.2.6 库存查询... 23
5.2.7 借阅信息查询... 23
5.2.8 预借信息查询... 24
5.2.9 管理员管理... 24
6、系统调试与测试... 25
6.1 程序调试... 25
6.2 程序的测试... 25
6.2.1 测试的重要性及目的... 25
6.2.2 测试的步骤... 27
6.2.3 测试的主要内容... 27
结束语... 29
致谢... 31
参考文献... 32
摘要
近年来, 随着Internet的快速发展, 使网络化信息服务呈现出勃勃生机, 各类网络信息服务商如雨后春笋, 已成为图书馆的重要竞争对手。作为传统信息服务业主角的图书馆,必须借助自身的信息资源和信息的搜集、加工、组织优势,积极开展以网络为中心的信息服务,才能在这场竞争中立于不败之地。
我国的计算机网络科技发展还不如欧美等发达国家,使得目前我国图书馆网上信息服务水平和国外相比还存在相当差距,因此,应积极借鉴国外的先进经验,不断研究和完善适于我国的图书馆网络信息服务系统,以提高我国图书馆网络信息服务的整体水平,为实现我国图书馆的网络化,数字化和资源共享奠定基础。
关键词 图书馆 网络化 数字化
Abstract
In recent years, along with the Internet fast development, caused the network information service to present the full of vitality, each kind of network information service provider like mushroom growth, has become the library the important competitor. As the traditional information service industry lead's library, must draw support from own information resource and the information collection, the processing, the organization superiority, develops positively take the network as the central information service, can be in an impregnable position in this competition.
Our country's computer network technological progress might as well Europe and America and so on developed country, causes the present Our country Library on-line information service level and overseas compares also has the suitable disparity, therefore, should profit from the overseas advanced experience positively, studies and the consummation unceasingly is suitable for our country's library network information service system, enhances Our country Library network information service the overall level, is realizes Our country Library network, the digitization and the resource sharing lays the foundation.
Key word Library Network Digitization
1、引言
1.1 选题的依据及意义
九十年代初, 图书馆由于缺乏竞争对手, 并且具有公共物品的属性, 没有生存竞争方面的压力, 服务上往往比较守旧被动, 造成不少资源闲置。许多图书馆还一直保持传统的服务模式, 基本上还处在图书借还、期刊阅览、简单的数据库查询等低层次服务状态上。
近年来, 随着Internet的快速发展, 使网络化信息服务呈现出勃勃生机, 各类网络信息服务商如雨后春笋, 已成为图书馆的重要竞争对手。作为传统信息服务业主角的图书馆,必须借助自身的信息资源和信息的搜集、加工、组织优势,积极开展以网络为中心的信息服务,才能在这场竞争中立于不败之地。
我国的计算机网络科技发展还不如欧美等发达国家,使得目前我国图书馆网上信息服务水平和国外相比还存在相当差距,因此,应积极借鉴国外的先进经验,不断研究和完善适于我国的图书馆网络信息服务系统,以提高我国图书馆网络信息服务的整体水平,为实现我国图书馆的网络化,数字化和资源共享奠定基础。
因此,在线图书馆信息系统的研究是非常重要的。
1.2 国内外研究现状及发展趋势
图书馆是对信息、知识的物质载体进行收集、加工、整理、积聚、存贮、选择、控制、转化和传递,提供给一定社会读者使用的信息系统。简言之,图书馆是文献信息的存贮与传递中心。在线图书馆是一个开放式的硬件和软件的集合平台, 通过对技术和产品的集成, 把当前大量的各种文献载体数字化, 组织起来,将图书馆服务在互联网上开展。
在线图书馆在我国互联网上安家已有几年的历史, 且每年都在发展, 但在信息量、访问量及知名度等方面却不尽如人意。社会信息化程度偏低、政府投资较少是阻碍图书馆网站发展的主要原因。中国内地网民人数已从1997年的62万发展到目前的2亿多, 虽然增长很快, 但不到人口总数的1/6。在这些网民中, 究竟有多少人去查询图书馆的信息, 尚不得知。
目前国内外的许多大学图书馆、公共图书馆都实现了图书馆的网络化和电子化,它们的特点主要是:服务形式多样化, 信息资源多样化。信息检索共享性, 读者参与共建。目前Web 图书馆存在的主要问题:
1.资源服务共享程度不足基本上各在线图书馆没有实现读者在互联网上续借、预约功能,也不提供电子邮件或手机短信的催还、过期通知等。虽然许多在线图书馆都设置了联机公共目录检索并相应地提供了图书预约服务,但这一服务基本属于虚设。许多在线图书馆虽然提供数据库检索,但大都设置权限,而且大多数还未能提供全文检索,远远不能满足读者的需求。
2.检索服务内容不够丰富许多在线图书馆一般仅限于书目文献的检索,不提供读者个人的流通信息检索,也没有全文检索功能及音频、视频检索功能。一般读者访问的目的是查找文献的具体内容,如果在线图书馆没有为读者提供更方便、更快捷、更丰富的服务,读者只能望洋兴叹。
在线图书馆只有在充分利用新技术,装备,的软件模式, 开发出适合本馆的具有交互性、专业性服务模式, 更好的为广大读者服务,能使我国在线图书馆走在世界的前列。能为读者提供省时高效、界面友好、功能齐全的网上服务,成功建设网站的目标和灵魂。
现在的在线图书馆基本是没有在线预借图书系统, 如读者甲有时紧急要借图书, 但书已被读者乙借走, 乙还书后又被其他人借走, 使得甲延误比较多的时间, 而在线预借图书系统则可最大可能的避免这种情况。
2、项目概述
2.1 课题简要说明
本系统的研究目标是开发一个集图书管理, 用户管理, 管理员管理, 在线续借, 预借等功能于一体的在线图书馆信息管理系统。
主要的特色是在线预借图书,是指读者在未借到书之后,登记下次有书即借的一种方式。既读者通过电脑终端输入借书证号。输入要预借书的索书号,系统获取输入信息,查询图书状态文档,核查馆中是否有书。如果馆中还有此书,则通知读者尽快来馆办理借书手续; 如果馆中已无复本,则打开预借文档,存入预借信息。在办理还书业务过程中,若发现被预借的书还回时,系统能立即检索预约文档,按预约日期找出第一预约者,并通过电子邮件等方式发送预约通知单。
2.2 可行性研究
该阶段通过对系统目标的初步调研和分析,提出可行性方案并进行论证。我们在这里主要从技术可行性、经济可行性和操作可行性等方面进行分析。
2.2.1 经济可行性
开发该系统所需的相关资料可以通过已存在的相关系统进行调查采集,所需的其他应用软件、硬件系统也易于获得.因此,开发成本较低。而引进使用本系统后,与传统方式相比,具有高效率、低成本、高质量的特点,可以节省不少人力、物力及财力。所以,从经济的角度来看,该系统可行。
2.2.2 技术可行性
技术可行性要考虑现有的技术条件是否能够顺利完成开发工作,软硬件配置是否满足开发的需求等。本网站用的是JSP开发语言,调试相对简单,当前的计算机硬件配置也完全能满足开发的需求,因此在技术上是绝对可行的。软件方面:由于目前单机模式相对发展成熟,故软件的开发平台成熟可行,它们速度快、容量大、可靠性能高、价格低,完全能满足系统的需求。
2.2.3运行可行性
运行可行性是对组织结构的影响,现有人员和机构和环境对系统的适应性及人员培训补充计划的可行性。当前信息化技术已经相当普及,各类操作人员水平都有相当的高度,所以在运行上是可行性的。
本系统的开发,是典型的Mis开发,主要是对数据的处理,包括数据的收集,数据的变换,及数据的各种报表形式的输出。采用流行的JSP+SQLSERVER 2000体系,已无技术上的问题。
2.2.4 时间可行性
从时间上看,在两个月的时间里学习相关知识,并开发网站,时间上是有点紧,但是不是不可能实现,通过两个多月的努力功能基本实现。
2.2.5 法律可行性:
① 所有技术资料都为合法。
② 开发过程中不存在知识产权问题。
③ 未抄袭任何网站,不存在侵犯版权问题。
④ 开发过程中未涉及任何法律责任。
综上所述,本系统的开发从技术上、从经济上、从法律上都是完全可靠的。
3、需求分析
3.1 功能需求
系统采用模块化的处理思想, 实现的主要功能模块有图书管理, 用户管理, 管理员管理, 借书管理, 还书管理, 在线续借, 在线预借, 用户互动论坛等,
(1)图书管理:包括图书入库, 借出, 归还, 图书信息等功能;
(2)用户管理:包括用户注册, 登陆, 用户信息修改, 用户权限等功能;
(3)管理员管理:包括管理员注册, 登陆, 管理员信息修改, 管理员权限等功能;
(4)借书管理:借书信息管理;
(5)还书管理:还书信息管理;
(6)在线续借:用户已借图书在线续借管理,在线查询图书信息;
(7)在线预借:已借出图书用户在线预借;
(8)用户互动论坛:图书馆管理员, 用户之间的互动平台;
3.2 性能需求
系统对环境的要求
服务起端的最低配置是由建立站点所需要的软件来决定的,在最底配置的情况下,服务器的性能往往不进人意,现在硬件性能已经相当出色,而且价格也很便宜,因此通常应给服务器端配置高性能硬件。
本机器的配置如下:
处理器:Inter Pentium 41.6Hz或更高。
内存:256MB
硬件空间:40GB
题目主要采用的技术
数据库:Microsoft SQL Server 2000。
编程语言:jsp,java。
服务器:Tomcat5.5,jdk1.5
开发环境:WindowsXP
4、相关技术介绍
4.1 JSP技术简介
JSP(Java Server Page服务器网页)是从1998年开始出现的新技术。由Sun公司倡导、许多公司参与一起建立的一种动态网页技术标准,是基于JavaServlet以及整个Java体系的web开发技术。在传统的网页HTML文件(*.htm,*.html)中加入脚本片段和JSP标记(Tag),构成JSP网页(*.jsp)。JSP技术为创建显示动态生成内容的web页面提供了简便的方法。JSP作为Java家族的一员,承袭了Java的特点,即跨平台的特性,也即一次编译,到处运行。
在国外,己经大量使用JSP作为网络应用程序的开发工具,而在国内,尽管JSP还不是主流开发技术,但是由于JSP的强大优势,许多网站都已经准备转向JSP,利用JSP来开发动态网站。
4.2 JSP工作原理
JSP是面向服务器的,因此支持任何浏览器。当Web服务器和JSP引擎遇到访问JSP网页的请求时,JSP引擎将请求对象发送给服务器端的相关组件,比如JavaBean组件、Servlet或EJB等,然后由服务器端组件处理这些请示,可能需要从数据库或数据存储中检索信息,然后服务器端组件再将响应对象返回JSP引擎。JSP引擎将响应对象传递给JSP页面,根据JSP页面的HTML格式完成数据编排,最后Web服务器和JSP引擎将格式化后的JSP页面以HTML格式返回客户浏览器。这就是当前网站构建中广泛采用的浏览器——Web服务器——后台数据库的三层架构模式。因为JSP所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果。
4.3 JSP体系结构
JSP网站开发标准给出了两种使用JSP的技术,可以归纳为模式一、模式二。
模式一:JSP+JavaBeans技术 在这种模式中,JSP页面独自响应请求并将处理结果返回给客户。Bean处理所有数据访问,JSP实现页面的表现,以实现内容生成与显示相分离。当处理复杂的大型应用时,页面被嵌入大量的脚本或Java代码段,当需要处理的商业逻辑复杂时,这种情况会变得非常糟糕,大量的内嵌代码使得页面程序变得复杂,对于前端界面设计人员,这是不可思议的事情。所以模式一可用于小型应用,不能够满足大型应用的需要。
模式二:JSP+Servlet+JavaBeans技术 Servlet技术是一种采用Java技术来实现CGI功能的一种技术,Servlet技术非常适于服务器端的处理和编程,并且Servlet会长期驻留在内存。
从开发的观点看,模式二具有更清晰的页面表现,清楚的开发者角色划分,在大规模项目开发中,模式二更被采用,模式二也更符合当前流行的MVC结构(Model/view/controller),其中Servlet对应controller,处于控制者的位置,处理HTTP请求,负责生成JSP中使用的Beans组件或对象,并判断应将请求传递给哪个JSP等,JSP对应view,负责生成最终的动态网页并返回给浏览器。而JavaBeans对应的是Model,实现各个具体的应用逻辑与功能。
4.4 JSP的特点
1. 简化的页面生成技术。
JSP页面用标准的HTML或XML命令来处理页面的格式化和布局设计,而用类似HTML、XML的标记和Java语言编写的脚本程序生成页面内容。这使得页面形式与页面内容互相独立,非常有利于大型项目的分工合作。
2. 与Java平台有机集成。
JSP技术是Java 2平台的重要组成部分,JSP使用Java语言作为它的脚本语言。在JSP页面中可以使用几乎所有的Java组件和Java API,这就能充分发挥出Java语言的强大功能。使用JSP技术可以创建具有高度可伸缩性和可靠性的Web应用程序。
3. 硬件平台和服务器无关性。
JSP作为Java家族的一员,秉承了Java技术的“一次编写,随处可用(Write Once,Rum Anywhere)”的特性,可以运行于大多数流行的操作系统平台及Web服务器,这种与服务器硬件和操作系统平台的无关性是JSP相对于其它动态网页技术最大的一个优点。
4. 功能可扩展性。
如同Microsoft的JSP技术可以通过ActiveX/COM组件来扩展功能一样,JSP可以通过JavaBean和EJB(Enterprise JavaBean)以及自定义的标记来扩展功能。
JSP可以通过JDBC,与诸如Oracle、SQL Server这样的大型关系数据库进行连接。
JSP提供了一些隐含对象。这些隐含对象在JSP页面中可以直接引用,而不必首先声明。利用JSP提供的这些隐含对象,可以使脚本功能更加强大,并且编程更加容易、方便。例如,利用request对象,可以很容易地接收用户在HTML表单中提交的信息。
4.5 系统数据库连接
JDBC技术是Java DataBase Connectivity的缩写,它是SUN公司提供的一种支持基本SQL功能的通用的应用程序接口(Application Programming Interface)。它由一组用Java语言编写的类和接口组成。通过这些类和接口,程序开发人员可以在Java语言中方便地建立与数据库的链接,通过执行相应SQL语句,完成对不同数据库的访问。因此,开发人员使用JDBC API可以不必编写一个应用程序来访问Sybase数据库,又另外编写一个应用程序去访问Oracle数据库,再写一个应用程序访问Microsoft的SQL Server。不但如此,使用Java语言编写的应用程序可以在任何支持Java的平台上运行,不必在不同的平台上开发不同的应用程序。
简单地说,JDBC能完成下列三件事:
1. 同一个数据库建立连接;
2. 向数据库建立连接;
3. 处理数据库返回的结果。
JDBC是一种通用低层的应用程序编程接口,它在不同的数据库功能模块的层次上提供一个统一的用户界面。说JDBC是一处低级的API,是指它直接调用SQL命令,它比其他的一些数据库连接API要容易使用些,但它有同样可以作为更高级的,用户办面更友好的API或开发工具基础。
很多可视化的Java开发工具,如Visual Age For Java、Visual Café、J++等都提供了基于JDBC的更面向用户的类和包,直接将关系数据库的表或视图映射为Java类,程序员通过可视化工具直接对Java对象进行操作,而真正需要的SQL调用则根据程序员发出的对对象的各种属性、方法的操作来自动产生。另一种使用JDBC API 的方式为,用户程序可以提供一个界面(如菜单等)让用户选择对数据库进行的操作,选中一个任务后,提示用户输入一些必要的信息,然后根据用户的输入产生相应的SQL命令以及Java程序。通过这处方式,用户可以完成对数据库的操作,即使他并不了解SQL语法以及JDBC编程。
数据库访问的三层结构如图5.1所示,浏览器端程序要访问数据库,首先通过中间件,然后由中间件对数据库操作权限进行认证,认证通过才能对数据库进行操作。
图5.1 使用中间件的数据库访问三层结构
用户对数据库的存取权限认证是中间件中完成,对数据库的查询、插入、更新和删除操作等都封装在中间件中,该中间件位于服务器端,中间件对数据库进行操作后,再将处理结果通过Web服务器返回到浏览器端用户。这样,在用户端输入的用户名和密码,可以通过加密算法进行加密后在网络上传输,在中间件中进行解密认证,然后再进行数据库的存取操作,数据库存取权限的用户名和密码出现在位于服务器端的中间件中,这样就更加安全。本系统采用的正是这样的三层结构的数据库访问模式。
在三层模型中,命令将被发送到服务的”中间层”,而”中间层”将SQL语句发送到数据库。数据库处理SQL语句并将结果返回”中间层”,然后”中间层”将它们返回用户。其模型如图5.2所示。
图5.2 JDBC的三层模型
因为”中间层”可以进行对访问的控制并协同数据库的更新,并且可以使用一个易用的高层API,这个API可以由“中间层”进行转换,转换成低层的调用。所以在许多种情况下,三层模型可以提供更好的性能,本系统中所采用的就是此种模型。
JDBC是JAVA应用程序与数据库的沟通桥梁。它提供了三项服务功能:一、与数据库建立连接。二、将SQL语句传递给数据库。三、从数据库取得SQL语句的执行结果。当JDBC要与数据库建立连接前,首先,它必须先取得连接此数据库的JDBC驱动程序,Class.forName()即是在执行此项工作。建立数据库连接的第一步骤就是将JDBC驱动程序的类载入至JVM(Java VirtualL Machine)中,本系统中利用java.lang.Class类内的forName()静态函数依据指定的类名称,将JDBC驱动程序载入进来。完成载入驱动程序的步骤后,必须使用java.sal.DriverManager类所提供的getConnection()静态函数,取得与数据库间的连接对象。此连接对象的类类型为java.sal.Connection,必须通过它才能将SQL指令传递给数据库,而执行结果也需要通过连接对象来取得。当取得连接对象后,还必须取得Statement对象才能对数据库执行SQL指令。Statement主要实现两个功能:执行SQL语句以及取得执行结果。在java.sql.Statement的sql对象中执行查询或修改命令的函数后传回的是一个ResultSet 对象,这个对象提供了一个存取SQL执行结果的管道,以便通过它将表格数据从数据库中取出。每个Statement对象只能产生一个ResultSet 对象。 |