欢迎来到天天文库
浏览记录
ID:21862843
大小:27.00 KB
页数:5页
时间:2018-10-25
《基于struts和hibernate的图书管理系统设计与实现》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、基于Struts和Hibernate的图书管理系统设计与实现 [摘要]本文?对高校图书馆存在的问题,采用Struts和Hibernate技术设计实现图书管理系统,满足校园图书馆对图书管理的需求。该系统采用B/S结构,使用JSP开发前台网页,后台使用Hibernate对Mysql数据库进行数据操作。重点从总体框架、层次结构、数据库方面,对图书管理系统进行设计,并对系统进行测试,结果显示系统符合预期要求,提高了图书管理人员的工作效率。下载论文网/3/ [关键词]图书管理系统;Struts;Hibernate doi:/- [中图分类号][文献标识码]A[文章编号]1673-0
2、194(2017)20-0-02 0引言 本文设计并实现了图书管理系统,以能够完成图书、读者等基本信息的录入与查询,实现图书的借阅与归还,并能通过动态的权限分配,使管理人员拥有各自的功能管理,不互相影响,进而控制各级别管理人员不越权使用本系统。 1Struts和Hibernate技术 Struts是基于MVC(Model-View-Controller)设计模式的一个框架。MVC设计模式,降低了数据处理和数据显示之间的耦合性,从而增强了程序的可复用性和易维护性。Struts的处理过程如下。 (1)通过客户端JSP页面与用户进行交互,将页面提交的数据封装到JavaBean中。
3、 (2)通过请求路径查找配置文件中Action的配置,找到并调用相应的Action。 (3)在Action中调用业务逻辑方法处理用户请求。 (4)查找相应的Result,并找到正确的JSP页面进行转发,返回给客户端。 Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使Java程序员可以随心所欲地使用面向对象的思维方式,操作关系数据库。Hibernate是Java应用和关系数据库之间的桥梁,将应用层的对象操作直接转化为数据库的表操作。Hibernate可应用在任何使用JDBC的场合,即可以在Java客户端程序中使用,也可以在使用JSP的
4、Web应用中使用,完成数据的持久化操作。 因此,本文将Struts和Hibernate两种框架技术结合起来,通过Struts降低MVC各层之间的耦合,增强系统的可维护性;并利用Hibernate封装数据库操作部分,增强系统的复用性,以形成快速实现Web应用的有效方案,从而更加高效地完成图书管理系统。 2图书管理系统总体设计 图书管理系统包括用户管理、图书分类管理、图书管理、读者分类管理、读者管理、借阅管理、归还管理、罚金管理以及动态权限分配等多个模块,如图1所示。 各功能模块说明如下。 (1)图书分类管理包括图书分类添加、图书分类删除、图书分类修改以及图书分类查询。 (2)
5、图书管理包括图书添加、图书删除、图书修改、图书查询以及图书封面的上传、下载。 (3)读者分类管理包括读者分类添加、读者分类删除、读者分类修改以及读者分类查询。 (4)读者管理包括读者添加、读者删除、读者修改、读者查询以及读者照片的上传、下载。 (5)借阅管理包括图书借阅、图书借阅记录删除、图书借阅查询。在图书借阅时,管理人员先统计该读者是否有超期的图书,如果有提示不能借阅,并跳转到相应的缴纳罚金页面,再统计该读者的借阅数量,如果超过最大借阅数量,进行相应提示,否则添加借阅信息,并将当前图书设置为“已借”状态。 (6)归还管理包括图书归还、图书归还记录删除、图书归还查询。归还时,
6、如果该书已超期,跳转到相应的缴纳罚金页面,否则修改归还日期为系统当前时间,并将当前图书设置为“可借”状态。 (7)罚金管理包括缴纳罚金、罚金删除、罚金查询。罚金的计算公式为:罚金=超期后每天罚金数×(归还日期-借阅日期-最大借阅天数) 3图书管理系统层次结构 图书管理系统采用Struts框架作为开发的框架,采用四层结构,JSP作为视图层,Action类与配置文件作为控制层,Business类作为业务逻辑层,Hibernate作为数据持久化层,采用Mysql作为数据库。JSP传递用户请求到Action层,Action层调用Business层进行处理,并返回到相应的JSP页面进行显示
7、,而Business层调用Hibernate进行数据处理。 4图书管理数据库设计 图书管理系统设计一个数据库BookDB,含有9个表,分别是用户表(UserInfo)、图书分类表(BookCategory)、图书表(Book)、读者分类表(ReaderCategory)、读者表(Reader)、借还表(Borrow)、罚金表(Fine)、功能菜单表(MenuTree)以及权限分配表(UserRole)。其中,读者分类中含有最大借阅数量、最大
此文档下载收益归作者所有