全开架图书管理系统图书管理模块struts框架设计以及实现毕业论文Word文档格式.doc
《全开架图书管理系统图书管理模块struts框架设计以及实现毕业论文Word文档格式.doc》由会员分享,可在线阅读,更多相关《全开架图书管理系统图书管理模块struts框架设计以及实现毕业论文Word文档格式.doc(15页珍藏版)》请在冰点文库上搜索。
1.2全开架图书馆开放管理的必然趋势 4
1.3全开架图书馆设计的开发环境 4
1.4全开架图书馆设计的功能简介 5
2可行性分析 5
2.1技术可行性 5
2.2经济可行性 6
2.3社会可行性 6
3需求分析 6
3.1系统的需求分析 6
3.2功能需求分析 7
4全开架图书馆个人设计实现部分 7
4.1图书管理模块概要设计 7
4.2Struts具体的环境搭建 9
4.2.1配制欢迎文件清单 9
4.2.2工作原理:
10
4.2.4配置Struts标签库和自定义标签库 10
4.4相关技术支持 11
4.5Struts多模块配置 11
4.6代码实现部分 11
4.4.1Struts展现层:
11
4.4.2spring业务层:
12
4.4.3hibernate持久层:
13
5总结 13
6谢辞 14
7参考文献及附录 15
1选题背景
1.1全开架图书馆的优势
全开架借阅管理系统与“闭架式”,“书库式”管理系统相比,显示其独特的优势,为读者和管理者提供了满意的操作平台,充分发挥了各自的主题作用。
全开架借阅不仅简化手续,保证了信息的完整性和准确性,而且大大提高了图书及信息的利用率,节省了大量的时间。
这是读者和管理员都满意的服务方式
1.2全开架图书馆开放管理的必然趋势
十七世纪被誉为“图书学开山鼻祖”的法国学者加布里埃.诺迪指出:
“图书馆应当对公众开放”。
西方发达国家图书馆凭借雄厚的经济实力和技术实力早已实现了开架借阅。
与之相反,“闭架式”,“书库式”的管理方式已制约了特别是高校图书馆的发展。
因此,图书馆实行全开架借阅方式势在必行。
1.3全开架图书馆设计的开发环境
系统是以JavaServerPages2.0开发环境作为主要开发工具,使用MySQL作为关系数据库,配合功能强大的SQL查询语言实现建立关系数据库,访问数据库,对数据库的更新,较好地实现了预定的需求功能。
使用了客户端/服务器结构,并使用MySQL创建中心数据库,提供完整的XML支持,还具有构成Web站点的数据存储组件所需的可伸缩性、可用性和安全功能等特点。
可伸缩性和可用性。
同一个数据库引擎可以在不同的平台上使用。
此外,MySQL支持联合服务器、索引视图和大型内存支持等功能,使其得以升级到最大Web站点所需的性能级别。
数据库功能。
数据库引擎充分保护数据的完整性,同时将管理上千个并发修改数据库用户的开销减到最小。
SQL分布式查询可以引用来自不同数据源的数据,就好像数据是SQL数据库的一部分,同时分布式事务支持充分保护任何分布式数据更新的完整性。
可将一组数据复制到多个移动的脱接用户,使这些用户自主地工作,然后将他们所做的修改合并回发布服务器中
1.4全开架图书馆设计的功能简介
全开架图书馆主要实现了5个方面的功能:
1.图书查询,对图书进行查询,可查询书本的当前状态和相关信息;
2.借阅管理,包括书籍借阅和书籍归还的管理;
3.图书管理,主要实现书库的管理和书籍的管理,包括书库的建立和删除,新书的入库和废书的删除等;
4.借阅者管理,是对借阅者信息和借阅进行管理;
5.系统管理,是对系统的权限管理。
系统设计利用JSP开发工具和Mysql数据库来开发这个图书管理系统。
系统要解决的图书管理所要解决的问题,可以满足图书管理基本要求,包括添加、修改删除管理等功能。
系统能根据用户的需求,快捷方便的为读者提供借阅服务。
2可行性分析
2.1技术可行性
对于现在的pc机和开发软件配置都能满足的软件需要,一个班级开发一个系统,有相应的人力,和林老师的帮助支持,技术上是可行的。
图书馆管理系统的工作主要是在读者和图书馆之间架起一座桥梁,能相互沟通信息和处理信息。
这一特点非常适合计算机特点,通过网络internet技术,发挥计算机的信息传输速度快、准确度高的优势。
计算机硬件和软件技术的飞速发展,为系统的建设提供了技术条件。
2.2经济可行性
开发需求较低,加上成熟的软硬件环境、目标系统并不是十分复杂和开发周期较短,人员经济支出有限。
开发完成运行后,为使用者带来便利,为系统的进一步推广创造了条件,经济收益将远超过投资。
从经济角度考虑,此系统开发可行。
2.3社会可行性
目前已有很多成功开发图书馆管理系统的先例,社会需要图书馆管理的现代化和信息化。
图书馆管理系统开发和运行与国家的政策法规不存在任何冲突和抵触之处。
另外,图书馆管理系统所采用的操作和工作方式符合工作人员和读者的日常习惯,而且操作方便灵活,便于学习。
具有可行性。
3需求分析
3.1系统的需求分析
系统的主要目的是实现一个全开架图书管理系统。
系统有2类用户分别为管理员、读者会员。
管理员经口令认证进人系统后,管理员可完成维护系统的功能,包括管理图书和管理会员。
读者则完成查询图书、修改个人资料、查询个人借阅信息的功能,工作完成后可以退出系统。
系统需要用到的技术有,Eclipse,Dreamweaver的开发工具和运用jsp+serverlet+javabean的开发模式,还有java语言的相关技术。
数据库我们用到mysql数据库的相关技术。
3.2功能需求分析
随着图书的日益增多,传统的手工图书管理不仅工作量大,而且容易出现问题。
图书管理设计的内容非常复杂而且繁多,比如拥有图书信息录入管理、用户信息管理、图书借阅管理和归还管理,图书的查询和修改等。
由于系统主要是为方便管理员定制开发的,因此针对图书管理的实际工作而言,经过了反复地论证,最终确定了图书管理系统的设计方案,图书管理系统的主要功能为:
(1)用户登录。
管理员或会员根据工作证和密码登录系统进行身份验证。
(2)查询图书。
登录系统后进行图书检索,并可以通过点击图书名称查看书本详细信息。
可以查看到书本的所有信息及借阅信息。
(3)添加图书。
只有管理员登录成功后才能添加图书。
通过点击导航条上的“添加图书“超链接进入添加图书页面,填好后点提交,就进数据库了。
(4)修改图书。
只有管理员登录成功后才能修改图书。
通过点击导航条上的“修改图书“超链接进入修改图书页面,修改好后点提交,就进数据库了。
(5)删除图书。
通过点击导航条上的“删除图书“超链接进入删除图书页面,点删除就可将书删除。
(6)修改和查询个人信息。
4全开架图书馆个人设计实现部分
4.1图书管理模块概要设计
首先进入登陆界面,验证用户名和密码,根据用户权限不同分别进入管理员界面或普通用户界面。
管理员对用户登录信息,图书信息进行管理,普通用户根据分配的用户名,密码进行登录查询图书信息。
本模块包括登陆页,普通用户页面,管理员页面,添加用户页面,添加图书信息页面,查询页面,增加页面,删除页面等。
登陆界面(zrpbysjt01--图一)
借书界面(zrpbysjt02--图二)
4.2Struts具体的环境搭建
Struts应用采用两个基于XML的配置文件来配置应用。
这两个配置文件为web.xml和struts-config.xml.其中,web.xml适用于所有的JavaWeb应用,它是web应用的发布描述文件,在JavaServlet规范中对它做了定义。
struts-config.xml是Struts应用特有的配置了和Struts相关的信息。
4.2.1配制欢迎文件清单
<
welcome-file-list>
<
welcome-file>
/frame/welcome.jsp<
/welcome-file>
/welcome-file-list>
Struts的中心控制器(ActionServlet)接受所有来自客户端的请求,并根据系统的配置(Struts-config.xml)路由HTTP请求到其他Action对象(开发者实现的org.apache.struts.action.Action的子类),在这些Action对象中会进行所有的业务操作,比如插入一条订单,修改一条记录。
处理完毕,由Struts的ActionServlet转向到JSP页面,将处理结果返回给客户端。
从这儿可以看出在Struts中ActionServlet担任了重要的角色,由它控制所有的程序流转,是MVC三个相对独立的部分协调工作,提供系统的完善功能。
4.2.3配置错误处理页面
Struts框架会把不能处理的错误或异常抛给Web容器.在默认情况下,Web容器会向用户浏览器直接返回原始错误信息.我们可以通过配置<
error-page>
元素来自
定义错误页面.以下代码演示了如何避免用户直接看到HTTP404或HTTP500错误页面.
<
error-code>
404<
/error-code>
location>
/common/404.jsp<
/location>
/error-page>
我们也可以为Web容器捕获的Java异常配置<
元素,这时需要设置<
exception-type>
子元素,它用于指定Java异常类.
java.io.IOException<
4.2.4配置Struts标签库和自定义标签库
Struts提供了一些实用的客户化标签库.如果在应用中使用了这些标签库或其他基于Struts的第三方标签库,我们都要在Web应用发布描述符文件中配置它们.
taglib>
taglib-uri>
/WEB-INF/struts-layout.tld<
/taglib-uri>
taglib-location>
/taglib-location>
/taglib>
4.4相关技术支持
4.5Struts多模块配置
修改Web.xml配置
对子模块的配置文件可以放在任意的位置,为了让Tomcat能够找到它们的位置,你需要在web.xml中配置
<
init-param>
<
param-name>
config<
/param-name>
param-value>
/WEB-INF/struts-config.xml<
/param-value>
/init-param>
config/module2<
/WEB-INF/module2/struts-config.xml<
在应用的根目录下面分别建立子模块的目录:
WebRoot>
/module2。
里面放置子模块自己的jsp,html和图片等资源。
这里需要注意,在配置web.xml时指定的"
config/module2"
就已经隐含的指定子模块的名字分别是module2所以,子模块的目录叫起名叫"
module2"
4.6代码实现部分
B/S(Browser/Server,9uf4?
;
L--保护版权!
尊重作者!
反对盗版!
中国大悟论坛版权所有[]--ig[q/n`4w浏览器/服务器)模式又称B/S结构。
B/S模式是指在TCP/IP的支持下,以HTTP为传输协议,客户端通过Browser访问Web服务器以及与之相连的后台数据库的技术及体系结构。
它由浏览器、Web服务器、应用服务器和数据库服务器组成。
客户端的浏览器通过URL访问Web服务器,Web服务器请求数据库服务器,并将获得的结果以HTML形式返回客户端浏览器。
{%NwN)o.tu--保护版权!
中国大悟论坛版权所有[]--mRi7,t
它是随着Internet技术的兴起,l9+BJE5N--保护版权!
中国大悟论坛版权所有[]--9Q?
IJ)=d`对C/S模式应用的扩展。
EmOlv~N"
--保护版权!
中国大悟论坛版权所有[]--bV_K7q在这种结构下,LC#K4,%3Ug--保护版权!
中国大悟论坛版权所有[]--yYn(HSd6i用户工作界面是通过IE浏览器来实现的。
相较于C/S模式的系统升级维护复杂来说,€ny0|_*?
#--保护版权!
中国大悟论坛版权所有[]--=)DY€qG?
B/S模式最大的好处是运行维护比较简便,.Aw?
``PK--保护版权!
中国大悟论坛版权所有[]--GMq#R/2能实现不同的人员,OwlW:
R--保护版权!
中国大悟论坛版权所有[]--+'
g3PWPS从不同的地点,0BV2KG--保护版权!
中国大悟论坛版权所有[]--I}ww,ZD%=以不同的接入方式(比如LAN,WAN,Internet/Intranet等)访问和操作共同的数据。
另外,B/S还便于面向广大未知用户使用,因为只要电脑安装了IE,经过一定的设置,就都可以使用,如建立企业网站发布信息。
publicActionForwardreturnDefault(ActionMappingmapping,ActionFormform,
HttpServletRequestrequest,HttpServletResponseresponse){
//request.setAttribute("
dateFormater"
newSimpleDateFormat("
yyyy-MM-dd"
));
request.setAttribute("
borrows"
borrowBiz.getBorrowRecords());
returnmapping.findForward("
unreturn"
);
}
publicActionForwarddoReturn(ActionMappingmapping,ActionFormform,
intid=Integer.parseInt(request.getParameter("
id"
Borrowborrow=borrowBiz.getBorrowRecordById(id);
borrow.setReturnTime(newDate());
borrowBiz.returnBook(borrow);
returnreturnDefault(mapping,form,request,response);
publicList<
Borrow>
getBorrowRecords(){
returngetUnReturnList(borrowDAO.findAll());
privateList<
getUnReturnList(List<
list){
List<
result=newArrayList<
();
for(Borrowborrow:
list){
if(borrow.getReturnTime()==null){
result.add(borrow);
}
}
returnresult;
publicvoidreturnBook(Borrowborrow){
borrowDAO.update(borrow);
publicListfindAll(){
log.debug("
findingallBorrowinstances"
try{
StringqueryString="
fromBorrow"
returngetHibernateTemplate().find(queryString);
}catch(RuntimeExceptionre){
log.error("
findallfailed"
re);
throwre;
publicvoidupdate(BorrowtransientInstance){
savingBorrowinstance"
getHibernateTemplate().update(transientInstance);
log.debug("
savesuccessful"
savefailed"
5总结
图书馆图书借阅管理系统到这里才告一个段落,还不仅仅是到此就结束了,以后还有很多的功能要添加进来,到后面还要添加期刊管理,音像制品的管理等等功能,对于一个专业的图书馆管理软件,仅仅只有这些功能还是不够的,目前还在跟进这个系统,整个系统我们还在根据用户所提出的意见在慢慢的完善之中。
就本次的毕业设计而言,在学到了新的东西的同时,也发现了大量的问题,在慢慢解决这些问题的时候,我学到的东西是最多的。
以后继续走编程这条路碰到的问题还会更多,但同时也会有更多的收获。
与毕业设计结果相比,设计的过程更使得我受益匪浅,因为毕业设计就是要求我们将所学到的理论知识融会贯通并加以应用的过程。
就我个人来说,大学阶段所学到的理论知识,从未真正将他们付诸实践。
因此,在完成这毕业设计后,将所学的知识得到了一次升华,做到了学以致用。
6谢辞
在毕业设计过程中,得到了林好老师的指导与支持。
在总体结构、功能的把握上给予了非常大的帮助,林好老师认真负责的工作态度、严谨的治学风格,使我深受启发;
开发的同时,和同学之间的相互探讨也使我获益匪浅。
同时感谢在大学三年生活中给予我们关心和帮助的老师和同学,是他们教会了我们专业的知识和做人的道理。
通过这次毕业设计我还明白了作为一名计算机专业的大学毕业生,我们要会的不仅仅是编写代码,更重要的是要有整体把握系统设计的能力。
我会在以后的工作和学习中不断完善自己,为自己翻开辉煌的新篇章。
转眼间,大学生活即将结束,回首过去三年的大学生活,真是有苦也有乐,然而更多的则是收获。
计算机专业的毕业设计任务繁重,但正是在这几个月紧张而充实的设计中,我感到自己的知识得到了一次升华,我相信:
我的毕业设计会给我的三年大学画上一个圆满的句号。
21世纪已经到来了,在新的世纪里,人们自然对未来有许多美好的愿望和设想。
现代科学技术的飞速发展,改变了世界,也改变了世界的生活。
作为新世纪的大学生,应当站在世界的发展前列,掌握现代科学技术知识,调整自己的知识结构和能力结构,以适应社会发展的要求。
新世纪需要具有丰富现代科学知识、能够独立解决面临任务、有创新意识的新型人才。
7参考文献及附录
[1]孙卫琴,李洪成.《Tomcat与JavaWeb开发技术详解》.电子工业出版社,2003年6月:
1-205
[2]BruceEckel.《Java编程思想》.机械工业出版社,2003年10月:
1-378
[3]FLANAGAN.《Java技术手册》.中国电力出版社,2002年6月:
1-465
[4]孙一林,彭波.《Java数据库编程实例》.清华大学出版社,2002年8月:
30-210
[5]LEEANNEPHILLIPS.《巧学活用HTML4》.电子工业出版社,2004年8月