毕业设计(论文)-基于WEB的图书馆借阅系统的设计与实现.doc

上传人:哈尼dd 文档编号:3283600 上传时间:2019-08-08 格式:DOC 页数:24 大小:270.52KB
返回 下载 相关 举报
毕业设计(论文)-基于WEB的图书馆借阅系统的设计与实现.doc_第1页
第1页 / 共24页
毕业设计(论文)-基于WEB的图书馆借阅系统的设计与实现.doc_第2页
第2页 / 共24页
毕业设计(论文)-基于WEB的图书馆借阅系统的设计与实现.doc_第3页
第3页 / 共24页
毕业设计(论文)-基于WEB的图书馆借阅系统的设计与实现.doc_第4页
第4页 / 共24页
毕业设计(论文)-基于WEB的图书馆借阅系统的设计与实现.doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

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

1、基于WEB的图书馆借阅系统的设计与实现摘 要随着电脑、手机等信息工具的普及,人们能更加完善、快捷地处理信息数据。在图书馆的日常运作中,由于图书借阅和用户查询次数繁多,需要进行繁杂的信息数据管理。为了能更高效、快捷、稳定地管理图书馆的数据信息,本文设计并实现了一套基于Web的图书管理借阅系统。系统采用Browser/Server运行模式,基于JAVA开发平台,并使用SQL Server作为后台数据库系统。系统主要实现了以下几个功能:查询图书、借还图书、图书管理、读者信息管理,读者留言、公告栏等。读者只需要通过浏览器访问本系统,就可以轻松实现图书查询、图书借还等操作。同样,图书管理员也可以使用本系

2、统方便快捷地完成图书馆的信息数据管理工作。另外,由于手机使用的普及,本系统中还新加入了WAP查询功能,借助于无线网络,读者可以通过使用手机,更加方便、快捷地完成图书查询的工作,这为读者带来了更多便捷。关键词:图书管理系统;WAP;JSP Design and Implementation of Library Management System Based on WEBAbstract With the information tools becoming so popular, such as computer and cell phone etc, people can handle th

3、e information data more perfectly and rapidly. In the daily library operation, as book-borrowed and the ones searched being so frequently, the library has to deal with a great many complicated data.For the data management more efficiently, fast and reliably, the thesis designs and implements a libra

4、ry management system which is based on Web. On the Java platform, the system adopts the Browser/Server model, which takes SQL Server as a database server. The system mainly carry out the following functions: searching for borrowing and returning, book management, reader information management, reads

5、 messages, and the library bulletin. While the readers interview the system through the browser, they can easily search for a book or borrow and return a book etc. Simultaneously, the assistant is able to control the library information datum. In addition, the system is still added a searching funct

6、ion based WAP, by which the readers can search for a book more conveniently and rapidly, by means of wireless network. Such a function brings the readers a great deal convenience. Key words: Library Management System; WAP; JSP目 录论文总页数:22页1引 言11.1课题背景11.2课题研究意义12需求分析12.1应用需求分析12.2设计模式22.3开发环境32.4开发工具

7、33系统总体设计43.1系统概要43.2功能模块构成53.3功能流程图53.3.1查询功能流程图53.3.2借还图书功能流程图63.4数据库设计63.4.1数据库概要63.4.2数据库逻辑设计63.4.3数据库之间关联设计84系统详细设计与实现94.1发布首页公告功能模块114.2留言板功能模块124.2.1发布留言模块134.2.2回复留言模块144.3系统管理员登录功能模块144.4图书查询功能模块154.4.1前台图书查询154.4.2后台所有图书查询164.4.3WAP查询174.5其余功能模块185测试19结 论19参考文献20致 谢21声 明221 引 言1.1 课题背景当今时代是

8、飞速发展的信息时代,计算机与信息处理技术日渐成熟。随着Internet和计算机网络技术的蓬勃发展,Web技术得到了迅猛地发展。在科学技术高速发展的今天,信息技术已经渗透到社会发展的每一个领域,而计算机技术为工作提供了方便性、高效性、灵活性及安全性,尤其Web技术的高速发展将计算机的应用提升到另一个层次。而图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,利用计算机来管理复杂的信息,能够充分发挥计算机的优越性。1.2 课题研究意义尽管有的图书馆有图书管理系统,但是仅仅限于图书管理员使用,属于单机系统,对于Internet服务几乎没有,更不用说是WAP等服务。这样的

9、图书管理系统根本没有发挥它的效力,资源闲置比较突出。基于这此问题,有必要建立一个图书管理系统有效的支持WEB和WAP的服务,以使图书管理工作规范化,系统化,程序化,提高信息处理的速度和准确性,并且能通过Internet能够及时、准确修改图书情况。本系统的设计主要有效的支持WEB访问和WAP访问,使得资源利用最大化用户只需要通过浏览器或者手机WAP访问就可以实现操作,操作简单灵活。2 需求分析2.1 应用需求分析图书管理系统需要满足来自两方面的需求,分别是图书借阅者和图书馆工作人员。图书借阅者的需求是查询图书馆所存的图书;图书馆工作人员对图书借阅者的借阅及还书要求进行操作,同时形成借书或还书操作

10、,有修改图书借阅者借书和还书记录的权限,实现对图书信息、借阅者信息、总体借阅情况信息的管理和统计、工作人员和管理人员信息查看及维护。图书馆管理员可以浏览、查询、添加、删除、修改、统计图书的基本信息;浏览、查询、统计、添加、删除和修改图书借阅者的基本信息,浏览、查询、统计图书馆的借阅信息,发布公告,回复留言,以下就是本系统实现的功能。1.设计不同用户的操作权限和登陆方法2.对所有用户开放的图书查询3.查询及统计各种信息4.维护图书信息5.维护工作人员和管理员信息6.维护借阅者信息7.处理信息的完整性8.实现WAP手机网上图书查询2.2 设计模式设计模式是面向对象的程序设计人员用来解决编程问题的一

11、种形式化表示。本系统开发采用目前一种目前广泛流行的软件设计模式MVC。MVC(Model-View - Controller)应用程序结构被用来分析分布式应用程序的特征。这种抽象结构能有助于将应用程序分割成若干逻辑部件,使程序设计变得更加容易。把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层模型层、视图层、控制层。图1 MVC模式MVC模式的出现,很好的解决了传统开发WEB应用方式中存在的问题。M代表模型(Model),包含完成任务所需要的所有的行为和数据;V代表视图(View)界面,显示模型提供的数据;C代表控制器(Con

12、troller),它将模型映射到界面中,处理用户的输入并响应请求。其模型关系如图所示。在MVC模式中,三层各尽其职、相对独立,各层内部的改变不会影响到其它层,从而降低了数据表达、数据描述和应用操作的耦合度,也能更好的实现开发中的分工,加快工程进度。2.3 开发环境表1 开发环境种别软件版本OSWindows2000DBMy-sqlWebServerJDK1.4.0Tomcat4.0.6浏览器Internet Explorer6.0以上MySQL:MySQL是一个多用户、多线程的SQL数据库,是一个客户机/服务器结构的应用,它由一个服务器守护程序mysqld和很多不同的客户程序和库组成。MySQ

13、L的快速和灵活性足以满足一个网站的信息管理工作。 因为许可证的灵活,任何人都可以以任何目的免费使用,修改,和分发 PostgreSQL,不管是私用,商用,还是学术研究使用。命令执行速度快,也许是现今最快的;简单有效的用户特权系统。MySQL使用完全免费,使得其运用范围更加广泛。TOMCAT:Tomcat服务器是Apache Group Jakarta小组开发的一个免费服务器软件,适合于嵌入Apache中使用,而且,它的源代码可以免费获得,你可以自由地对它进行扩充。Tomcat服务器的兼容性很好,如WebLogic服务器采用其为Web服务器引擎,Jbuilder将其作为标准的测试服务器,Sun公

14、司也将其作为JSP技术应用的示例服务器。但是Tomcat服务器有众多大软件公司的支持,而且服务器的性能稳定,其发展前景很好。2.4 开发工具Eclipse是一个非常优秀的集成开发环境,它旨在简化用于多操作系统软件工具的开发过程,可以用于管理多种开发任务,其中包括测试、性能调整以及程序调试等,而且还可以集成来自多个供应商的第三方应用程序开发工具。通过集成大量的插件,Eclipse的功能可以不断扩展,以支持各种不同的应用。Eclipse平台是一个成熟的、精心设计的、可扩展的体系结构,其组成结构如图所示用 Eclipse开发的插件,可以适应多平台的需要 , 且具有良好的可扩展性和灵活性。Eclips

15、e 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT)。虽然大多数用户很乐于将 Eclipse 当作 Java IDE 来使用,但 Eclipse 的目标不仅限于此。Eclipse 还包括插件开发环境(Plug-in Development Enviro nment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。由

16、于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。3 系统总体设计3.1 系统概要本图书管理系统总体上分为前台页面显示和后台管理。前台页面(即本书图书管理系统的首页)实现了公告的显示图书查询,留言建议三大功能。而后台的页面则集成了图书管理中所需的功能和录入新书到库,办公图书,借还手续,查询图书等等。平时图书管理人员的工作都是在后台中完成的。前台是为了师生显示的。师生们可以看到图书管理人员发布的最新公告信息;并可以查询自己感兴趣的图书,也可以给学校的图书管理人员留言提议。相对应的后台是针对

17、学校图书管理人员,后台的页面都加密,如果不正常登录是进入不了后台管理页面的,后台功能具体包括:发布首页公告,添加新书到库等等。3.2 功能模块构成图2 功能结构图3.3 功能流程图3.3.1 查询功能流程图WEB页面前台查询界面接收查询条件,从数据库查询匹配信息返回结果,在WEB页面显示提交查询条件WAP查询界面接收查询条件,从数据库查询匹配信息返回结果,在WAP页面显示提交查询条件图3 基于WEB和WAP的查询流程图3.3.2 借还图书功能流程图图4 借还书流程图3.4 数据库设计3.4.1 数据库概要考虑该系统的定位与现有技术力量,系统采用MY-SQL作为系统的后台数据库开发环境,数据库命

18、名标准与规范均采用英文单词标写,以便日后对其维护修改.3.4.2 数据库逻辑设计表2所示为管理员表(admin),记录了系统用户的角色和密码,判断是否允许其登录管理员界面。表2 admin数据库列名数据类型长度id(PK)Int11UsernameVarchar20PasswordVarchar20表3所示为留言信息表(guestbook),记录了游客用户姓名,发表的留言信息,发表时间和管理员回复信息,其作用就是实现留言板功能。表3 guest数据库列名数据类型长度id(PK)Int11NicknameVarchar50ContentMediumtextNOYourtimeDatatimeNO

19、ReplyVarchar50表4所示为首页公告表(notice),记录了发布信息和发布时间,其作用就是支持公告栏的功能实现。表4 notice数据库列名数据类型长度id(PK)Int11ContentMediumtextNOCreatetimeDatatimeNO表5所示为图书信息表(book),记录了图书书名,书号,图书类型,总量。其作用就是保存录入到库的图书资料,以便借阅和查询。表5 book数据库列名数据类型长度IdInt11TitleVarchar100bookID(PK)Varchar40TypeVarchar40QuantityInt11表6所示为用户借阅图书信息表(borrowb

20、ook),记录了借阅证号,借书开始日期,结束日期,书号。实现本系统核心功能-借书,还书的数据库应用。表6 borrowbook数据库列名数据类型长度Id(PK)Int11BorrowIDVarchar20BeginTimeDatetimeNOEndTimeDatetimeNOBookIDInt40表7所示为借书证用户信息表(user),记录了借书人姓名,性别,年龄,所在院系和所借书的书号。实现其程序主体的数据库调用。表7 uesr数据库列名数据类型长度Id(PK)Int11NameVarchar20SexChar2AgeInt11DepartmentVarchar20BorrowIDVarch

21、ar203.4.3 数据库之间关联设计这个图书管理系统是基于MySQL设计的,然后通过在JSP中向数据库发送相应的SQL指令,从而实现对图书的全面管理.对于数据库设计这一流程中,最重要的一步是对user表、book表、borrowBook表三张表的设计以及它们之间的关系这是这个图书管理系统中的一个关键技术,以下就是数据库关联图图5数据库关系4 系统详细设计与实现JavaBean技术是一种基于Java的组件技术,JavaBean组件可以用来执行复杂的计算任务,或负责与数据库的交互以及数据的提取等,是解决代码重用问题的一种策略。为了创建和使用Java软件组件,JavaBean被实现为一种独立于平台

22、和结构的应用程序接口,它的实现可以忽略内部的结构及细节问题,只需要定义其外部的特征及对外功能就行。其中,属性、方法和事件三种接口可以独立对外进行开发。JavaBean的实质就是一个.class文件,也可以成为类文件。JavaBean以binary格式保存,可以保护Java源代码不容易被他人抄袭。下面是本系统中主要的JavaBean。select函数功能:查询数据public int select(String sql) int k=-10;this.init(this.getConn();tryk=0;rs=stmt.executeQuery(sql);if (rs.next()k=k+1;c

23、atch (Exception e)k=-1;System.out.println(select():+e.getMessage();this.close();this.close();return k;update函数功能:更新删除插入 数据 public int update(String sql)int k=-10;this.init(this.getConn();tryk=0;k=stmt.executeUpdate(sql);catch (Exception e)k=-1;System.out.println(update():+e.getMessage();this.close()

24、;return k;chStr函数功能:解决乱码Java的内核和class文件是基于unicode的,这使Java程序具有良好的跨平台性,但也带来了一些中文乱码问题的麻烦。原因主要有两方面,Java文件本身编译时产生的乱码问题和Java程序与其他媒介交互产生的乱码问题。JSP以Java为基础,自然也继承了Java所遇到的中文乱码问题。但在使用数据库时,有些Driver会将从数据库中读出的中文自动的转换成Unicode,而有些不会,如果Driver做过转换而系统又再做一次,就会出现问题,从数据库中读出的中文字符不会正确显示,而是出现“?”。 而且,在表单提交或是URL传参数值时依然是按照Web容

25、器在内部默认的字符编码格式ISO 8859-1来进行处理的。同时,几乎所有的浏览器在传递参数时都是默认以UTF-8的方式来传递参数的。所以,虽然在java源文件在出入口的地方指定了正确的编码方式,但其在容器内部运行是还是以ISO 8859-1来处理的,这样导致在提交的表单中若有中文字符,在存入数据库时使用的是ISO 8859-1,而本系统使用的My SQL数据库默认使用的是GBK编码,这样导致的结果就是存到数据库的数据因编码不同而出现乱码现象 。调用字符编码转换Bean中的方法,对字符编码进行强制转换,使存放到数据库的数据编码格式与数据库的内部编码格式统一,解决了向数据库中插入中文字符、将从数

26、据库中读取的数据正确的显示的问题,所以做了一个方法放在bean里面,代码如下public String chStr(String str)trybyte temp=str.getBytes(ISO8859-1);String temp2=new String(temp);return temp2; catch(Exception e)System.out.println(chStr():+e.getMessage();return null;4.1 发布首页公告功能模块图6首页发布功能界面 在后台管理中能自由发布首页公告信息,来通知各种事情,其条目以滚动的形式来表现。该功能的实现由admin_

27、addnotice.jsp和admin_addnotice_post.jsp文件实现。在admin_addnotice.jsp中主要是发布界面的编写和传输notice内容,本功能的核心程序放在admin_addnotice_post.jsp中,负责存储内容到数据库和错误提示。在admin_addnotice_post.jsp中关键代码如下:/从request获取名为content的参数值String content=request.getParameter(content);/解决中文乱码问题String tcontent=addbook.chStr(content); /合成SQL语句,将c

28、ontent的值传入,作用为更新公告表String sql=update notice set content=+content+,createtime=DEFAULT where id=1;/申明一个int的变量tempint temp=-2;/如SQL执行成功,temp0,否则执行失败temp=notice.update(sql);4.2 留言板功能模块留言板功能模块分为发布模块和回复模块。发布模块在前台完成,可以让任何人留言,而回复模块在后台使用只允许管理员查看回复。4.2.1 发布留言模块图7 发布留言界面本功能所有文件放在guest目录下面,包含了guestbook_index.js

29、p,guestbook_postmessage.jsp,guestbook_save.jsp,guestbook_show.jsp,guestbook_viewmessage.jsp这5个文件,分别实现了留言板各个功能。其主要代码在guestbook_postmessage.jsp中./从request获取名为username的参数值String username=request.getParameter(username);/从request获取名为content的参数值String content=request.getParameter(content);/合成SQL语句,将userna

30、me,content的值传入nickname,content表中,作用为将留言板内容放入数据库中String.sql=insert into guestbook (nickname,content) values(+username+,+content+);/判断语句,如果username为空或者错误,content为空或者错误的时候。if(username=null|username.equals()|content=null|content.equals()elseint temp=-2;/如SQL执行成功,temp0,否则执行失败temp=guestbook.update(sql);%/

31、返回错误信息errorpage.jsp,显示“请检查你的输入.请确保你输入的信息的正确性!”错误信息文字以提示。elsesession.setAttribute(error,请检查你的输入.请确保你输入的信息的正确性!);response.sendRedirect(./errorpage.jsp); %4.2.2 回复留言模块本功能主要是用于回复留言,由admin_guestbook_reply.jsp实现.其实现方法与前面类似,不在累述。4.3 系统管理员登录功能模块图8 管理员登录界面本功能涉及到图书管理操作的jsp文件,为了方便全部把它们放在admin目录里面,并且通过session防止

32、非法登录把这个功能提取出来,单独作为一个jsp文件,然后include到需要加密的jsp文件头部这样如果非法用户直接提交后台URL,系统会将非法用户直接转到前台首页本功能由admin_login.jsp和admin_logincheck.jsp实现其主要代码是在admin_logincheck.jsp中,如下0)/表明验证成功,进入admin_index.jsp,并将用户定格为登录用户。session.setAttribute(name,tusername);response.sendRedirect(admin_index.jsp);else/验证失败,返回错误提示信息,并返回errorpa

33、ge.jsp页面。session.setAttribute(error,请检查你的用户名和密码!);response.sendRedirect(./errorpage.jsp); %4.4 图书查询功能模块在前台允许所有用户对图书馆里面的书籍进行查询,返回内容包含书名,编号,分类和库存几个方面。总的来说该功能是本系统最重要的核心功能之一。4.4.1 前台图书查询图9Web图书查询界面图10 查询结果界面图9为前台查询界面,图10为显示界面主要是实现对图书的查询,内容包括书名,图书编号,分类,库存量。分别由searchbook.jsp和实现其主要代码在功能代码在searchbook_post.j

34、sp下,查询功能代码:4.4.2 后台所有图书查询在后台运行中,除了前台所拥有的查询外,还提供直接查询并允许对其修改和删除,其界面由admin_viewallbooks.jsp显示,而修改,删除由其他文件实现,其实现方法类似前台查询不在累述。4.4.3 WAP查询图11 WAP图书查询界面Winwap是Slobtrot网站提供的WAP仿真工具。它完美的支持WML 1.0和1.1。可以将WML页面保存为HTML页面。Winwap因此也成为了目前WAP网站开发人员使用最广泛的模拟器。图9则是用Winwap模拟器打开的WAP图书查询界面。其功能主要由wapresult来实现,里面功能大多可参照以上的

35、查询功能实现。其主要代码如下%/设置返回类型为WMLresponse.setContentType(text/vnd.wap.wml);String result=;if(request.getParameter(bookid)!=null)String bookid=request.getParameter(bookid);String sql=select * from book where bookid=+bookid+;Connection conn=guestreply.getConn();Statement stmt=conn.createStatement();ResultSet

36、 rs=stmt.executeQuery(sql);while(rs.next()result+=rs.getString(title)+ Bookid:+rs.getString(bookID)+ count:+rs.getString(quantity)+;if(request.getParameter(bookname)!=null)String bookname=request.getParameter(bookname);String sql=select * from book where title=+bookname+;Connection conn=guestreply.g

37、etConn();Statement stmt=conn.createStatement();ResultSet rs=stmt.executeQuery(sql);while(rs.next()result+=rs.getString(title)+ Bookid:+rs.getString(bookID)+ count:+rs.getString(quantity)+;%4.5 其余功能模块其余功能模块实现方法同上面雷同,就不在详细分析代码,只简单叙述。借还手续功能模块包含了借书功能模块,还书功能模块,借阅信息功能模块,借书证管理功能模块。借还手续功能模块是另一个核心功能模块。借书功能模块

38、通过输入借书证号和图书编号实现借书功能admin_borrowbook.jsp和admin_borrowbook_post.jsp文件实现。其主要功能在admin_borrowbook_post.jsp中实现。还书功能模块主要实现对图书的重新入库和清理所借图书人借书项目包含admin_returnbook.jsp,admin_returnbook_post.jsp和admin_returnbook_post_post.jsp三个文件。阅信息功能模块为查询所有借阅书籍的同学和其借阅的图书,主要由admin_viewallborrows.jsp实现。新开借书证功能模块本功能主要实现借书证的重新开启

39、,包含admin_addnewuser.jsp,admin_addnewuser_post.jsp。修改借书证信息主要实现修改借书的情况,包括包含admin_changeuser.jsp和admin_changeuser_post.jsp两个文件管理图书功能模块主要用于对图书的管理,其包括录入新书功能模块和修改,删除图书功能模块,未归还图书查询功能模块。录入新书功能模块主要将图书录入,并添加其数量,名称,类别的功能由admin_addnewbook.jsp和admin_addnewbook_post.jsp两个文件实现。修改,删除图书功能模块主要是修改删除图书的信息。由admin_change

40、book.jsp和admin_changebook_post.jsp实现。用户信息管理功能模块是本系统后台最为重要的一部分,包括所有用户查询功能模块,搜索用户功能模块,管理员列表功能模块,添加管理员功能模块,修改密码功能模块。所有用户查询功能模块本功能作用是实现对用户信息查询,包括姓名,性别,年龄,系别,借书证号由admin_viewallusers.jsp实现搜索用户功能模块本功就是通过输入借书证号搜寻所查找的用户。由searchuser.jsp和searchuser_post.jsp文件实现用户功能模块主要是对用户的所有信息进行修改并保存由admin_changeuser.jsp和admin_changeuser_post.jsp实现。管理员列表功能模块主要是查询所有管理员。由admin_viewalladmins.jsp实现。添加管理员功能模块就是添加管理员,包括登录名和密码由admin_addadmin.jsp和admin_addadmin_post.jsp实现。修改管理员密码功能模块本功能主要是对管理员密码修改由changepwd.jsp和admin_changepwd_post.jsp实现。5 测试本系统测试环境:MySQL5.0,TOMCAT5.016/Weblogic8.0,Winwap,在WIN2000/XP下均测试通过.测试结果

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

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


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