基于BS模式的学校图书管理系统设计与实现.doc

上传人:xin****828 文档编号:6722531 上传时间:2020-03-02 格式:DOC 页数:41 大小:794KB
返回 下载 相关 举报
基于BS模式的学校图书管理系统设计与实现.doc_第1页
第1页 / 共41页
基于BS模式的学校图书管理系统设计与实现.doc_第2页
第2页 / 共41页
基于BS模式的学校图书管理系统设计与实现.doc_第3页
第3页 / 共41页
点击查看更多>>
资源描述
学 号2012020486分类号本科生毕业论文(设计)题目: 基于B/S模式的学校图书管理系统设计与实现 院 (系) 电子与信息工程学院专 业 数字媒体技术 班 级 2012级1班学 生 姓 名 XXX 指导教师(职称) xxx 提 交 时 间 二一六年五月 基于B/S模式的学校图书管理系统设计与实现作者 吕凯轩(安康学院电子与信息工程学院,陕西安康,725000)摘 要21世纪属于互联网时代,网络日益发达,校园系统也慢慢开始朝互联网靠拢,本次论文的选题的立意在于如何将图书管理系统趋近去网络模式的建立。本次的图书管理系统采用MySQL+MyEclipse的开发环境进行开发。基于b/s模式进行开发图书管理系统,首先实现前台页面的开发,之后进行后台数据库的开发,前台页面包括登陆页面,管理员页面,超级管理员页面,以及一些调整页面,后台数据库开发,进行了数据库表格设计,图书馆内部数据添加,完成了浏览借阅、书籍排行版等功能,更好的加入了可视化元素让学生的借阅更快捷,通过图书管理系统开发使整个图书馆内部能够减少图书管理人员的数量,让图书馆变得更加轻松。关键词 图书管理系统;b/s模式 ;网络Design and Implementation of School Library Management System based on B/S ModeLv Kaixuan(ankang college of electronic and information engineering college, shaanxi ankang, 725000)Abstract Pick to the 21st century belongs to the age of the Internet, the network increasingly developed, the campus system also slowly began to gravitated toward the Internet, this paper expatiates the conception is how the books management system management system approach to the establishment of the network model.The books management system management system using MySQL + MyEclipse development environment for development. Based on b/s pattern development books management system management system, first of all, realize the development of the front desk page, after the development of the background database, the front desk page including the landing page, the administrator page, super admin page, and some adjustment page, background database development, database table design, librarys internal data to add, completed the browse library, such as book ranking function, better joined the visual elements allow students to borrow more quickly, through the whole library books management system management system development inside can reduce the number of librarians, make the library more easily.Key Words Books Management System;B/s mode;network目 录第一章 绪论11.1 课题研究的背景和意义11.1.1 课题研究的背景11.1.2 课题研究的意义21.2 图书管理系统的现状31.3 本文工作及内容安排4第二章 相关技术52.1 B/S模式的定义:52.2 B/S模式的发展历史及前景52.3 JSP+MySQL+tomcat开发模式简介62.4 开发环境简介72.4.1 JSP简介72.4.2 MySQL简介82.4.3 tomcat简介8第三章 需求分析93.1 学生使用分析93.2 管理员职能分析93.3 学生借阅分析93.4 学生借书验证分析103.5 图书归还分析113.6 学生查询信息分析113.7 高级权限管理员操作分析12第四章 系统实现134.1 系统E-R图134.2 系统功能与结构134.3 图书管理系统业务流程图154.4 系统数据库设计164.4.1 数据库图表设计64.4.2 数据库链接设计64.5 系统前台设计234.6 系统权限设置24第五章 系统实现275.1 系统部分实现截图275.2 系统测试方法简介275.3 系统测试方法27 5.3.1恢复性测试28 5.3.2安全性测试29 5.3.3强度性测试30 5.3.4性能性测试30第六章 总结与展望:31参考文献:32致谢:33第一章 绪论1.1 课题研究的背景和意义本次课题研究是为了减轻图书管理人员的工作量,提高图书管理系工作效率,更加便捷管理图书系统的同时可以让学生网上可视化的借书和查找书籍。1.1.1 课题研究的背景传统图书管理系统是以人工为主要工作方式,传统的借阅模式是:学生进入学校图书馆对书籍进行查找后将书籍带至图书馆前台,由老师登记后借走,这还是比较顺利的时候,如果我们不知道我希望查找的书籍类型的时候,如果遇见这样的问题,浪费的实践就是大笔大笔的,还可能找不到我们所需要的东西,白白的浪费时间。这种图书管理系统的缺点有浪费时间,效率低下,容易出错,手续繁琐,工作量大的缺点。随着信息时代的到来,计算机帮助我们很好的解决了其中的大多数问题。B/S结构最大的优点随时随地在不同的区域进行操作而不用安装任何专门的软件。可以让更多不会使用软件的人接受,学生只要拥有一台能够上网的电脑就能使用,不需要下载任何客户端和辅助设备,简单方便,客户端零维护。系统能够具有很好的扩展性,只需要你具备一台可以上网的电脑,再让你想要登陆的系统管理员为用户分配一个用户名与其相对的密码,就可以使用了,学生只需要根据自己的用户名就可以进行借书。系统提供强大的认证系统,提供了最大的安全性能。B/S架构在图形的系统的变现能力上面和使用的时候的速度上弱于CS架构。还有一个非常致命弱点,就是系统必须运行在浏览器上面受到环境的影响较大。由于B/S架构必须运行在浏览器上面,而浏览器的版本繁多,导致对于网页的兼容性具有十分巨大影响,尤其是在CSS布局,JAVASCRIPT脚本执行等方面,会有很大影响。虽然有这么多的缺点但是现在浏览器核心大多都是采用微软的ie核心,虽然名字不相同但是核心几乎都是差不多的,很大程度上面减少了上面缺点所导致的问题,也使B/S模式得到了巨大的应用。综上B/S模式还是具有很大的应用性能的,在校园内部环境中,大多数人都是采用windows操作系统,ie浏览器的地方,基于B/S模式的管理系统能够得到性能的最大化发挥。11.1.2 课题研究的意义图书馆管理系统是我国高等院校必不可缺的一部分,知识的来源途径最主要是书籍,尤其对一些学校来说,图书馆是非常重要。图书管理包括的是对书籍及已注册学生用户的管理,包含很多的信息数据的管理。很早以前的图书馆以人工抄录的形式记录此类信息,对于图书借阅情况的统计和核实等往往采用对借书卡的人工检查进行,人工数据长时间无法保存容易丢失。总的来说,缺乏规范的信息管理手段。虽然图书馆已具备电脑但是并没有发挥它的效益,可以利用它们为主机搭建一套数据库。基于这个问题,高校需要建立一个高效的图书管理系统来改善现状,避免图书管理的人工保存,提高信息的速率和可保存性。使广大受众更方便的借阅书籍,使学校更规范的管理图书。图书管理系统需要管理员的的工作量很大,为了减少管理员的工作量和更好的适应当前的借阅要求,需要一种基于B/S模式的的图书管理系统。通过一个新的图书管理系统,使用一个公共的数据库。用户通过网络就可以查找需要的信息以及完成续借功能,提供一套可视化的借阅系统,更方便快捷的解决图书和管理。使图书管理简单化,让非专业的人士通过系统的学习便可以执行管理操作,同时可以让学生有一个可视化的图书馆,更方便学生借阅书籍。通过图书管理系统的设计并应用到实际中,可以减轻工作人员的压力,提升学生的借阅。对图书馆里的图书进行更加高效的管理。图书管理系统是针对本学院学院师生借阅图书的需求设计和实现的。图书管理系统前台设计主要完成的是图书的增,删,改,查。学生的增,删,改,查。借出,还书日期等功能。首先对教师图书管理模块进行了详尽的需求分析,经分析得到学生图书管理模块主要完成如下的功能:登录、个人借阅信息查询、图书浏览、书籍排行。之后根据需求提出了学生图书管理模块的总体设计方案,可据此进行了详细设计和编码实现。1.2 图书管理系统的现状我国图书馆自动化系统的发展起步较晚,从70年代中期开始经历了如下几个阶段:发展初期阶段、单向业务系统阶段和集成系统阶段。从70年代我国启动研究图书馆的自动化技术,从80年代中期开始,进入了单项业务系统阶段,在此阶段图书馆的自动化工作进展最为迅速,主要以单业务为主且有大部分只能处理西文图书与期刊相关信息。随着计算机价格的下降和中文系统平台的开发成功,图书馆管理进入了集成系统的开发阶段。进入90年代以来,随着网络的迅速发展,我国网络也日渐成熟,能够实现多媒体以及高速网络,各类专业广域网也纷纷建成并投入使用,如教育科研网CERNET主干网。计算机网络的全球性互连性发展对图书馆系统自动化产生了革命性的的影响,因此在90年代中期,我国图书馆自动化系统的研发出现了一个高潮时期,在当时推出了目前在国内较有影响的数个大型自动化系统,如南京汇文、北邮MELINETS等,并提出了“第三代图书馆自动化系统”的概念。进入21世纪,图书的实体性已经越来越受到制约,随着实体书的减少,可以进入移动网络时代,学生可以不用在图书馆就可以查阅到自己想要的书籍,大大的方便了学生,而且或许学校图书馆或许只需要一个人加载新的图书就可以了,可以实现无人化管理,大大的节约了成本。希望这样的时代速速到来吧。2 1.3 本文工作及内容安排前期准备工作,收集图书管理系统的相关知识搭设系统架构,完成开题报告。前后台页面的网面设计。配置主机电脑搭建服务器,数据库初步搭建。前后台功能代码实现,系统初步登录查询书籍,借阅、排行榜功能实现;收集文献资料开始撰写毕业论文,准备最后毕业答辩。(1)查找文献内容,收集近年来学校图书管理系统的近况,完成论文背景以及设计的内容需要;(2)研究B/S模式以及对JSP的代码学习,参与相对性的资料开始完成网页设计以及代码的书写,完成本论文的第二小节内容;(3)对系统操作人员进行可行性分析,制作相应的图表,可是主要程序的代码展示;(4)系统功能代码的实现,对各操作人员进行图表绘制,数据库表的搭建;让大家更直观的了解系统内容;(5)对主要内容的网页系统进行截图,完成第五章节内容,并对系统进行性能以及恢复操作,完成论文主题部分。第二章 相关技术本次课题采取jsp+MyEclipse+tomcat的开发环境进行开发,着力构造一个网页形式的图书管理系统2.1 B/S模式的定义:B/S(Browser/Server)结构即浏览器和服务器结构。B/S模式的发展是随着Internet技术的兴起,B/S模式的发展的这种结构下,B/S模式的发展只需用户通过WWW浏览器来实现,B/S模式极少部分事务逻辑在前端(Browser)实现,B/S模式主要的工作方式但是主要事务逻辑在服务器端(Server)实现,B/S模式形成所谓三层3-tier结构。B/S模式的发展促进了这种状况,B/S模式发展成这个样子这样就大大简化了客户端电脑载荷,b/s模式开发使用的是减轻了系统维护与升级的成本和工作量,B/S模式的应用大幅度降低了用户的总体成本(TCO)。B/S模式的发展到现在,以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,B/S模式的发展是这些应用相对易于把握、成本变得更加的低廉,节约了劳动成本,促进了生产力的提升。B/S模式的发展到一定程度是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式访问和操作共同的数据库,这样就不收环境的制约了;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。伴随着学校网络状况的更改,在今天学校几乎都实现了,学生可以接入进行上网,这也为图书管理系统的实现提供了很大的方便。随着国家的信息时代的发展,网络接入会进入千家万户,这更加给B/S系统提供了巨大的发展潜力。32.2 B/S模式的发展历史及前景B/s模式是由c/s模式进化发展而来的,b/s模式改变了c/s模式的部分缺点,原来c/s模式下,客户端需要进行client安装,这就制约了c/s的发展,因为可能有部分客户机不能够支持client的安装,并且对待不同的操作系统会有不同的client,大大增加了开发困难和花销。为了解决c/s存在的问题,也伴随着网络时代的到来,现在几乎每家都能够上网,b/s模式得到了大规模的应用,b/s模式对客户来说不会有很大的要求,也不会因为客户机的不同而有不同的源代码,客户方只需要拥有浏览器就可以实现b/s程序的运行,b/s相对于c/s具有很大的优势,维护和升级方式简单、成本降低、选择更多,甚至可以不需要人参与。本次设计的是图书管理系统,对于这个系统,我猜想随着电子时代的到来,实体书的减少,版权问题将来也会更加的完善,以后的书籍出版或许就不会再有实体书了,完全的实现电子化,而且电子产品对人类的伤害也会慢慢的降低,或许电子书将会完全的取代实体书,到那个时候每个学校都不会有一个实实在在的图书馆了,而是只有一个大型的数据库,学校可以通过给学生分配身份,学生可以通过身份认证,进入学校的系统图书馆来获得自己所需要的图书,实现图书馆的完全智能化,大大的减少图书管理人员的数量,节约经济。B/s系统将来随着网络的快速发展,千家万户都会使用网络,基于b/s模式的应用将会越来越多,会得到长久的发展。在不断的克服自身缺点的同时不断进化,将来可能会取代c/s。42.3 JSP+MySQL+tomcat开发模式简介在JSP开发过程中人们采用HTML或者XML进行页面编辑,产生最终的网页。通过小脚本或者小标签进行判断,或者静态过滤。在其内部采用JDBC进行与数据库的链接,其中进行大量的判断,认证,和信息读取。使JSP页面能够与数据进行分离,从而确保了数据的安全性,可靠性使数据不容易被篡改。Jsp页面通过JDBC和数据库进行交互,实现两者的互访,数据库看不见JSP,JSP也看不到数据库中的内容,JDBC在其中起了个桥梁的作用,从而能够确保两方面的安全,正是这种工作方式,使得JSP+MySQL+tomcat所开发出来的系统有很大的可重用性能,在原来开发的系统中可能含有后来所需要的内容,因为数据与界面是分开的,所以能够很好地使用两个部分。这个有点使b/s系统得到了更广阔的应用。JSP开发的软件几乎可以应用到任何环境,采取浏览器服务器方式,客户机上面不需要安装任何软件,只要你有浏览器都可以打开,大大的方便了用户的使用使b/s系统得到更加广泛的应用,相对而言c/s模式的局限性就显示出来了,对于不同的电脑可能会有不支持的情况,限制了c/s模式的发展。JSP所开发的软件,数据库可以有多种选择,从小型的MySQL到大型的SqlServer,应用同一个jsp页面可以进行不同数据库的链接,只需要改动很小的部分,大大的提高了办事效率,数据库是一个JSP程序的主要内容,不同的数据库可以给不同的应用,不会担心数据存储问题。综上:b/s模式具有很大的优势,能够适应不同情况,可重复利用性强,对客户端电脑的要求比较低,能够适应不同的情况,以其独特的魅力吸引着更多人的青睐。相信以后的图书管理系统大部分都会使用这种方式进行开发 。2.4 开发环境简介整个系统的运行环境,首先必须在电脑上搭建好运行环境之后才能进行试验,所以运行换件的搭建是必备的。2.4.1 JSP简介 SP的全名为Java server pages,是由sun公司提倡发展运行的,使用Java语言和HTML设计,反馈给用户的就是 一个text文本文档,页面由HTML或者XML语言编写,后台采取JDBC链接数据库,可以采用各种数据库进行搭配,使用户逻辑分成块,能够简化编程,jsp以其独特的面向对象语言,简单易用,与平台无关,可以运行在任何含有浏览器的地方,限制比较少,面向网络。可以一次编写重复运用。52.4.2 MySQL简介MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发的,目前属于Oracle公司。 由于其体积小、速度快、总体拥有成本低的特点,尤其是开放源码这一特点,作为网站数据库一般中小型网站的开发的选择。MySQL作为小型数据库的首选,给我们带来了巨大的方便,图书管理系统中内容含量不是十分的巨大,十分适合使用MySQL作为数据库,这样能够使计划花销能够减少不少,实现了经济性的要求。2.4.3 tomcat简介Tomcat是由Apache 软件基金会组织(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同研究开发而成。Tomcat为html页面编辑JDBC数据库连接提供了一个运行环境,使这些语言可以进行很好的融合。Tomcat属于轻量型服务器,是JSP和servlet的容器。Tomcat是由Sun的软件构架师詹姆斯邓肯戴维森开发的。后来他帮助和推动这个程序将其变为开源项目,并由Sun公司贡献给Apache软件基金会。第三章 需求分析3.1 学生使用分析学生能够进行借书和还书操作,具体操作过程如图3.1所示。管理员图书管理系统读者 读者信息 借阅信息 查询信息 图书信息 图3.1学生业务学生使用分析,学生可以对图书管理系统进行查询,查询自己所需要的图书,学生可以主动的加入书架,学生不必和老师进行太多的交互,一个图书管理系统可以同时与很多的学生进行交互,节约了很大幅度的时间。提高了办事效率,减少了学校的投资。93.2 管理员职能分析管理员能够进行图书信息的记录和对学生借书信息的记录,书籍更新以及学生个人信息的更改。管理员业务分析,图书管理系统会在初始的时候给管理员分配基本的一个账号,这个账号可以给其他人分配权限低于自己的账号。 3.3 学生借阅分析读者有三种操作可以进行第一是借书与图书管理系统进行交互,第二个是归还图书与图书管理者进行交互,第三是查询也是与图书管理系统进行交互,通过这几种交互方式学生不断的和图书管理系统的数据库进行查找检验操作,这给数据库带来了很大的压力,所以在设计数据库的时候应该要尽可能的把数据库的内存容量变大,以防止查找速度缓慢的情况。还有就是管理员的操作,管理员可以进行许多的图书系统的改动,其中包括修改读者信息,修改图书信息,高级的管理员还能够进行管理员信息的修改,所以说管理员是整个系统的主要组成部分,在软件弄完之后,要对使用者进行专业的培训,以保证管理员操作的正确性10。3.4 学生借书验证分析学生借书要首先进行数据库的验证然后才可以进行借书,验证过程如下图3.2。馆藏图书信息表 学生信息表借阅信息表借阅信息表借书登记有效检验 学生 图3.2 学生借书分析这张图很好的分析了学生借书的全部过程,如果学生没有权限进行借书,那么将返回给学生错误的信息,保证图书的完整性,让图书不至于借出去找不到人来还,把两者的信息完美的对应起来构建了借阅信息表。3.5 图书归还分析学生归还图示时需要进行登记,其过程如下图3.3。读者信息表借阅信息表归还图书信息表还书登记有效验证读者 图书 超期催还单馆藏图书信息表图3.3 图书归还分析这张图显示了学生归还图书的工作方式,学生归还图书的时候首先要进行验证,查询图书管理系统的数据库,按学生的借阅时间是不是过期了,如果过期了,学生将会承担一部分的费用,如果没有过期,那么学生就直接把书归还给图书馆,并且在图书管理系统上面会把学生刚刚借阅的时候生成的图书借阅表中间的信息删除,保证学生的利益,也保证了系统不至于残存过多的没用的数据,从而节约了大量的内存空间。3.6 学生查询信息分析学生可以通过账号验证之后查询图书管理系统内部图书信息的内容,登陆的时候要进行检测,检测合格之后学生可以对图书馆前台的图书进行查询,也可以查询自己的信息,可以知道自己借了几本书,需要多久之内还给图书馆,这样的系统为学生提供了很多的方便,不需要学生单独记忆自己所借图书的时间,方便了学生借书。系统管理员会及时的查找出不存在的书籍信息以及借阅情况,管理系统的快速运行11。3.7 高级权限管理员操作分析数据库系统中存在高级管理员权限,下面是高级管理员的权限设计。管理员信息表管理员添加图书信息身份验证馆藏图书信息表修改图书信息删除图书信息 图3.4 管理员操作这张图书管理员信息表中说明了图书管理员的操作,为了保证图书管理员的正确,每次登录都需要验证,图中也显示管理员操作内容,其中包括添加图书信息,删除图书信息,修改图书信息和更新馆藏图书信息表的操作。第四章 系统设计图书管理系统设计主要分为两部分,一部分是前台设计,一部分是后台设计也就是数据库的设计。两个方面通过JDBC进行链接,本章主要详细讲解图书管理系统的实现过程。64.1 系统E-R图管理员编号读者姓名这个E-R图是整个系统的流程,数据,和工作的过程的详细解读,具体的工作过程及职能如图4.1 所示。增加修改删除 管理员姓名读者编号管理员读者管理密码其他增加借书时间借阅管理删除还书时间修改图书 出版社图书名字出版时间作者图4.1 系统e-r信息图书信息包含图书的作者、出版社、出版日期、图书名。可以进行数据库存储,让学生及管理员可以详细的了解书籍的具体内容方便查阅。读者信息包括学生的姓名,学生的编号。通过这两个信息能够分辨不同的学生信息。管理员具有账号和密码,管理员通过账号和密码能够登陆到图书管理系统的后台界面,能够整体上的更改图书信息,和学生信息。借阅是学生的动作,学生可以去图书馆借阅图书,也可以进行归还。管理功能是老师的动作,老师可以通过特殊的密码进入高级的权限模式,对学生信息的更改以及对书籍的更新和更改。4.2 系统功能与结构本次设计的图书管理系统分为三个功能模块,首先是基本信息模块,之后是借阅管理模块,第三部分是系统管理模块。7图书管理系统 系统管理基本信息管理 借阅管理备份设置置查询借阅读者管理期刊管理书籍管理恢复 图4.2 系统功能图书管理系统分为三个方面:第一、基本信息模块:含有图书信息,和学生信息,图书信息能够方便查阅,学生信息得到提供认证,增加系统的安全性,只有通过账号密码认证的学生才能进入学生管理系统。第二、借阅模块:其中含有查询和借阅信息,通过JDBC实现,从数据库中查询和认证信息,也可以直接通过网站前台查询书籍详情。第三、系统管理模块:该模块只能够通过管理员使用特殊的密码进行登录,可以全局的管理整个系统,具有数据恢复,数据备份,更新图书信息的功能。第四、排行榜模块:数据库会根据学生借阅情况自动对书籍借阅量进行排行,方便学生更快捷的了解最近最热书籍的借阅。4.3图书管理系统业务流程图还书记录还书图书管理系统根据使用人员的不同能够分为两个部分,首先是学生部分,然后是管理者部分,根据不同的登陆信息会有不同的业务模块。8更新书籍所还书单 管理员学生借阅记录查询有效书单书籍信息缺书记录查询信息 查询结果借阅 图4.3 图书管理系统业务流程图书管理系统的业务流程图,其中包含了这个系统的所有操作方式,其中学生的操作有借书和还书、查询,学生可以去图书馆查找自己所需要的图书,然后直接根据自己想要书名进行查找,学生也可以进行模糊查找,通过图书管理系统,因为图书管理系统中含有书类型的主键,所以学生就可以根据这个主键进行模糊查找,然后进行借阅。学生需要把自己借阅的图书信息记录到图书管理系统上面,这就需要图书管理人员的操作了,管理人员可以拥有自己的独立密码,这个独立密码是系统设计开始时候给指定的,用这个号码登录可以对学生信息进行更改,图书管理者也可以通过这个账号查看整个图书馆图书的信息,也可以进行对整个图书管图书信息的更改,当图书缺少或者学生借阅过期,管理员都可以看得见。管理员也可以对整个图书馆里的图书进行添加,分类等操作。图书管理者的权限是最大的,学生的权限相对来说就小了些,系统会给整个图书管理系统添加一个最基本的账号,用来恢复整个系统。4.4系统数据库设计系统数据库设计包括了整个图书管理系统所有的数据库所需要的表及各种关系列表,下面进行了详细的解释124.4.1 数据库图表设计学生信息图表3-1字段名数据类型备注idvarchar(50)用户IDgnamevarchar(50)帐号dnamevarchar(50)用户姓名gpwdvarchar(50)密码didvarchar(50)借阅单号学生信息表中保存了学生的名字、账号、密码和借书账号,系统可以通过学生的账号密码进行验证,管理员可以登录后台对学生的账号信息以及借阅的书籍信息进行匹配。 图书信息表3-2字段名数据类型备注bidvarchar(50)图书IDbnamevarchar(50)书名bpressvarchar(50)出版社btimedatetime出版时间bnamevarchar(50)关键词 图书信息表中保存了图书的书名、出版时间、出版社、和关键词。书名、出版时间、出版社用来标记图书的基本信息,用作分辨图书。采用关键词匹配的方式记录书籍信息,方便学生查找。学生与图书信息对应表3-3字段名数据类型备注did varchar(50)注册IDdnamevarchar(50)用户姓名bidvarchar(50)图书IDbnamevarchar(50)图书名信息对应表中包含了学生部分信息和部分图书信息,通过这张表把学生信息和图书信息链接起来,添加一些其他信息构成此张表。通过这张表控制学生借书的信息。主键表3-4字段名数据类型备注lidint类型id,主键lnamevarchar(50)类型名称存储图书类型表,该表存放了系统中的所有图书类型情况。该表用来大概的确定图书类型方便学生查找,设置为主键,可以减少数据库的负担,提高查找速度。4.4.2 数据库链接设计由于界面采取html语言编程,后台数据库采用MySQL进行中间需要媒介进行链接,中间采取JDBC用于两者直接的链接,这样既保持了两者的独立性,重用性,复用性,两者又可以很好的结合起来。JDBC分为两种,第一是含有用户界面的,用于构建图像,第二是没有用户界面的用于对事件的处理,用于构建数据库链接类型的。可以把JDBC看作是一个黑盒子,通过JDBC的各种接口进行与页面和数据库的链接,可以在bean中实现各种的接口,不会被外界所知道,独立的个体,所以从外面几乎看不见JDBC的存在,可以大幅度的提高整个程序的性能。数据库信息和界面可以通过JDBC进行验证,在界面上所需要的信息可以通过JDBC进行提取,然后与数据库中的信息进行比对验证,来保护后台数据库的安全性。JDBC有很好的重复利用性,JDBC API与操作基础的独立于平台的Java系统相结合,具备独立运行的特性以及可以在不确定的环境下完成操作。因此,组件开发者就可以不必再为带有Java applet平台特有的类库而担心了。最终的结果都将是计算机界共享可重复使用的组件,并在任何支持Java的系统中无需修改地执行。可以实现一次书写,重复利用的功能,大大的减少了人力资源的投入,也减少了程序的书写难度。示例:private Class entityClass;private static volatile long aliasCount = 0;private static volatile String sign = .;PersistenceContextprotected EntityManager entityManager;SuppressWarnings(unchecked)public BaseDaoImpl() Type type = getClass().getGenericSuperclass();Type parameterizedType = (ParameterizedType) type).getActualTypeArguments();entityClass = (Class) parameterizedType0;public T find(ID id) if (id != null) return entityManager.find(entityClass, id);return null;public T find(ID id, LockModeType lockModeType) if (id != null) if (lockModeType != null) return entityManager.find(entityClass, id, lockModeType); else return entityManager.find(entityClass, id);return null;public List findList(Integer first, Integer count, List filters, List orders) CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder();CriteriaQuery criteriaQuery = criteriaBuilder.createQuery(entityClass);criteriaQuery.select(criteriaQuery.from(entityClass);return findList(criteriaQuery, first, count, filters, orders);public Page findPage(Pageable pageable) CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder();CriteriaQuery criteriaQuery = criteriaBuilder.createQuery(entityClass);criteriaQuery.select(criteriaQuery.from(entityClass);return findPage(criteriaQuery, pageable);public long count(Filter. filters) CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder();CriteriaQuery criteriaQuery = criteriaBuilder.createQuery(entityClass);criteriaQuery.select(criteriaQuery.from(entityClass);return count(criteriaQuery, filters != null ? Arrays.asList(filters) : null);public void persist(T entity) Assert.notNull(entity);entityManager.persist(entity);public T merge(T entity) Assert.notNull(entity);return entityManager.merge(entity);String search = searchProperty.split(sign);if(search.length 1)Path path = root. get(search0);for(int i = 1; i search.length; i+)path = path.get(searchi);return path;elsereturn root. get(searchProperty);查询修改管理员信息RequestMapping(value = /edit, method = RequestMethod.GET)public String edit(Long id, ModelMap model) model.addAttribute(roles, roleService.findAll();model.addAttribute(admin, adminService.find(id);return /admin/admin/edit;修改密码时查询RequestMapping(value = /update, method = RequestMethod.POST)public String update(Admin admin, Long roleIds, RedirectAttributes redirectAttributes) admin.setRoles(new HashSet(roleService.findList(roleIds);if (!isValid(admin) return ERROR_VIEW;Admin pAdmin = adminService.find(admin.getId();if (pAdmin = null) return ERROR_VIEW;if (StringUtils.isNotEmpty(admin.getPassword() admin.setPassword(DigestUtils.md5Hex(admin.getPassword(); else admin.setPassword(pAdmin.getPassword();if (pAdmin.getIsLocked() & !admin.getIsLocked() admin.setLoginFailureCount(0);admin.setLockedDate(null); else admin.setIsLocked(pAdmin.getIsLocked();admin.setLoginFailureCount(pAdmin.getLoginFailureCount();admin.setLockedDate(pAdmin.getLockedDate();adminService.update(admin, username, loginDate, loginIp, orders);addFlashMessage(redirectAttributes, SUCCESS_MESSAGE);return redirect:list.jhtml; 修改管理员信息RequestMapping(value = /update, method = RequestMethod.POST)public String update(Admin admin, Long roleIds, RedirectAttributes redirectAttributes) admin.setRoles(new HashSet(roleService.findList(roleIds);if (!isValid(admin) return ERROR_VIEW;Admin pAdmin = adminService.find(admin.getId();if (pAdmin = null) return ERROR_VIEW;if (StringUtils.isNotEmpty(admin.getPassword() admin.setPassword(DigestUtils.md5Hex(admin.getPassword(); else admin.setPassword(pAdmin.getPassword();if (pAdmin.getIsLocked() & !admin.getIsLocked() admin.setLoginFailureCount(0);admin.setLockedDate(null); else admin.setIsLocked(pAdmin.getIsLocked();admin.setLoginFailureCount(pAdmin.getLoginFailureCount();admin.setLockedDate(pAdmin.getLockedDate();adminService.update(admin, username, loginDate, loginIp, orders);addFlashMessage(redirectAttributes, SUCCESS_MESSAGE);return redirect:list.jhtml;删除管理员信息RequestMapping(value = /delete, method = RequestMethod.POST)public ResponseBodyMessage delete(Long ids) if (ids.length = adminService.count() return Message.error(admin.common.deleteAllNotAllowed);adminService.delete(ids);return SUCCESS_MESSAGE;本段代码简单的叙述了对管理员的操作,其中的操作含有增加、删除、查找、更改,都是与数据库进行交互,不断的从数据库中提取信息比对,或着向数据库添加信息,这中间都是JDBC在起作用,JDBC作为一个中间的传话人,不对两边的事情产生影响,从而实现两方面的独立。13 4.5系统前台设计系统前台为学生提供了一个可视化的图书馆,首先既然需要登录到系统,那么就必须有一个登录界面,登录界面可是进行验证,并让用户登录到系统模块,比如学生登录,只能登录到图书馆前台页面,图书管理系统的管理者能够登录到管理界面,可以进行图书的管理,比如对图书信息的增加查找,借阅的管理等等。4.6系统权限设置 系统权限设置,系统权限分为三个部分,第一是学生权限,第二是系统管理员权限,第三是系统本身权限。14(1)学生权限设置:图书管理系统权限中学生权限为最低权限,学生可以进行的功能为查询,登录。首先学生可以根据自己注册的信息的输入到图书管理系统中,来进入管理系统,或者学生可以通过图书管理系统的开始界面进行账号的注册,密码可以自己设定,但是必须要验证学生本人的学生号码才能够进行注册,这样可以保证图书管理系统的安全性。学生登录后对自己的个人信息进行更改。当学生拥有账号后,学生可以通过账号进入图书管理系统前台页面,进入图书管理系统之后,学生可以实现查询功能,学生可以输入自己想要学习图书的类型,然后从整个图书系统前台页面中进行查找,如果学生想要借书,点击借阅,系统会将书籍内容反馈给管理员,管理员审批。所以学生在整个图书管理系统中只有查询功能,不具有更改的功能,学生的权限是整个图书管理系统中权限登记最低的。15(2)系统管理员权限:图书管理系统的管理员权限为中级权限,图书管理员权限能够进行的操作包括查询,更改,添加,删除功能。首先管理员必须根据自己的私有账号密码进行登录,因为管理员权限比较高,管理员有独立的登陆系统,管理员登录到系统也需要判断,管理员能够进行系统的安全保护,是系统最后的一道防护,如下图是管理员登录到图书管理系统的判断过程: 用户登录名:text1 用户密码:text1 T-User对象,获取用户密码和权限信息 密码正确?用户存在 Y提示该用户不存在 N使用Session变量,保存用户和权限提示输入密码错误 Y转到读者信息主页面 结束 图3.5 系统e-r从上图可以看出图书管理员的验证过程,首先需要进行账号密码的输入,然后由JDBC传到后台数据库中进行比较,如果比较通过则后台会返回一个正确的信息给前台,图书管理者就能够获取账号密码进行登陆到图书管理系统上面了。管理员登录到图书管理系统的系统界面以后就可以对整个系统进行处理了,可以对学生用户的增加,删除。增加的情况发生在学生信息大规模变动,而学生信息有规律性,可以由系统管理员对整个系统内部的学生进行从新的添加,在系统升级的时候能够用到。删除的情况发生在学生退学,或者是学生毕业的情况下,系统管理员能够对整个学院或者班级进行整体的删除,大大减少了管理员的工作复杂度。系统管理员不但可以对学生的内容进行增加和删除,系统管理员还可以对图书进行增加删除,系统管理员经过验证登陆后台对书籍进行更改。第三、系统本身权限:系统本身权限是系统的最高权限,当系统在这个权限的时候系统可以为图书馆管理者分配管理者权限的账号,系统权限能够分配给多个系统管理者不同的账号,用来管理系统,当系统出现重大错误的时候可以系统权限的账号进行更改还原系统程序,保证了系统最后的一道防线,让系统不至于受到攻击之后不能够恢复。系统e-r的分析得出结论,系统的完善性关系到整个系统能否完成最后功能,让系统更好的运行关键。第五章 系统实现5.1系统部分实现截图本次设计的是图书管理系统,主要分为前后两个部分首先是前台页面的展示 本图为图书管理系统的登陆界面,有JSP编写,可以进行登陆名的验证,让学校内部的用户可以进行访问。此图为图书管理系统进入之后的界面。 图5.1 登陆模块图书借
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 其他分类 > 大学论文


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!