毕业设计(论文)基于jsp的高校图书借阅系统存在的问题和对策_第1页
毕业设计(论文)基于jsp的高校图书借阅系统存在的问题和对策_第2页
毕业设计(论文)基于jsp的高校图书借阅系统存在的问题和对策_第3页
毕业设计(论文)基于jsp的高校图书借阅系统存在的问题和对策_第4页
毕业设计(论文)基于jsp的高校图书借阅系统存在的问题和对策_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、A高校图书借阅系统存在的问题和对策摘 要随着电脑、 等信息工具的普及,人们能更加完善、快捷地处理信息数据。在图书馆的日常运作中,由于图书借阅和用户查询次数繁多,需要进行繁杂的信息数据管理。为了能更高效、快捷、稳定地管理图书馆的数据信息,本文设计并实现了一套基于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 the inf

3、ormation 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 library ma

4、nagement 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 mess

5、ages, 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 function b

6、ased 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引 言1课题背景1课题研究意义12需求分析1应用需求分析1设计模式2开发环境3开发工具33系统总体设计4系统概要4功能模块构成5功能

7、流程图5查询功能流程图5借还图书功能流程图6数据库设计6数据库概要6数据库逻辑设计6数据库之间关联设计84系统详细设计与实现9发布首页公告功能模块11留言板功能模块12发布留言模块13回复留言模块14系统管理员登录功能模块14图书查询功能模块15前台图书查询15后台所有图书查询16WAP查询17其余功能模块185测试19结 论19参考文献201 引 言1.1 课题背景当今时代是飞速开展的信息时代,计算机与信息处理技术日渐成熟。随着Internet和计算机网络技术的蓬勃开展,Web技术得到了迅猛地开展。在科学技术高速开展的今天,信息技术已经渗透到社会开展的每一个领域,而计算机技术为工作提供了方便

8、性、高效性、灵活性及平安性,尤其Web技术的高速开展将计算机的应用提升到另一个层次。而图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,利用计算机来管理复杂的信息,能够充分发挥计算机的优越性。1.2 课题研究意义尽管有的图书馆有图书管理系统,但是仅仅限于图书管理员使用,属于单机系统,对于Internet效劳几乎没有,更不用说是WAP等效劳。这样的图书管理系统根本没有发挥它的效力,资源闲置比拟突出。基于这此问题,有必要建立一个图书管理系统有效的支持WEB和WAP的效劳,以使图书管理工作标准化,系统化,程序化,提高信息处理的速度和准确性,并且能通过Internet能

9、够及时、准确修改图书情况。本系统的设计主要有效的支持WEB访问和WAP访问,使得资源利用最大化用户只需要通过浏览器或者 WAP访问就可以实现操作,操作简单灵活。2 需求分析2.1 应用需求分析图书管理系统需要满足来自两方面的需求,分别是图书借阅者和图书馆工作人员。图书借阅者的需求是查询图书馆所存的图书;图书馆工作人员对图书借阅者的借阅及还书要求进行操作,同时形成借书或还书操作,有修改图书借阅者借书和还书记录的权限,实现对图书信息、借阅者信息、总体借阅情况信息的管理和统计、工作人员和管理人员信息查看及维护。图书馆管理员可以浏览、查询、添加、删除、修改、统计图书的根本信息;浏览、查询、统计、添加、

10、删除和修改图书借阅者的根本信息,浏览、查询、统计图书馆的借阅信息,发布公告,回复留言,以下就是本系统实现的功能。1.设计不同用户的操作权限和登陆方法2.对所有用户开放的图书查询3.查询及统计各种信息4.维护图书信息5.维护工作人员和管理员信息6.维护借阅者信息7.处理信息的完整性8.实现WAP 网上图书查询2.2 设计模式设计模式是面向对象的程序设计人员用来解决编程问题的一种形式化表示。本系统开发采用目前一种目前广泛流行的软件设计模式MVC。MVCModel-View - Controller应用程序结构被用来分析分布式应用程序的特征。这种抽象结构能有助于将应用程序分割成假设干逻辑部件,使程序

11、设计变得更加容易。把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行别离,这样一个应用被分成三个层模型层、视图层、控制层。图1 MVC模式MVC模式的出现,很好的解决了传统开发WEB应用方式中存在的问题。M代表模型(Model),包含完成任务所需要的所有的行为和数据;V代表视图View界面,显示模型提供的数据;C代表控制器Controller,它将模型映射到界面中,处理用户的输入并响应请求。其模型关系如下图。在MVC模式中,三层各尽其职、相对独立,各层内部的改变不会影响到其它层,从而降低了数据表达、数据描述和应用操作的耦合度,也能更好的实现开发中的分工,加

12、快工程进度。2.3 开发环境表1 开发环境种别软件版本OSWindows2000DBMy-sqlWebServerJDKTomcat浏览器Internet Explorer以上MySQL:MySQL是一个多用户、多线程的SQL数据库,是一个客户机/效劳器结构的应用,它由一个效劳器守护程序mysqld和很多不同的客户程序和库组成。MySQL的快速和灵活性足以满足一个网站的信息管理工作。 因为许可证的灵活,任何人都可以以任何目的免费使用,修改,和分发 PostgreSQL,不管是私用,商用,还是学术研究使用。命令执行速度快,也许是现今最快的;简单有效的用户特权系统。MySQL使用完全免费,使得其运

13、用范围更加广泛。TOMCAT:Tomcat效劳器是Apache Group Jakarta小组开发的一个免费效劳器软件,适合于嵌入Apache中使用,而且,它的源代码可以免费获得,你可以自由地对它进行扩充。Tomcat效劳器的兼容性很好,如WebLogic效劳器采用其为Web效劳器引擎,Jbuilder将其作为标准的测试效劳器,Sun公司也将其作为JSP技术应用的例如效劳器。但是Tomcat效劳器有众多大软件公司的支持,而且效劳器的性能稳定,其开展前景很好。2.4 开发工具Eclipse是一个非常优秀的集成开发环境,它旨在简化用于多操作系统软件工具的开发过程,可以用于管理多种开发任务,其中包括

14、测试、性能调整以及程序调试等,而且还可以集成来自多个供给商的第三方应用程序开发工具。通过集成大量的插件,Eclipse的功能可以不断扩展,以支持各种不同的应用。Eclipse平台是一个成熟的、精心设计的、可扩展的体系结构,其组成结构如下图用 Eclipse开发的插件,可以适应多平台的需要 , 且具有良好的可扩展性和灵活性。Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组效劳,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具Java Development Tools,JDT。虽然大多

15、数用户很乐于将 Eclipse 当作 Java IDE 来使用,但 Eclipse 的目标不仅限于此。Eclipse 还包括插件开发环境Plug-in Development Enviro nment,PDE,这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。3 系统总体设计3.1 系统概要本图书管理系统总体上分为前台页面显示和后台管理。前台页面即本书图书管理系统的首页实

16、现了公告的显示图书查询,留言建议三大功能。而后台的页面那么集成了图书管理中所需的功能和录入新书到库,办公图书,借还手续,查询图书等等。平时图书管理人员的工作都是在后台中完成的。前台是为了师生显示的。师生们可以看到图书管理人员发布的最新公告信息;并可以查询自己感兴趣的图书,也可以给学校的图书管理人员留言提议。相对应的后台是针对学校图书管理人员,后台的页面都加密,如果不正常登录是进入不了后台管理页面的,后台功能具体包括:发布首页公告,添加新书到库等等。3.2 功能模块构成图2 功能结构图3.3 功能流程图3.3.1 查询功能流程图WEB页面前台查询界面接收查询条件,从数据库查询匹配信息返回结果,在

17、WEB页面显示提交查询条件WAP查询界面接收查询条件,从数据库查询匹配信息返回结果,在WAP页面显示提交查询条件图3 基于WEB和WAP的查询流程图3.3.2 借还图书功能流程图图4 借还书流程图3.4 数据库设计3.4.1 数据库概要考虑该系统的定位与现有技术力量,系统采用MY-SQL作为系统的后台数据库开发环境,数据库命名标准与标准均采用英文单词标写,以便日后对其维护修改.3.4.2 数据库逻辑设计3.4.3 数据库之间关联设计4 系统详细设计与实现JavaBean技术是一种基于Java的组件技术,JavaBean组件可以用来执行复杂的计算任务,或负责与数据库的交互以及数据的提取等,是解决

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

19、;rs=stmt.executeQuery(sql);if (rs.next()k=k+1;catch (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=

20、-1;System.out.println("update():"+e.getMessage();this.close();return k;chStr函数功能:解决乱码Java的内核和class文件是基于unicode的,这使Java程序具有良好的跨平台性,但也带来了一些中文乱码问题的麻烦。原因主要有两方面,Java文件本身编译时产生的乱码问题和Java程序与其他媒介交互产生的乱码问题。JSP以Java为根底,自然也继承了Java所遇到的中文乱码问题。但在使用数据库时,有些Driver会将从数据库中读出的中文自动的转换成Unicode,而有些不会,如果Driver做过转换

21、而系统又再做一次,就会出现问题,从数据库中读出的中文字符不会正确显示,而是出现“?。 而且,在表单提交或是URL传参数值时依然是按照Web容器在内部默认的字符编码格式ISO 8859-1来进行处理的。同时,几乎所有的浏览器在传递参数时都是默认以UTF-8的方式来传递参数的。所以,虽然在java源文件在出入口的地方指定了正确的编码方式,但其在容器内部运行是还是以ISO 8859-1来处理的,这样导致在提交的表单中假设有中文字符,在存入数据库时使用的是ISO 8859-1,而本系统使用的My SQL数据库默认使用的是GBK编码,这样导致的结果就是存到数据库的数据因编码不同而出现乱码现象 。调用字符

22、编码转换Bean中的方法,对字符编码进行强制转换,使存放到数据库的数据编码格式与数据库的内部编码格式统一,解决了向数据库中插入中文字符、将从数据库中读取的数据正确的显示的问题,所以做了一个方法放在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.getMess

23、age();return "null"4.1 发布首页公告功能模块图6首页发布功能界面 在后台管理中能自由发布首页公告信息,来通知各种事情,其条目以滚动的形式来表现。该功能的实现由和文件实现。在中主要是发布界面的编写和传输notice内容,本功能的核心程序放在中,负责存储内容到数据库和错误提示。在中关键代码如下:/从request获取名为"content"的参数值String content=request.getParameter("content");/解决中文乱码问题String tcontent=addbook.chStr(c

24、ontent); /合成SQL语句,将content的值传入,作用为更新公告表String sql="update notice set content='"+content+"',createtime=DEFAULT where id=1"/申明一个int的变量tempint temp=-2;/如SQL执行成功,temp>0,否那么执行失败temp=notice.update(sql);4.2 留言板功能模块留言板功能模块分为发布模块和回复模块。发布模块在前台完成,可以让任何人留言,而回复模块在后台使用只允许管理员查看回复。4.2

25、.1 发布留言模块图7 发布留言界面本功能所有文件放在guest目录下面,包含了,这5个文件,分别实现了留言板各个功能。其主要代码在中./从request获取名为"username"的参数值String username=request.getParameter("username");/从request获取名为"content"的参数值String content=request.getParameter("content");/合成SQL语句,将username,content的值传入nickname,cont

26、ent表中,作用为将留言板内容放入数据库中String.sql="insert into guestbook (nickname,content) values('"+username+"','"+content+"')"/判断语句,如果username为空或者错误,content为空或者错误的时候。if(username=null|username.equals("")|content=null|content.equals("")elseint temp=-2

27、;/如SQL执行成功,temp>0,否那么执行失败temp=guestbook.update(sql);%>/返回错误信息,显示“请检查你的输入.请确保你输入的信息的正确性!错误信息文字以提示。elsesession.setAttribute("error","请检查你的输入.请确保你输入的信息的正确性!");response.sendRedirect("./errorpage.jsp"); %>4.2.2 回复留言模块本功能主要是用于回复留言,由实现.其实现方法与前面类似,不在累述。4.3 系统管理员登录功能模块图

28、8 管理员登录界面本功能涉及到图书管理操作的jsp文件,为了方便全部把它们放在admin目录里面,并且通过session防止非法登录把这个功能提取出来,单独作为一个jsp文件,然后include到需要加密的jsp文件头部这样如果非法用户直接提交后台URL,系统会将非法用户直接转到前台首页本功能由和实现其主要代码是在中,如下<%/从request获取名为"username"的参数值String username=request.getParameter("username");/从request获取名为"password"的参数值

29、String password=request.getParameter("password");/如果username为空或者错误,以及password为空或者错误。if(username=null|username.equals("")|password=null|password.equals("")else/将username赋值到tusername,password赋值到tpasswordString tusername=logincheck.chStr(username);String tpassword=loginche

30、ck.chStr(password);/搜索数据库中tusername和其对应的tpassword字段。String sql="select * from admin where username='"+tusername+"' and password='"+tpassword+"'"int temp=-2;temp=logincheck.select(sql);if(temp>0)/说明验证成功,进入,并将用户定格为登录用户。session.setAttribute("name&qu

31、ot;,tusername);response.sendRedirect("admin_index.jsp");else/验证失败,返回错误提示信息,并返回页面。session.setAttribute("error","请检查你的用户名和密码!");response.sendRedirect("./errorpage.jsp"); %>4.4 图书查询功能模块在前台允许所有用户对图书馆里面的书籍进行查询,返回内容包含书名,编号,分类和库存几个方面。总的来说该功能是本系统最重要的核心功能之一。4.4.1 前台

32、图书查询图9Web图书查询界面图10 查询结果界面图9为前台查询界面,图10为显示界面主要是实现对图书的查询,内容包括书名,图书编号,分类,库存量。分别由和实现其主要代码在功能代码在下,查询功能代码:<%String sql=""/解决中文乱码String keyword=request.getParameter("keyword");String tkeyword=search.chStr(keyword);/获取参数名称String keytype=request.getParameter("type");/如果按书名进行查

33、询if(keytype.equals("booktitle")sql="select * from book where title like '%"+tkeyword+"%'"/如果按书号进行查询else if(keytype.equals("bookid")sql="select * from book where bookID like '%"+tkeyword+"%'"int temp=search.select(sql);Connec

34、tion conn=search.getConn();Statement stmt=conn.createStatement();ResultSet rs=stmt.executeQuery(sql);/表单显示处理功能代码:while(rs.next()String booktitle=rs.getString(2);String bookid=rs.getString(3);String booktype=rs.getString(4);int quantity=rs.getInt(5);id+;if(color="#CCCCCC")color="#99999

35、9"elsecolor="#CCCCCC"%>4.4.2 后台所有图书查询在后台运行中,除了前台所拥有的查询外,还提供直接查询并允许对其修改和删除,其界面由显示,而修改,删除由其他文件实现,其实现方法类似前台查询不在累述。4.4.3 WAP查询图11 WAP图书查询界面Winwap是Slobtrot网站提供的WAP仿真工具。它完美的支持WML 1.0和1.1。可以将WML页面保存为HTML页面。Winwap因此也成为了目前WAP网站开发人员使用最广泛的模拟器。图9那么是用Winwap模拟器翻开的WAP图书查询界面。其功能主要由wapresult来实现,里面功

36、能大多可参照以上的查询功能实现。其主要代码如下<%/设置返回类型为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+"&#

37、39;"Connection conn=guestreply.getConn();Statement stmt=conn.createStatement();ResultSet rs=stmt.executeQuery(sql);while(rs.next()result+=rs.getString("title")+" Bookid:"+rs.getString("bookID")+" count:"+rs.getString("quantity")+"</br>

38、;"if(request.getParameter("bookname")!=null)String bookname=request.getParameter("bookname");String sql="select * from book where title='"+bookname+"'"Connection conn=guestreply.getConn();Statement stmt=conn.createStatement();ResultSet rs=stmt.exe

39、cuteQuery(sql);while(rs.next()result+=rs.getString("title")+" Bookid:"+rs.getString("bookID")+" count:"+rs.getString("quantity")+"</br>"%>4.5 其余功能模块其余功能模块实现方法同上面雷同,就不在详细分析代码,只简单表达。借还手续功能模块包含了借书功能模块,还书功能模块,借阅信息功能模块,借书证管理功能模块。借还手续功能模块是另一个核心功能模块。借书功能模块通过输入借书证号和图书编号实现借书功能和文件实现。其主要功能在中实现。还书功能模块主要实现对图书的重新入库和清理所借图书人借书工程包含,和三个文件。阅信息功能模块为查询所有借阅书籍的同学和其借阅的图书,主要由admin_viewallborrows.jsp实现。新开借书证功能模块本功能主要实现借书证的重新开启,包含,。修改借书证信息主要实现修改借书的情况,包括包含和两个文件管理图书功能模块主要用于对图书的管理,其包括录入新书功能模块和修改,删除图书功能模块,未归还图书查询功能模块。录入新书功能模块主要将图书录入,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论