《基于jsp的图书管理系统后台管理大学本科毕业论文.doc》由会员分享,可在线阅读,更多相关《基于jsp的图书管理系统后台管理大学本科毕业论文.doc(22页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、摘要随着互联网络的高速发展,快捷、高效率、低成本成为了互联网发展的一个趋势。而图书作为信息存储及传播的主要媒体之一,其需求量也越来越大。与此同时,图书馆对图书管理的要求也越来越高,手工处理的弊端日益显示出来。信息飞速发展的今天,图书管理急需要一种可以更加简洁、高速、稳定、准确的工作方式!因此我们选择设计图书管理系统,可以实现下面功能:例如中小型图书馆的图书查询(详情式查询)、借阅管理(书籍的借阅与归还)、书库管理(书籍的添加管理)、会员管理(借阅人员管理)、系统管理(系统管理方面采用JSP开发工具+SQL2000数据库实现)等方面。为用户提供了更便捷的服务。从而缓解了人工图书管理的压力,从根本
2、上解决了人工管理的弊端!基于JSP的图书管理系统的设计,正是利用JSP开发工具和MYSQL数据库来开发的。该系统可以解决日常图书管理所需要解决的问题,可以满足图书管理基本要求,包括添加、修改、删除等功能。并且其中对不同的用户,设置了不同权限。这样一来,便方便了对图书的管理。该系统能根据用户的需求,快捷方便的为读者提供借阅服务。关键词:JSP开发工具,SQL2000数据库,图书管理系统ABSTRACTWith the rapid development of the Internet,fast,high efficiency,low costhas become atrend of develo
3、pment of the internet.And the bookas one of the mainmediafor information storage andtransmission,thedemand is also growing.At the same time,the libraryandon the library managementof the higher requirements,defects ofmanual processingisdisplayed.The rapiddevelopment of information today,library manag
4、ementis an urgent need formoreconcise,high speed,stable,accurateway of working!So we choose the design library management system, can achieve the following functions: for example, in a small library query (details query), loan management (borrow books and return), stack management (add management bo
5、oks), member management (lending personnel management), system management (system management using JSP development tools +SQL2000 database). To provide more convenient service for users. To alleviate the pressure of artificial management of books, from the fundamental solution to the drawbacks of ma
6、nual management!Design of library management system based on JSP, is developed using JSP development tools and MYSQL database. The system can solve the daily library management problems, to meet the basic requirements of library management, including add, modify, delete and other functions. And for
7、different users, set different permissions. Thus, it is convenient for the management of books. The system according to user needs, provide readers with fast and convenient service.Keywords: JSP development tools, SQL2000 database, library management system目 录1.绪论11.1图书管理系统的需求分析11.2图书管理系统的可行性分析22. 课
8、题的主要研究工作22.1使用工具简介22.1.1 JSP工具简介32.1.2 SQL2000数据库32.1.3 HTML语言42.2 系统规划设计42.3个功能模块规划设计42.3.1 登陆系统模块42.3.2 图书管理系统52.3.3 学生管理模块72.3.4借阅信息管理模块82.3.5图书检索模块83. 系统功能测试与实现93.1图书管理系统测试内容93.2图书管理系统测试方法93.3图书管理系统主要代码103.4图书管理系统的实现144. 总结16参考文献16致谢171 绪论计算机技术的迅猛发展,特别是随着网络技术的出现标志着信息时代已经来临。信息化浪潮、网络革命在给社会带来冲击的同时,
9、也使图书馆业务受到了强烈的冲击,图书馆传统的管理和服务方式已不能适应读者对日益增长的文献信息的需求,随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的各种信息量也成倍增加,面对着庞大的信息量,传统的人工方式管理会导致图书馆管理上的混乱,人力与物力过多浪费,图书馆管理费用增加,从而使图书馆的负担过重,影响整个图书馆的运作和控制管理,因此,必须制定一套合理、有效,规范和实用的图书管理系统,对图书资料进行集中统一的管理。针对中小型图书管理系统的特点和要求,综合各方面的考虑采用JSP, JAVABEAN 和JDBC 等技术开发本系统。系统为三层B/S 体系结构,Tomcat 作为Web服务器M
10、YSQL 作为数据库服务器使用HTML,JAVASCRIPT,JSP 进行网络应用程序的开发,利用JDBC 访问机制对后台数据库进行访问。1.1图书管理系统的需求分析传统模式下书籍的借阅都是开架借书式,图书管理员会根据书籍的类别分类放置,会员根据所需查询借阅!而随着书籍信息量的增大,借阅量上升,图书管理员不仅要对书籍进行维护管理,还要对借阅情况进行整理,极大降低了图书管理员的效率。这就浮现出传统式管理模式的几大问题:随着图书馆的藏书种类多,数量大,将藏书准确的分门别类,快速检索,手工进行非常困难,往往是终于查到了二维的信息,馆中却没有此书或已被别人借走。图书借阅量大,借书归还的频率就会越高,从
11、而出现的图书逾期不还,借阅信息混乱等问题!面对海量的藏书信息图书管理员在图书更新时很那做到全面到位,及时更新。而且图书更新需要管理员对藏书结构,书籍毁坏度有全面的记录!这些工作量庞大而且繁琐,耗时耗力!图书管理系统急需一种新型的管理模式替代传统的借书的遇到的管理、增删改查等庞大繁琐的工作量!1.2课题研究的目的和意义随着信息化的普及和发展,现在网络不仅在各企事业单位中的应用越来越广泛而且也已经逐渐融入了每个人的生活当中,逐渐的成为人们生活中不可或缺的一部分。为了更好的充实人们的生活,我特做此系统更满足人们在日常生活的需要和需求,也为了满足人们在信息流通方面的方便,使得人们更能分享互联网上的资源
12、,使得的网络的意义更能充分的体现。交流是系统的关键也是目的,它能让你在简单的对话中了解复杂的社会,多彩的世界,使得人与人之间的距离彻底拉近,就像是面对面的交谈,彼此之间没有界限,没有差别,只有心与心的共振。它也是你心灵抒发的对象,把你心中的快乐,郁闷,论点,观点肆无忌惮的阐发出来,没有压制,只有争论。它就是你阐发心灵的平台,是你交友的另一重要方式。缺少了它你会感觉没什么,但是一旦有了它你会发现它是那么的重要。1.2图书管理系统的可行性分析而图书管理系统的出现改变了这一现状,图书管理系统,可以激活馆藏中的各种图书,使读者从主题,各种角度检索图书的愿望得到实现。方便,快捷的检索方式缩短了寻找所需图
13、书的时间,使读者摆脱了由于书目急速增长而无从下手的困扰,大大提高了搜索效率,加速了图书的开发利用。更为优越的是新图书管理系统的使用增强了图书馆员与读者之间的互动服务,以及读者的自助服务,比如说可通过网络推荐新书和自行办理图书预约,续借手续等等。新的图书管理系统将融合了图书查询、图书借阅归还和图书管理三部分。实现了图书管理系统的清晰度,管理的效率化,办公的自动化!而我们的团队在软件开发方面图书馆系统软件方面有着得天独厚的条件,首先校内的图书系统我们经常接触,清楚用户需要什么,怎么做最便捷。其次我们的队员对JSP、java、SQL数据库、dreamweaver的页面制作方面都有深入的了解,开发这款
14、软件不仅有团队的协作,我们还有导师的不懈支持。这也让我们的开发的这款软件增色不少。开发软件的目的是使其具有强大的实用价值,即它可以满足中小型图书馆的借阅与管理的需要。这种管理软件对硬件的要求很低,一般有一个比较简单的服务器与PC机组成的网络即可,再加上使用比较廉价、性能不错的软件,这样就可以以较低的成本来实现一个足够使用的功能,而这种模式也正满足了那种中小型资料室,图书馆的要求。2. 课题的主要研究工作2.1 Java技术 2.1.1 jsp工具简介JSP(Java Server Pages)技术是由Sun公司发布的用于开发动态Web应用的一项技术。它以其简单易学、跨平台的特性,在众多动态We
15、b应用程序设计语言中异军突起,在短短几年中已经形成了一套完整的规范,并广泛地应用于电子商务等各个领域中。在国内,JSP现在也得到了比较广泛的重视,得到了很好的发展,越来越多的动态网站开始采用JSP技术。下面就对JSP及其相关技术进行简单的介绍。JSP技术可以以一种简捷而快速的方法生成Web页面。使用JSP技术的Web页面可以很容易地显示动态内容。JSP技术的设计目的是使得构造基于Web的应用程序更加容易和快捷,而这些应用程序能够与各种Web服务器、应用服务器、浏览器和开发工具共同工作。JSP技术不是惟一的动态网页技术,也不是第一个,在JSP技术出现之前就已经存在几种优秀的动态网页技术,如CGI
16、、ASP等。下面结合这些技术的介绍,讲述动态网页技术的发展和JSP技术的诞生。2.1.2 SQL2000数据库SQL Server是微软公司开发的数据库产品, Server 2000被广泛使用,很多电子商务网站、企业内部信息化平台等都是基于SQL Server产品上。 SQL Server 2000 还为您的数据管理与分析带来了灵活性,允许单位在快速变化的环境中从容响应并且拥有完全的 Web 支持SQL Server 2000 提供了以 Web 标准为基础的扩展数据库编程功能。丰富的 XML 和 Internet 标准支持允许使用内置的存储过程以 XML 格式轻松存储和检索数据。可以使用 XM
17、L 更新程序容易地插入、更新和删除数据。通过 Web 轻松访问数据。SQL Server 2000,可以使用 HTTP 来向数据库发送查询、对数据库中存储的文档执行全文搜索、以及通过 Web 进行自然语言查询。SQL Server 2000 分析服务功能被扩展到了 Internet。您可以通过 Web浏览器来访问和控制多维数据。使用 SQL Server 2000 可以获得非凡的可伸缩性和可靠性。通过向上伸缩和向外扩展的能力,SQL Server 满足了苛刻的电子商务和企业应用程序要求。SQL Server 2000 带有交互式调节和调试查询、从任何数据源快速移动和转化数据、以及按Transa
18、ct-SQL方式定义和使用函数等功能。您可以从任意 Visual Studio 工具以可视化方式设计和编写数据库应用程序。2.1.3 html 语言HTML(Hyper Text Mark-up Language)即超文本标记语言,是目前网络上应用最为广泛的语言,也是构成网页文档的主要语言。设计HTML语言的目的是为了能把存放在一台电脑中的文本或图形与另一台电脑中的文本或图形方便地联系在一起,形成有机的整体,人们不用考虑具体信息是在当前电脑上还是在网络的其它电脑上。我们只需使用鼠标在某一文档中点取一个图标,Internet就会马上转到与此图标相关的内容上去,而这些信息可能存放在网络的另一台电脑
19、中。HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字、图形、动画、声音、表格、链接等。HTML的结构包括头部(Head)、主体(Body)两大部分,其中头部描述浏览器所需的信息,而主体则包含所要说明的具体内容。2.2 系统规划设计图书管理系统包含五个模块分别是:系统登录、图书管理、学生管理、借阅信息管理、图书检索。系统登录模块:一般用户和管理员都必须登录才能进入系统,用户登录时在后台判断用户的权限类型,分为普通用户和管理员,普通用户可以对书籍进行浏览及个人借阅信息的查询,管理员可以对多种信息进行操作。图书管理模块:管理员通过验证界面进入系统后,进入到图书管理模块,可以对图
20、书进行添加,删除、修改图书信息、查询、查看等一系列的操作。学生管理模块:管理员可以在此模块中创建新的普通用户,并且可以对用户的信息进行修改,删除等操作。借阅信息管理模块:这是图书管系统中最重要的模块之一,管理员进入该模块中可以为普通用户办理借阅图书,归还图书的功能,并且能够实现还款的操作。图书检索模块:普通用户通过验证界面进入系统后,能够按照书名,作者等多种条件对图书进行查询操作,确保查询到的都是最新的信息多线程概述。2.3 个功能模块的规划和设计2.3.1 登陆系统模块在此系统的设计过程中,用户拥有不同的权限。系统默认有一名管理员。系统管理员可以用户进行指认或者添加。普通用户在注册后成为该系
21、统的普通会员。用户在进行登录时系统根据用户名自动判断用户的权限,而无需再次选择登陆权限。每个用户登录过程如图2.1(用户登录系统图)。图2.1 用户登录系统图用户登录过程:用户进入系统主页,选择登录操作后,填写用户名和密码,提交后系统对其信息进行核对,如果在数据库表中查找到匹配信息,则跳转到指定页面,否则提示用户输入的用户名和密码不正确,返回登录页面重新输入。根据权限的不同,不同的模块拥有不同的登录账户和密码,用户根据自己的密码和账户,进行自己的权限以及进行相关的功能。在此模块的设计中,实现用户的登陆和注册。如果用户输入的密码姓名错误则会弹出一个对话框,显示错误。2.3.2 图书管理系统模块(
22、1) 系统管理员管理系统界面系统管理员功能模块将实现以下功能:个人信息的管理、作者管理、出版社管理、用户管理、图书书籍管理。其中用户具有添加、修改、删除用户的功能,图书管理可实现添加修改图书以及借阅归还图书等功能。图2.2 系统管理员管理界面(2) 普通用户管理系统界面普通用户管理模块将实现以下功能:用户成功登陆跳转后,可对个人信息进行查询更改、注销、书籍查阅、检索、归档等操作。图2.3 普通用户管理界面2.3.3 学生管理系统模块学生管理模块(如图2.4)将实现新用户注册、登陆、注销、修改个人密码、图书借阅、归档、检索书籍信息等功能。图2.4 学生管理系统流程2.3.4 借阅信息管理模块 将
23、实现用户经过查阅、检索、图书没有借出将提出借阅申请,如果图书借出提出预定申请。2.3.5 图书检索模块将以SQL语言实现按作者、书籍名称进行关联查询,呈现属性查询结构。让用户按书名查询时可关联到期名下的书籍,按图书号查询也可查阅图书信息等。图2.5 图书检索例子这一章中我们已完整阐述了程序各个模块的具体设计,看着自己的团队一步步完成系统的设计,心里无比激动,这也预示着我们图书馆管理系统的完成。接下来就该完成程序最后的一项内容,对程序的测试了。3. 系统功能测试与实现系统测试是测试系统可行性、完整性的一个功能性测试。它是检验系统功能是否按满足系统方案所述的条件的一种可行性方案。为了检验系统模块之
24、间的关联系、使用的功能性而做出的一项测试,在测试中将会逐渐趋于完善产品功能。从而更好的提高用户满意度、体验度。而管理信息系统在完成研究开发、 投入正常运行之后,就进入了系统测试与维护阶段。基于Web的系统测试与传统的软件测试既有相同之处,也有不同的地方,对软件测试提出了新的挑战。基于Web的系统测试不但需要检查和验证是否按照设计的要求运行,而且还要评价系统在不同用户的浏览器端的显示是否合适。重要的是,还要从最终用户的角度进行安全性和可用性测试。系统维护的目的是要保证管理信息系统正常而可靠地运行,并能使系统不断得到改善和提高,以充分发挥作用。因此,系统维护的任务就是要有计划、有组织地对系统进行必
25、要的改动,以保证系统中的各个要素随着环境的变化始终处于最新的、正确的工作状态。3.1图书管理系统测试内容1)功能测试功能测 试主要包括:链接测试、表单测试、Cookies测试、设计语言测试、数据库测试。2)性能测试性能测试主要包括:连接速度测试、负载测试、压力测试。3)可用性测试可用性测试主要包括:导航测试、图形测试、内容测试、整体界面测试。4)兼容性测试 兼容性测试主要包括:平台测试、浏览器测试。5)安全测试。3.2图书管理系统测试方法1) 功能测试:对所以页面记性测试连接跳转连接,避免产生死链;对表单进行测试分别输入正确信息、错误信息检测得到的反馈信息是否正确;提交正确表单检测是否能正常跳
26、转并反馈正确信息。2) 性能测试:通过无线上网、拨号上网、手机上网等方式查看web客户端访问响应时间。3) 可用性测试:保证各个页面的关联性可跳转性好;确保页面样式整洁。无语法错误、无错别字;页面风格协调统一。4) 兼容性测试:在多个浏览器中浏览保证无异常;在winxp、win7、linux等平台下测试保证正常访问使用。5) 安全测试:保证系统管理员密码的可靠性。3.3图书管理系统主要代码连接数据库:import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql
27、.SQLException;import java.sql.Statement;public class DbConnection statictry Class.forName(org.gjt.mm.mysql.Driver); catch (ClassNotFoundException e) / TODO Auto-generated catch blocke.printStackTrace();public static String DBURL=jdbc:mysql:/localhost:3306/bms?characterEncoding=gbk;public static Stri
28、ng DBUSER=root; public static String DBPASS=; public Connection getConnection() throws Exception return DriverManager.getConnection(DBURL,DBUSER,DBPASS); public void closeConnection(Connection conn) try if(conn!=null) conn.close(); catch (SQLException e) e.printStackTrace(); public void closeStateme
29、nt(Statement stmt)tryif(stmt!=null)stmt.close(); catch(SQLException e)e.printStackTrace(); public void closeResult(ResultSet rs) try if(rs!=null) rs.close(); catch (SQLException e1) e1.printStackTrace(); public void commitTrans(Connection conn) try if(conn!=null) mit(); catch (SQLException e1) e1.pr
30、intStackTrace(); public void rollbackTrans(Connection conn) try if(conn!=null) conn.rollback(); catch (SQLException e1) e1.printStackTrace(); 执行各种查询与插入数据库的核心代码:import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statemen
31、t;import java.util.ArrayList;import java.util.List;public abstract class BaseDAO protected DbConnection dbconn;public BaseDAO()dbconn=new DbConnection();/执行增,删,改等操作,不返回结果集,返回影响记录的行数public int updateBySql(String sql) throws ExceptionSystem.out.println(sql); Connection conn=null; Statement stmt=null;t
32、ry conn=dbconn.getConnection(); stmt=conn.createStatement(); return stmt.executeUpdate(sql); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();return -1;finallydbconn.closeStatement(stmt);dbconn.closeConnection(conn);通过sql语句更新public int updateBySql(String sql,IParamBinding
33、bind) throws ExceptionConnection conn=null; PreparedStatement pstmt=null;try conn=dbconn.getConnection(); pstmt=conn.prepareStatement(sql); bind.bindParam(pstmt);/参数绑定 return pstmt.executeUpdate(); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();return -1;finallydbconn.cl
34、oseStatement(pstmt);dbconn.closeConnection(conn);/执行多条不带参数的sql语句public int executeBatch(String sqls) throws Exception Connection conn=null; Statement stmt=null;try conn=dbconn.getConnection(); conn.setAutoCommit(false); stmt=conn.createStatement(); for(int i=0;isqls.length;i+) stmt.addBatch(sqlsi);
35、mitTrans(conn); return stmt.executeBatch(); catch (SQLException e) / TODO Auto-generated catch blockdbconn.rollbackTrans(conn);e.printStackTrace();return null;finallymitTrans(conn);dbconn.closeStatement(stmt);dbconn.closeConnection(conn);通过sql语句查询public List queryBySql(String sql,IRowMapper mapper)
36、throws Exception/System.out.println(sql);Connection conn=null; Statement stmt=null; ResultSet rs=null; List retList=new ArrayList();try conn=dbconn.getConnection();stmt=conn.createStatement(); rs=stmt.executeQuery(sql); while(rs.next() Object obj=mapper.mappingRow(rs); retList.add(obj); catch (SQLEx
37、ception e) / TODO Auto-generated catch blocke.printStackTrace();finallydbconn.closeResult(rs);dbconn.closeStatement(stmt);dbconn.closeConnection(conn);return retList;3.4图书管理系统的实现1) 系统管理员登陆到后台进行操作。图3.1 系统管理员后台界面2) 系统管理员可以对个人信息进行修改图3.2 个人信息界面3) 系统管理员可以对作者进行管理。图3.3 管理作者界面4) 系统管理员可以添加、修改、删除图书。图3.4 管理图书界
38、面5) 系统管理员可以对普通用户和普通管理员进行管理。图3.5 权限管理界面4. 总结几个月来忙碌紧张而又有条不紊的毕业设计,使我有机会对本专业的基本理论、专业知识和基本技术有了更深入的了解和体会,使我在大学中所学到的知识得到了系统和升华,真正达到了学以致用。图书馆管理系统的研究与设计终于告一段落。在这一段时间内,我从最初的MyEclipse的安装、MySQL的安装,到使用Tomcat建立Web项目连接数据库,一步步搭建环境、平台和开发项目。其中所涉及的知识有软件开发方法、JSP技术、数据库等等,让我获益匪浅。现对系统总结如下:1.通过本次系统的实际开发,更加熟悉使用了界面开发工具Dreamw
39、eaver、数据库开发工具MySQL、程序开发工具MyEclipse的使用。2.本设计系统实现了图书馆的读者和管理员的登录功能。3.实现了图书和读者的增删改查。4.实现了图书的状态查询、更改等功能。5.实现了对用户和管理员的管理。程序开发的过程是一个很艰难的过程,一个程序的开发必然结合着许多的错误和困难,如果你对程序不是太了解,其间出现的困难更是非同凡响,对于刚刚接触程序不算太久的我们来说要想非常熟练的应用程序是非常困难的一件事情,这需要我们耐心的进行学习和了解决。其中还存在许多不足,这些功能和技术还需要加以提高和实现。参 考 文 献1、LEE ANNE PHILLIPS.巧学活用HTML4.
40、电子工业出版社,2004年8月:1-319 2、Java 2 编程思想 (美) Bruce Eckel 3、刘永华,于春花Java 网络编程清华大学出版社2008 4、Java 语言与面向对象程序设计(清华大学出版)印雯 编著5、Java多线程编程详解 6、李树青Java 通用范例开发金典电子工业出版社20097、庞永庆,翟鹏Java 完全自学宝典清华大学出版社20088、薛为民, 夏文红, 解仑.Java 应用教程 北京:北京交通大学出版社 20059、孙一林,彭波Java 网络编程实例清华大学出版社2003(4)10、耿祥义,张跃平.JSP实用教程. 清华大学出版社,2003年5月1日:1
41、-354 致 谢经过近三个月的艰苦努力,终于完成了基于JSP的图书馆管理系统,并使该系统达到可实际应用的阶段。在论文工作即将结束之际,回顾三年来的求学历程,深刻感受到自己取得的每一点进步都离不开老师和同学们的关怀和帮助。感谢我的指导老师马建斌老师,是他在繁忙的工作与教学之余,一次次不厌其烦地帮我分析相关技术,解决技术难题,并教给我正确的研究方法,研究思路,没有马老师的帮助我不可能按时顺利完成本设计。在马老师的指导下,我不仅顺利地完成了此毕业设计,而且初步掌握了计算机学科进行科学研究的正确研究态度,思考方法,研究方法,为我今后的更好地学习和工作打下了坚实的基础。马老师渊博的知识,严谨的教学作风,精益求精的工作态度,是我永远的学习榜样。转眼间,大学生活即将结束,回首过去四年的大学生活,真是有苦也有乐,然而更多的则是收获,感谢母校的各位老师不但无私地传授给我们知识,也教会了我们如何做人。计算机科学与技术专业的毕业设计任务繁重,但正是在这几个月紧张而充实的设计中,我感到自己的知识得到了一次升华,我相信:我的毕业设计会给我的四年大学画上一个圆满的句号。!