毕业设计(论文)-基于JSP的图书管理系统设计.doc

上传人:来看看 文档编号:3299002 上传时间:2019-08-08 格式:DOC 页数:45 大小:1.82MB
返回 下载 相关 举报
毕业设计(论文)-基于JSP的图书管理系统设计.doc_第1页
第1页 / 共45页
毕业设计(论文)-基于JSP的图书管理系统设计.doc_第2页
第2页 / 共45页
毕业设计(论文)-基于JSP的图书管理系统设计.doc_第3页
第3页 / 共45页
毕业设计(论文)-基于JSP的图书管理系统设计.doc_第4页
第4页 / 共45页
毕业设计(论文)-基于JSP的图书管理系统设计.doc_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《毕业设计(论文)-基于JSP的图书管理系统设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)-基于JSP的图书管理系统设计.doc(45页珍藏版)》请在三一文库上搜索。

1、第1章 绪论1.1 选题意义在现代社会,信息化技术不断提高,各行各业都向信息化发展。图书馆也随之进入信息化阶段,利用信息科学技术进行科学管理,改变运行模式,而且使之各高校的图书馆也向数字化发展。图书馆管理系统开发主要包括了管理员对服务器端强大的数据管理的服务平台以及服务器端强大的数据库。客户端要求功能齐全,满足客户的需要,能体现出图书馆风格;对于管理员的数据管理平台,要求数据管理功能齐全,界面友好并易于使用的平台;对于服务器端的数据库,要求建立起一个数据一致性和完整性强,数据安全性好,保密功能强大,并适用于图书馆的管理系统。1.2 系统概况1.2.1 系统的开发背景在现代社会,信息化技术不断提

2、高,各行各业都向信息化发展。图书馆行业也随之进入信息化阶段,利用信息科学技术进行科学管理,改变运行模式,而且使之各高校的图书馆也向数字化发展。图书馆管理系统的开发主要包括了管理员对服务器端强大的数据管理的服务平台以及服务器端强大的数据库。服务端要求功能齐全,满足需要,系统的风格能体验出图书馆风格,让浏览者浏览舒适;对于管理员的数据管理平台,要求数据管理功能齐全,界面友好并易于使用的平台;对于服务器端的数据库,要求建立起一个数据一致性和完整性强,数据安全性好,保密功能强大,并适用于图书馆管理系统的数据库。通过上述的分析,构建好网站的客户端平台、数据管理平台以及数据库将会是本次毕业设计的主要工作。

3、我们使用JSP对网站进行页面外观设计,使用JSP对网站进行设计,用MySQLServer5.0网络型数据库作为后台服务器并在其中架设本系统的数据库。首先对图书馆进行需求分析,确立了系统的功能,建立起原型,然后对初建立的原型进行系统分析,再建立数据库原型,然后不断设计、修正和改进,完善数据库结构,直到成形,浏览舒适、方便,能满足需求,形成友好界面,操作直观、方便的数据库管理平台。根据图书馆的特点而设计的,能让图书馆管理员方便管理图书馆资源,提高管理人员的工作量,以达到科学化、标准化的管理。1.2.2 应用技术1.Java Web技术Java Web应用的核心技术是JSP和Servlet。此外,开

4、发一个完整的Java Web应用还涉及以下的概念:JavaBean组件,EJB组件,自定义JSP标签,XML,Web服务器和应用服务器。(1) JSP在传统的HTML文件中加入Java程序片段和JSP标签,就构成了JSP网页。Java程序片段可以操纵数据库、重新定向网页以及发送E-mail等,实现建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给用户端的仅为输出结果。JSP技术大大降低了对用户浏览器的要求,即使用户浏览器端不支持Java,也可以访问JSP网页。当JSP容器接收到Web用户的一个JSP文件请求时,它对JSP文件进行语法分析产生并生成JavaServlet源文件,

5、然后对其编译。一般情况下,Servlet源文件的生成和编译仅在初次调用JSP时发生。如果原始的JSP文件被更新,JSP容器将检测所做的更新,在执行之前重新生成Servlet并进行编译。图1-1显示了JSP容器初次执行JSP的过程:图1-1 JSP容器初次执行JSP的过程(2) ServletServlet在Web应用中担任重要角色。Servlet运行与Servlet运行于Servlet容器中,可以被Servelt容器动态加载,来扩展服务器的功能,并提供特定的服务。Servlet按照请求/响应的方式工作。在Struts框架中,控制器组件就是由Servlet来构成的。当用户请求访问某个Servle

6、t时,Servlet容器将创建一个ServletRequest对象和ServletResponse对象。在ServletResponse对象中封装了用户请求信息,然后Servlet容器把ServletRequest对象和ServletResponse对象传给用户所请求的Servlet。Servlet把响应结果写到ServletResponse中,然后由Servlet容器把相应结果传给用户。图1-2显示了Servlet容器响应用户请求的过程。图1-2 Servlet容器响应用户请求的过程在JavaServlet API中有以下几个比较重要的类,它们决定了Web应用的请求/响应方式及各种共享数据的

7、存放地点:HttpServletRequest、HttpServletResponse、HttpSession、ServletContext。2.Java语言Java是一个更简单的面向对象(Object-Oriented)程序语言,具有更高的跨平台可能性。Java是一个支持面向对象观点的程序语言,在使用上比C+更为简单。它限制或简化了C+语言在开发程序时的一些功能,最然牺牲了某系存取或弹性,但让开发人员避免开发软件时可能发生的错误,并让程序语言本身的使用上更为方便,而用Java所编写出来的程序在不同的平台间具有更高的可移植性。对于“一次编写,处处运行”这样的梦想Java提供了更高的可能性。3.

8、My SQL 数据库1.3 系统特征1.3.1 采用Web技术的操作界面本平台利用现在比较广泛的JSP+MYSQL数据库的架构实现的,此系统采用了友好的操作界面,供管理员使用。包括:系统设置、读者管理、图书管理、图书借还、系统查询等功能。使管理员从繁琐的手工操作中解脱出来,并提高了办公效率。1.3.2基于B/S的体系结构在B/S体系结构系统中,用户通过浏览器向分布在网络上的许多服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。B/S结构简化了客户机的工作,客户机上只需配置少量的客户端软件。服务器将担负更多的工作,对数据库的访问和应用程序的执行将在服务器上完成。浏览器发出

9、请求,而其余如数据请求、加工、结果返回以及动态网页生成等工作全部由Web Server完成。实际上B/S体系结构是把二层C/S结构的事务处理逻辑模块从客户机的任务中分离出来,由Web服务器单独组成一层来负担其任务,这样客户机的压力减轻了,把负荷分配给了Web服务器。这种三层体系结构如图2-2所示。图1-3 B/S三层架构1.3.3 基于MVC的应用开发模式在传统的基于Web的应用系统中,例如ASP,CGI等,通常开发者将业务逻辑,数据逻辑、展示逻辑等混杂在一起,在同一个界面面里既进行后台数据库的访问和操作,同时还包含业务流程和页面表示。这样编写出来的程序,既不利于程序员对业务代码的调试,同时也

10、不利于编辑人员进行交互页面的设计。同时系统也不具备可扩展性,当我们要在现有业务上进行扩展的时候,通常无法借助于现有的资源和应用,而只能够重新编写,大大增加了投资,延长了系统上线的时间,失去了竞争市场的优势。在本网上购物系统中,将采用通行的MVC模式来构建应用。这种结构解决了前面所述的所有问题,在我们的应用集成网络中,通过企业级高端J2EE应用服务器实现MVC开发模型。MVC的逻辑图如下:图1-4应用服务器之上采用MVC开发的逻辑示意图Control服务控制View显示方式Model业务逻辑模型输入请求输出Html其他图1-5 MVC流程示意图通过这种方案,我们可以迅速地实现整个业务,其优势和特

11、点如下:Model(模型)层:代表应用程序的数据以及用于访问控制和修改这些数据的业务规则。当模型发生改变时,它回同时视图,并为视图提供查询模型相关状态的能力。同时,它也为控制器提供访问封装在模型内部的应用程序功能的能力。View(视图)层:由JSP、HTML组成。这一层次的特点是能够真实地展示和客户交互的界面,具备可描绘的功能。同时能够嵌套动态数据,可以进行动态页面的展示。同时可以方便地进行客户端的个性化定制。根据每个客户的需求来展示不同风格的界面。Controller(控制器)层:是非常重要的一层,这一层是连接View和Model的纽带,同时也是将这两层进行最大限度分离的工具。通常由Serv

12、let来实现,Servlet和JSP虽然同样都属于页面展示工具,但分属两层。主要在于JSP以脚本语言的形式存在, 它的主要优势是进行动态数据的Web展示,而Servlet是一个完整的Java程序,进行业务的调用和流程的处理是它的长处。通过这种模型的建立,我们的应用系统具备了非常好的性能和可扩展性。将业务组件和展示页面进行分离,并通过Controller来描述调用关系,一方面可以提高效率,另一方面也可以增加系统扩充的能力,使我们的系统可以进行最快速度的业务扩展,以满足不同用户、不同阶段、各种各样的业务需求。1.4本文所做的主要工作绪论部分对系统的结构、开发以及所用到的相关技术进行了简要介绍,分析

13、了图书馆管理系统设计的特点和任务。第二章介绍了为了开发本系统所用到的开发工具,包括了MyECLIPSE 7.0 MySQL 5.0 和Tomcat 6.0。详细介绍了这几种工具的背景以及功能。第三章分析了图书馆管理系统的应用需求,设计了系统的数据库结构,并根据需求对系统功能进行了划分和细化。第四章设计了本系统的数据库。第五章利用MyECLIPSE 7.0进行了具体的应用程序设计。总结部分介绍了设计体会和编程体会,并指出了系统设计中的不足和改进的方向。第2章 应用系统开发工具2.1 MyECLIPSE 7.02.1.1 Eclipse的简介Eclipse是一个非常优秀的集成开发环境,IBM已经花

14、了多年的时间开发基于Java的公开源代码软件Eclipse,并在其中投资了4000万美元。这个在IBM支持下的开放源代码项目已经为广大Java开发者所熟悉。Eclipse的出现,为Java开发者提供了免费使用强大的JavaIDE的机会,通过集成大量的插件,Eclipse的功能可以不断扩展,以支持各种不同的应用。Eclipse软件可以用于管理多种开发任务,包括测试、性能调整及程序调试等,而且还可以集成来自多个供货商的第三方应用程序开发工具。此外,Eclipse软件非常适合开发电子商务应用程序,例如IBM公司自己的面向Web服务的WebSphse应用程序开发工具就是建立在Eclipse基础之上。除

15、此之外,Eclipse平台时一个成熟的、精心设计的及可扩展的体系结构。Eclipse的价值还在与它为创建可扩展的集成开发环境提供了一个开放源代码平台。这个平台允许任何人构建与环境和其他工具无缝集成的工具,而工具与Eclipse无缝集成的关键便是插件。2.1.2 Eclipse的下载及安装使用Eclipse,必须先安装JDK。如果已经安装了JDK,那就可以直接安装Eclipse。安装JDK可选择的SUN的或IBM的都可以,应该安装1.3以上版本,推荐使用1.4以上版本,应为只有使用1.4以上版本的JDK才可以享受到新增的功能给测试带来的方便。Eclipse是个免费的软件,到Eclipse的官方网

16、站可以得到它。其中包括了开发Java应用的所有内容和Eclipse项目的所有成果。2.2 MySQL 5.02.2.1 MySQL的概念及体系结构MySQL是最流行的开放源码SQL数据库管理系统,MySQL软件是一种开放源码软件,具有快速及可靠和易于使用的特点。MySQL数据库软件还是一种客户端/服务器系统,由支持不同后端的1个多线程SQL服务器,数种不同的客户端程序和库,众多管理工具和广泛的应用编程接口API组成。有大量的共享MySQL软件。图2-1 MySQL的体系结构2.2.2 MySQL的发展MySQL最早起始于1979年,开始是Micheal “Monty” Widenius为瑞典的

17、TcX公司创建的UNIREG数据库工具。1996年5月MySQL 1.0出品。到2008年1月16日SUN公司出价10亿美元收购了MySQL。MySQL的当前版本是MySQL 5.0.67 。MySQL在全球范围内有很多著名的用户,其中包括GOOGLE,雅虎财经网站的数据库以及在国内非常出名的腾讯QQ。2.2.3 MySQL的下载、安装及配置首先,要到MySQL的官方网站去下载安装程序,地址是:http:/ MySQL的下载然后是安装和配置,根据软件的提示就可以实现安装,在安装过程中根据个人需要选择语言和各服务悬想便可以了。下面用图片展示安装和配置的过程:图2-3 MySQL的安装图2-4 M

18、ySQL的安装图2-5 MySQL的配置2.3 Tomcat 6.0直接运行下载的apache-tomcat-6.0.18.rar.exe文件,按照一般的Windows程序安装步骤即可安装好Tomcat,安装时它会自动寻找JDK的位置。安装过程中需要选择一个文件夹作为Tomcat的安装目录。具体如下图所示:图2-6 服务器的安装图2-7 服务器的安装安装完成以后,添加一个Tomcat的环境变量,添加方法和JDK的环境变量的添加方法相同,设置变量名为TOMCAT_HOME,变量值为D:Program FilesApache Software FoundationTomcat 6.0。设置完毕后就

19、可以运行Tomcat服务器了。Tomcat成功启动后,在浏览器中输入http:/localhost:8080/,如果出现欢迎界面,则说明Tomcat安装成功.图2-8 服务器的配置第3章 需求分析3.1应用需求分析图书馆管理系统的需求具体体现在图书的借阅、归还以及对读者和图书信息的添加、修改和删除等操作。这就要求系统整体的层次清晰,功能完备、合理,操作界面要简洁明了,易于操作;系统对于各个主要功能要有所划分,让图书馆的管理人员的工作分工明确,提高工作效率。根据以上的需求分析,我们得到以下的图3-1系统的功能图图3-1系统的功能图3.2功能模块划分3.2.1 系统设置图书馆的系统设置是一个独立的

20、管理权限,它应该只能由高级管理员可以修改,包括以下几个个方面的内容:1图书馆信息设置2参数设置3管理员设置4. 书架设置3.2.2 读者管理这一功能模块需要对图书馆的所有读者进行管理,它可以分为读者类型管理和读者信息管理两个部分,每一部分都具有添加、修改和删除的具体功能3.2.3 图书管理这个模块需要对图书馆的所有图书进行管理,它又分为两个子模块:图书类型管理模块和图书信息管理模块,每一子模块都具有添加、删除和修改的功能。3.2.4 图书借还这个模块是整个图书馆管理系统的核心功能模块,需要完成对图书的借阅和归还的功能。1. 借阅流程这个流程的分析入下图所示:图3-2 借书流程图2.归还流程这个

21、流程的分析入下图所示:图3-3 还书流程图3.2.5 系统查询在这个模块中应该实现图书信息查询、图书借阅查询等几个子模块的功能。1.图书信息查询这一子模块应该具备多种查询条件下的查询,例如按书名、类型、出版社、编码等条件都可以完成查询,满足不同查询的需要。2.图书借阅查询这一子模块要满足对已借出的图书的信息的查询,包括查看都有哪些图书被借出,又是被哪些读者借走的,方便管理员的管理。第4章 数据库设计4.1 数据库分析信息的数量越来越大,数据库的作用越发突出,所以数据库的建立是系统施实的主要部分之一,它关系到整个系统的运行情况,是整个系统的重要组成部分。本系统使用MySQL5.0作为应用程序的数

22、据库。考虑到系统的实际需求,系统至少需要9张数据库表,具体为:管理员表、图书表、书架表、图书类型表、读者表、读者类型表、图书证表、借书表、还书表。4.2 数据库的实现1.E-R功能图的实现根据上面的分析画出个表的E-R图。图如下:图 4-1 数据库E-R功能图2.SQL语句的实现创建数据库名为db_librarySysCREATE DATABASE db_librarySys(1)创建书架表CREATE TABLE IF NOT EXISTS tb_bookcase ( id int(10) unsigned NOT NULL auto_increment, name varchar(30)

23、default NULL, Column_3 char(10) default NULL, PRIMARY KEY (id) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;(2)创建图书表CREATE TABLE IF NOT EXISTS tb_bookinfo ( barcode varchar(30) default NULL, bookname varchar(70) default NULL, typeid int(10) unsigned default NULL, author varchar(30) default

24、 NULL, translator varchar(30) default NULL, ISBN varchar(20) default NULL, price float(8,2) default NULL, page int(10) unsigned default NULL, bookcase int(10) unsigned default NULL, inTime date default NULL, operator varchar(30) default NULL, del tinyint(1) default 0, id int(11) NOT NULL auto_increm

25、ent, PRIMARY KEY (id) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=7 ;(3)创建图书类型表CREATE TABLE IF NOT EXISTS tb_booktype ( id int(10) unsigned NOT NULL auto_increment, typename varchar(30) default NULL, days int(10) unsigned default NULL, PRIMARY KEY (id) ENGINE=MyISAM DEFAULT CHARSET=latin1 AU

26、TO_INCREMENT=4 ;(4)创建借书表CREATE TABLE IF NOT EXISTS tb_borrow ( id int(10) unsigned NOT NULL auto_increment, readerid int(10) unsigned default NULL, bookid int(10) default NULL, borrowTime date default NULL, backTime date default NULL, operator varchar(30) default NULL, ifback tinyint(1) default 0, P

27、RIMARY KEY (id) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=7 ;(5)创建还书表CREATE TABLE IF NOT EXISTS tb_giveback ( id int(10) unsigned NOT NULL auto_increment, readerid int(11) default NULL, bookid int(11) default NULL, backTime date default NULL, operator varchar(30) default NULL, PRIMARY KEY

28、(id) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;(6)创建管理员表CREATE TABLE IF NOT EXISTS tb_manager ( id int(10) unsigned NOT NULL auto_increment, name varchar(30) default NULL, PWD varchar(30) default NULL, PRIMARY KEY (id) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;(7)创建图书证参数表CR

29、EATE TABLE IF NOT EXISTS tb_parameter ( id int(10) unsigned NOT NULL auto_increment, cost int(10) unsigned default NULL, validity int(10) unsigned default NULL, PRIMARY KEY (id) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;(8)创建读者表CREATE TABLE IF NOT EXISTS tb_reader ( id int(10) unsigned

30、NOT NULL auto_increment, name varchar(20) default NULL, sex varchar(4) default NULL, barcode varchar(30) default NULL, vocation varchar(50) default NULL, birthday date default NULL, paperType varchar(10) default NULL, paperNO varchar(20) default NULL, tel varchar(20) default NULL, email varchar(100)

31、 default NULL, createDate date default NULL, operator varchar(30) default NULL, remark text, typeid int(11) default NULL, PRIMARY KEY (id) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;(9)创建读者类型表CREATE TABLE IF NOT EXISTS tb_readertype ( id int(10) unsigned NOT NULL auto_increment, name var

32、char(50) default NULL, number int(4) default NULL, PRIMARY KEY (id) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;3.创建数据库根据E-R功能图和SQL语句完成系统所需要的数据库图 4-2 数据库的图形界面4.3数据库中主要表的介绍1. 图书信息表此表主要是存放图书的基本信息,字段包括:标识、编号、书名、类型、作者、译者、ISBN、价格、页数、所属书架、入馆时间、操作员。数据结构如下表:字段名数据类型数据长度标识int11编号Varchar30书名Varchar7

33、0类型Varchar30作者Varchar30译者Varchar30ISBNInt10价格Foalt8,2页数Varchar10所属书架Int10操作员Varchar30表4-1 图书信息表2. 读者信息表这张表是存放读者的基本信息,字段包括:标识、姓名、性别、编码、类型、职业、生日、证件类型、证件号、电话、邮箱、日期、操作员。数据结构如下表:字段名数据类型数据长度标识Int11姓名Varchar30性别Varchar10编码Varchar30类型Int11职业Varchar40生日Date证件类型Varchar10证件号Varchar30电话Varchar20邮箱Varchar50日期Dat

34、e表 4-2 读者信息表3. 借书表此表存放的是借出的所有图书信息,字段包括:标识、读者标识、图书标识、借书时间、归还时间、操作员、是否归还。字段名数据类型数据长度标识Int11读者标识Int11图书标识Int11借书时间Date归还时间Date操作员Varchar30表 4-3 借书表4. 还书表词表存放的是还书的信息,字段包括:标识、读者标识、图书标识、归还时间、操作员。字段名数据类型数据长度标识Int11读者标识Int11图书标识Int11归还时间Date操作员Varchar30表 4-4 还书表第5章 程序设计5.1 系统模块组成系统模块组成如下图所示:图书馆管理系统系统设置读者管理图

35、书借阅系统查询口令修改退出系统图书管理图书馆信息管理员设置参数设置书架设置类型管理档案管理类型管理档案管理图书借阅图书续借图书归还档案查询借阅查询修改退出图 5-1 系统功能模块图5.2 登陆窗口的实现整个系统的初始程序就是登陆界面,好的登陆界面给人的感觉应该简单,友好,这是软件设计的基本要求。为此设计如下图5-2所示的登陆界面。图 5-2 登陆界面在这里系统执行的是login.jsp页面,页面提示需要输入管理员名称和密码,然后点击确定执行登陆。登陆页面的代码是:               管理员名称:     管理员密码:               5.3 登录密码的认证在登陆界面中,主要处理的是判断当前管理员输入的信息是否正确。如果不正确则弹出失败页面,下面是登陆失败的页面:图5-3 登陆失败页面如果

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

当前位置:首页 > 研究报告 > 信息产业


经营许可证编号:宁ICP备18001539号-1