基于jsp与mysql图书管理系统的设计与实现.docx

上传人:b****7 文档编号:10557384 上传时间:2023-02-21 格式:DOCX 页数:37 大小:663.62KB
下载 相关 举报
基于jsp与mysql图书管理系统的设计与实现.docx_第1页
第1页 / 共37页
基于jsp与mysql图书管理系统的设计与实现.docx_第2页
第2页 / 共37页
基于jsp与mysql图书管理系统的设计与实现.docx_第3页
第3页 / 共37页
基于jsp与mysql图书管理系统的设计与实现.docx_第4页
第4页 / 共37页
基于jsp与mysql图书管理系统的设计与实现.docx_第5页
第5页 / 共37页
点击查看更多>>
下载资源
资源描述

基于jsp与mysql图书管理系统的设计与实现.docx

《基于jsp与mysql图书管理系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于jsp与mysql图书管理系统的设计与实现.docx(37页珍藏版)》请在冰豆网上搜索。

基于jsp与mysql图书管理系统的设计与实现.docx

基于jsp与mysql图书管理系统的设计与实现

摘要

随着网络技术的高速发展和计算机应用的普及,利用计算机对图书馆的日常工作进行管理势在必行。

虽然目前很多大型的图书馆已经有一套比较完整的管理系统,但是在一些中小型的图书馆中,大部分工作仍需要由手工来完成,工作起来效率比较低,管理员不能及时的了解图书馆内各类图书的借阅情况,读者需要的图书难以在短时间内找到,不便于动态及时的调整图书结构。

为了更好的适应当前读者的借阅需求,解决手工管理中存在的许多弊端,越来越多的中小型图书馆正在逐步的向计算机信息化管理转变。

JSP是全球最普及、应用最广泛的互联网开发语言之一,它有开放的源代码,独特的语法结构,跨平台等诸多优秀的特性。

所以采用JSP语言结合开源的MySQl数据库开发一套中小型的图书馆管理系统能够有效的解决学校图书馆存在的各种问题,使图书馆能够更好的服务师生。

关键词:

图书馆管理系统,JSP,MySQL,软件工程

Abstract:

Withtherapiddevelopmentofnetworktechnologyandthepopularizationofcomputerapplications,computerwasusedtomanagethedailyworkofthelibraryisimperative.Althoughmanylargelibrarieshaveasetofrelativelycompletemanagementsystem,butinsomesmallandmediumsizedlibraries,themajorityofworkisstillneededtocompletebyhand,workingupandefficiencyisrelativelylow,theadministratorcannotbetimelyunderstandingofthelibrarythesituationofdifferentcategoriesofbooksborrowed,readersneedbooksinashorttimeisdifficulttofind,noteasytoadjustthedynamicandtimelybookstructure.Inordertobetteradapttothecurrentreader'sborrowingneedsandsolvemanyofthemanualmanagementshortcomingsexistinagrowingnumberofsmallandmediumsizedlibrariesaregraduallychangingthecomputerinformationmanagement.JSPistheworld'smostpopular,themostwidelyusedlanguageoftheInternetdevelopment,ithasopensourcecode,auniquegrammaticalstructure,cross-platform,andmanyotheroutstandingfeatures.Therefore,useofopen-sourceJSPlanguagewithasetofdatabasedevelopmentforsmallandmediumMySQllibrarymanagementsystemcaneffectivelysolvethevariousproblemsinschoollibrariessothatlibrariescanbetterserveteachersandstudents.

Keywords:

LibraryManagementSystem,JSP,MySQL,SoftwareEngineering

 

1绪论

1.1研究背景

随着网络技术的高速发展和计算机应用的普及,利用计算机对图书馆的日常工作进行管理势在必行。

虽然目前很多大型的图书馆已经有一套比较完整的管理系统,但是在一些中小型的图书馆中,大部分工作仍需要由手工来完成,工作起来效率比较低,管理员不能及时的了解图书馆内各类图书的借阅情况,读者需要的图书难以在短时间内找到,不便于动态及时的调整图书结构。

为了更好的适应当前读者的借阅需求,解决手工管理中存在的许多弊端,越来越多的中小型图书馆正在逐步的向计算机信息化管理转变。

因此,迫切的需要中小型的图书馆管理来更好的服务学校师生。

1.2国内外图书馆管理系统发展情况

计算机的出现给人类社会带来了第三次工业革命,计算机和计算机网络已经深入到了各行各业,各个领域,随着Internet的不断扩大和发展,电脑网络“把每一个国家、每一个城市甚至每一个家庭连接到一起”,形成了一条“信息高速路”,就像高速公路大大提高了车辆行驶的速度一样。

信息高速路给生活、学习和工作带来了什么影响呢?

总结起来主要有三点:

第一,电脑网络可以查阅信息,迅速而便捷地了解周围的世界;第二,可以跟世界各地的人随时进行交流,并建立联系;正是由于有了这么一条信息高速路,网上查询随之有了可能,因此网上的图书馆的现代化管理也迅速地发展起来,也因此给我们的生活带来很多方便。

1.3开发图书馆管理系统的意义

当今时代是飞速发展的信息时代。

在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。

计算机的最大好处在于利用它能够进行信息管理。

使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。

尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。

计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。

本系统就是为了管理好图书馆信息而设计的。

图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,现今,有很多的图书馆都是初步开始使用,甚至尚未使用计算机进行信息管理。

根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于图书借阅情况(如借书天数、超过限定借书时间的天数)的统计和核实等往往采用对借书卡的人工检查进行,对借阅者的借阅权限、以及借阅天数等用人工计算、手抄进行。

数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。

总的来说,缺乏系统,规范的信息管理手段。

尽管有的图书馆有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,这就是管理信息系统的开发的基本环境。

数据处理手工操作,工作量大,出错率高,出错后不易更改。

图书馆采取手工方式对图书借阅情况进行人工管理,由于信息比较多,图书借阅信息的管理工作混乱而又复杂;一般借阅情况是记录在借书证上,图书的数目和内容记录在文件中,图书馆的工作人员和管理员也只是当时对它比较清楚,时间一长,如再要进行查询,就得在众多的资料中翻阅、查找了,造成查询费时、费力。

如要对很长时间以前的图书进行更改就更加困难了。

基于这此问题,我认为有必要建立一个图书管理系统,使图书管理工作规范化,系统化,程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况。

1.4本文研究路线

本系统将以课本和一些课外书籍为参考,按照毕业设计老师的作业要求,从系统开发背景→业务流程分析→数据流分析→功能模块设计→数据库设计→输入输出设计→系统部署一步步对系统进行分析和设计。

1.5系统开发基本目标

1.该系统开发的总体任务是实现新闻信息管理的系统化,规范化的自动化。

2.系统对永久记录的文件实现归档管理,支持高效率完成新闻信息管理的各项任务。

3.确定在一定的时间内能完成预定的程序功能是可行性分析报告的重点。

1.6系统开发设计思想

尽量采用学校现有的软硬件环境及先进的管理系统开发方案,从而达到充分利用学校现有的资源,提高系统开发水平和应用效果的目的。

系统采用模块化程序设计方法,既便于系统各子功能的组合和修改,又便于未参与开发的技术维护人员进行补充、维护。

系统应具备数据库维护功能,及时根据用户需求进行数据的添加,删除。

系统应符合学校对新闻的管理流程满足学校对新闻信息的管理需要,并达到操作过程中的直观,方便,实用,安全等要求。

2图书管理系统的基本原理

2.1认识JSP

JSP(JavaServerPages)是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。

JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。

用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。

2.1.1JSP技术的优势

为了快速方便地进行动态网站的开发,JSP在以下几个方面做了改进,使其成为快速建立跨平台的动态网站的首选方案。

1.将内容的生成和显示进行分离

用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面,并使用JSP标识或者小脚本来生成页面上的动态内容(内容是根据请求变化的,例如请求账户信息或者特定的一瓶酒的价格等)。

生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在脚本中,所有的脚本在服务器端运行。

由于核心逻辑被封装在标识和JavaBeans中,所以Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的生成。

在服务器端,JSP引擎解释JSP标识和脚本,生成所请求的内容(例如,通过访问JavaBeans组件,使用JDBC技术访问数据库或者包含文件),并且将结果以HTML(或者XML)页面的形式发送回浏览器。

这既有助于作者保护自己的代码,又能保证任何基于HTML的Web浏览器的完全可用性。

2.可重用组件

绝大多数JSP页面依赖于可重用的、跨平台的组件(JavaBeans或者EnterpriseJavaBeans组件)来执行应用程序所要求的复杂的处理。

开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者和客户团体所使用。

基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。

3.采用标识

Web页面开发人员不会都是熟悉脚本语言的编程人员。

JSP技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成所需要的。

标准的JSP标识能够访问和实例化JavaBeans组件,设置或者检索组件属性,下载Applet,以及执行用其他方法更难于编码和耗时的功能。

4.适应平台

几乎所有平台都支持Java,JSP+JavaBeans几乎可以在所有平台下通行无阻。

从一个平台移植到另外一个平台,JSP和JavaBeans甚至不用重新编译,因为Java字节码都是标准的与平台无关的。

5.数据库连接

Java中连接数据库的技术是JDBC,Java程序通过JDBC驱动程序与数据库相连,执行查询、提取数据等操作。

Sun公司还开发了JDBC-ODBCbridge,利用此技术Java程序可以访问带有ODBC驱动程序的数据库,目前大多数数据库系统都带有ODBC驱动程序,所以Java程序能访问诸如Oracle、Sybase、MSSQLServer和MSAccess等数据库。

此外,通过开发标识库,JSP技术可以进一步扩展。

第三方开发人员和其他人员可以为常用功能创建自己的标识库。

这使得Web页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来进行工作。

JSP技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧,并且能扩展到支持企业级的分布式应用中。

作为采用Java技术家族的一部分,以及Java2(企业版体系结构)的一个组成部分,JSP技术能够支持高度复杂的基于Web的应用。

由于JSP页面的内置脚本语言是基于Java的,而且所有的JSP页面都被编译成为JavaServlets,所以JSP页面具有Java技术的所有好处,包括健壮的存储管理和安全性。

作为Java平台的一部分,JSP拥有Java编程语言“一次编写,各处运行”的特点。

2.1.2JSP应用模型

利用JSP技术,动态信息由JSP页面来表现,JSP页面由安装在Web服务器或者使用JSP的应用服务器上的JSP引擎执行。

JSP引擎接受客户端对JSP页面的请求,并且生成JSP页面作为对客户端的响应。

  JSP页面通常被编译成为JavaServlets,这是一个标准的Java扩展。

页面开发人员能够访问全部的Java应用环境,以利用Java技术的扩展性和可移植性。

当JSP页面第一次被调用时,如果它还不存在,就会被编译成为一个JavaServlets类,并且存储在服务器的内存中。

这就使得在接下来的对该页面的调用中,服务器会有非常快的响应(这避免了CGI-BIN为每个HTTP请求生成一个新的进程的问题)。

  JSP页面可以包含在多种不同的应用体系结构或者模型中,可以用于由不同协议、组件和格式所组成的联合体中。

基于JSP的动态信息发布技术是一个开放的、可扩展的建立动态Web页面的标准。

不论采用什么创建工具,开发人员都可以使用JSP页面来创建可移植的Web应用,在不同的Web应用服务器上运行。

2.1.3JSP与ASP的比较

JSP(JavaServerPage)与ASP(ActiveServerPage)两者都是常用的动态网页技术,也都是可以嵌入HTML中的程序,但两者是有着本质的不同,主要从以下几个方面对其进行比较:

  1.Web服务器的支持:

大多数通用的Web服务器如:

Apache、Netscape和MicrosoftIIS都支持JSP页面,只有微软本身的MicrosoftIIS和PersonalWebServer可以支持ASP。

  2.平台的支持:

JSP具有平台独立性,只要是一般的Java程序可以运行的平台,都支持JSP程序。

Windows平台可以很好的支持ASP,但ASP对于基于Win32逐渐模型的依赖,使得它难于移植到其它平台上。

  3.组件模型:

JSP是建立在可重用的、跨平台的组件(如:

JavaBeans、EnterprisesJavaBeans和用户定制的标签库等组件)之上的,而ASP使用的是基于Win32的COM组件模型。

  4.脚本语言:

JSP可以使用Java编程语言或JavaScript作为脚本语言,而ASP使用VBScript或Jscript作为脚本语言。

  5.安全性:

JSP使用Java安全模型,而ASP使用WindowsNT的安全结构。

  6.与Access数据库的连接:

JSP使用JDBC建立与Access数据库的连接,而ASP对Access数据库使用DataActiveObjects。

7.用户定制的标签:

JSP可以使用用户定制标签库进行扩充,而ASP中没有用户定制标签库,ASP是不能扩充的。

2.2Struts与Hibernate简介

2.2.1Struts简介

Struts最早是作为ApacheJakarta项目的组成部分,项目的创立者希望通过对该项目的研究,改进和提高JavaServerPages、Servlet、标签库以及面向对象的技术水准。

Struts这个名字来源于在建筑和旧式飞机中使用的支持金属架。

这个框架之所以叫"Struts",是为了提醒我们记住那些支撑我们房屋,建筑,桥梁,甚至我们踩高跷时候的基础支撑。

这也是一个解释Struts在开发Web应用程序中所扮演的角色的精彩描述。

当建立一个物理建筑时,建筑工程师使用支柱为建筑的每一层提供支持。

同样,软件工程师使用Struts为业务应用的每一层提供支持。

它的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间。

我们仍然需要学习和应用该架构,不过它将可以完成其中一些繁重的工作。

如果想混合使用Servlets和JSP的优点来建立可扩展的应用,Struts是一个不错的选择。

Struts是Apache基金会Jakarta项目组的一个OpenSource项目,它采用MVC模式,能够很好地帮助java开发者利用J2EE开发Web应用。

和其他的java架构一样,Struts也是面向对象设计,将MVC模式"分离显示逻辑和业务逻辑"的能力发挥得淋漓尽致。

Structs框架的核心是一个弹性的控制层,基于如JavaServlets,JavaBeans,ResourceBundles与XML等标准技术,以及JakartaCommons的一些类库。

Struts有一组相互协作的类(组件)、Servlet以及jsptaglib组成。

基于struts构架的web应用程序基本上符合JSPModel2的设计标准,可以说是一个传统MVC设计模式的一种变化类型。

Struts的目的是为了减少在运用MVC设计模型来开发Web应用的时间。

你仍然需要学习和应用该架构,不过它将可以完成其中一些繁重的工作。

Struts跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点,使开发者能更深入的了解其内部实现机制。

除此之外,Struts的优点主要集中体现在两个方面:

Taglib和页面导航。

Taglib是Struts的标记库,灵活运用,能大大提高开发效率。

另外,就目前国内的JSP开发者而言,除了使用JSP自带的常用标记外,很少开发自己的标记,或许Struts是一个很好的起点。

MVC即Model-View-Controller的缩写,是一种常用的设计模式。

MVC减弱了业务逻辑接口和数据接口之间的耦合,以及让视图层更富于变化。

Struts是MVC的一种实现,它将Servlet和JSP标记(属于J2EE规范)用作实现的一部分。

Struts继承了MVC的各项特性,并根据J2EE的特点,做了相应的变化与扩展。

2.2.2Hibernate简介:

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。

Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。

Hibernate中提供了两级Cache,第一级别的缓存是Session级别的缓存,它是属于事务范围的缓存。

这一级别的缓存由hibernate管理的,一般情况下无需进行干预;第二级别的缓存是SessionFactory级别的缓存,它是属于进程范围或群集范围的缓存。

这一级别的缓存可以进行配置和更改,并且可以动态加载和卸载。

Hibernate还为查询结果提供了一个查询缓存,它依赖于第二级缓存。

Hibernate对象关系映射提供延迟的与非延迟的对象初始化。

非延迟加载在读取一个对象的时候会将与这个对象所有相关的其他对象一起读取出来。

这有时会导致成百的(如果不是成千的话)select语句在读取对象的时候执行。

这个问题有时出现在使用双向关系的时候,经常会导致整个数据库都在初始化的阶段被读出来了。

当然,你可以不厌其烦地检查每一个对象与其他对象的关系,并把那些最昂贵的删除,但是到最后,我们可能会因此失去了本想在ORM工具中获得的便利。

一个明显的解决方法是使用Hibernate提供的延迟加载机制。

这种初始化策略只在一个对象调用它的一对多或多对多关系时才将关系对象读取出来。

这个过程对开发者来说是透明的,而且只进行了很少的数据库操作请求,因此会得到比较明显的性能提升。

这项技术的一个缺陷是延迟加载技术要求一个Hibernate会话要在对象使用的时候一直开着。

这会成为通过使用DAO模式将持久层抽象出来时的一个主要问题。

为了将持久化机制完全地抽象出来,所有的数据库逻辑,包括打开或关闭会话,都不能在应用层出现。

最常见的是,一些实现了简单接口的DAO实现类将数据库逻辑完全封装起来了。

一种快速但是笨拙的解决方法是放弃DAO模式,将数据库连接逻辑加到应用层中来。

这可能对一些小的应用程序有效,但是在大的系统中,这是一个严重的设计缺陷,妨碍了系统的可扩展性。

2.3MySQL简介

2.3.1MYSQL概述

MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司,在2008年1月16号被Sun公司收购。

MySQL被广泛地应用在Internet上的中小型网站中。

由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。

MySQL最初的开发者的意图是用mSQL和他们自己的快速低级例程(ISAM)去连接表格。

不管怎样,在经过一些测试后,开发者得出结论:

mSQL并没有他们需要的那么快和灵活。

这导致了一个使用几乎和mSQL一样的API接口的用于他们的数据库的新的SQL接口的产生,这样,这个API被设计成允许为用于mSQL而写的第三方代码更容易移植到MySQL。

2.3.2MySQL特性

1.使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性

2.支持AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多种操作系统

3.为多种编程语言提供了API。

这些编程语言包括C、C++、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等。

4.支持多线程,充分利用CPU资源

5.优化的SQL查询算法,有效地提高查询速度

6.既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名

7.提供TCP/IP、ODBC和JDBC等多种数据库连接途径

8.提供用于管理、检查、优化数据库操作的管理工具

9.可以处理拥有上千万条记录的大型数据库

2.4B/S简介

B/S结构(Browser/Server结构)结构即浏览器和服务器结构。

它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。

在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。

这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。

以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。

它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN,WAN,Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。

B/

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1