南昌大学javaweb大作业报告书
软件学院大作业实验报告
题 目: 基于Struts的图书管理系统
专 业: 软件工程
班 级: 122班(java方向)
学 号: 8000112163
学生姓名: 王冠
完成人数: 1 人 ...
软件学院大作业实验报告
目: 基于Struts的图书管理系统
专 业: 软件工程
班 级: 122班(java方向)
学 号: 8000112163
学生姓名: 王冠
完成人数: 1 人
起讫日期: 2015/05/20
任课教师: 周兴斌 职称: 副教授
部分管主任: 刘晓强
完成时间: 2015/05/30
目录
1.前言 3
1.1 实验目的 3
1.2 实验的基本要求 3
2. 系统
与
3
2.1 系统功能描述(简单需求分析) 3
2.2 系统功能流程 3
2.3数据库设计 4
2.3.1数据表的构建 4
3.系统的实现与测试 5
3.1系统采用的关键技术 5
3.2 关键程序流程 6
3.3 关键代码分析 7
3.4 出现的问题及解决 18
3.4.1向数据库中插入数据出现乱码以及界面显示有中文乱码问题: 18
3.4.2弹出提示框问题 19
4. 系统界面 19
4.1 进入系统界面 (登录界面) 19
4.2 管理员模块界面: 19
4.3 添加图书界面: 20
4.4 罚金设置界面: 20
4.5 用户管理界面: 20
4.6 用户模块界面: 21
4.7 图书检索、借阅界面: 21
4.8 续借图书界面: 22
4.9 归还界面: 22
4.9 安全退出界面: 23
5.操作
23
5.1 登录 23
5.2 图书检索,借阅 23
5.3图书归还,续借 23
5.4图书,用户的添加 23
5.5 图书,用户的删除操作 24
5.6 图书,用户的更新操作 24
6.分析与
24
6.1实验分析与总结 24
7.附录: 25
7.1 参考文献: 25
7.3 MVC架构模式的认识 25
1.前言
1.1 实验目的
学习Web应用程序的开发,以B/S方式,JSP编程技术开发图书管理系统;
通过编程实践掌握JSP的动态网页与sql2012数据库相结合的技术;
通过MVC(模型-视图-控制)架构模式,使其在开发过程中得以应用,并了解Web编程模式下的Model1和Model2 的区别;了解Struts框架的具体含义及在Struts模式下的开发。
1.2 实验的基本要求
数据库表不少于3个,且表之间必须存在关联。
页面设计布局合理,颜色使用恰当,风格统一,页面应不少于10个。
系统功能不少于6个,且能正确运行。
系统采用面向对象的方式设计,尽量使界面、业务、数据之间的耦合关系降低。
代码实现尽量使用事件处理、事务处理。
系统应对一些常见的异常进行适当的处理。
数据的操作以事务的方式实现,要求处理并发问题。
2. 系统分析与设计
2.1 系统功能描述(简单需求分析)
图书管理系统是典型的信息管理系统(MIS),本系统是根据现代化校园的发展而设计的基于jsp的图书管理系统,本系统就是为了管理好图书信息和借阅等一系列操作而设计的。
图书管理系统需要满足来自两方面的需求,这三个方面分别是学生和管理员。学生的需求是查询图书馆的藏书,借阅图书,和退换图书等功能;管理员的功能最为复杂,包括对学生、图书进行管理,及系统状态的查看、维护并。学生要使用图书管理系统,需要进行登陆,登陆之后则可以进行一系列的操作,例如:查询图书,借阅图书,归还图书等功能。而作为管理员,则可以对学生进行添加,只有已添加有卡号的学生才可以进行图书管理系统的登陆,管理员还可以对图书进行增,删,改,查。亦可以对用户进行增,删,改查等功能。
2.2 系统功能流程
为了满足以上的需求,系统分成了两大模块,普通用户模块和管理员模块。
功能模块图如图所示。
相应Struts页面流程如下所示(电子版可自行放大):
2.3数据库设计
2.3.1数据表的构建
本系统采用如下的数据表:
用户信息表 users:用于记录用户信息数据表
字段名
类型
长度
是否为主键
可否为空
说明
ID
nchar
10
是
否
用户ID
username
nchar
10
否
否
用户姓名
password
nchar
10
否
否
用户密码
cardnum
int
10
否
否
卡号信息
userlevel
int
10
否
否
用户级别
coater
int
10
否
否
借阅限额
borrowed
int
10
否
否
已借阅数
can_borrow
int
10
否
否
可借阅数
图书信息表books: (用于存储图书相关信息)
字段名
类型
长度
是否为主键
可否为空
说明
b_ID
int
10
是
否
图书ID
b_name
nvarchar
50
否
否
图书名称
b_author
nchar
10
否
否
图书作者
b_publish
nvarchar
50
否
否
图书出版社
b_type
nchar
10
否
否
图书类型
b_count
int
10
否
否
拥有数量
b_hot
int
10
否
否
欢迎度
借阅表 borrowbook: (用于表示借阅信息)
字段名
类型
长度
是否为主键
可否为空
说明
brid
int
10
是
否
借阅表id
cardnum
int
10
是
否
用户表外键
b_ID
int
10
是
否
图书表外键
borrowday
nchar
10
否
否
借阅日期
shouldreturn
nchar
10
否
否
应还日期
罚金表fine: (用于设置罚金)
字段名
类型
长度
是否为主键
可否为空
说明
fine
float
10
是
否
罚金
3.系统的实现与测试
3.1系统采用的关键技术
本系统采用的是Model2模型,Model2表示的是基于MVC模式的框架。MVC是Model-View-Controller的简写。"Model" 代表的是应用的业务逻辑(通过JavaBean,), "View" 是应用的表示面(由JSP页面产生),"Controller" 是提供应用的处理过程控制(一般是一个Servlet),通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。这些组件可以进行交互和重用。从而弥补了Model1的不足。
Model2具有组件化的优点从而更易于实现对大规模系统的开发和管理,但是开发MVC系统比简单的JSP开发要复杂许多,它需要更多的时间学习和掌握。同时新东西的引入会带来新的问题(这让我想起来关于"自动计算"的一篇文章,中间提到为了降低系统的复杂度,却导致更高的复杂度)。必须基于MVC组件的方式重新思考和设计应用结构。原来通过建立一个简单的JSP页面就能实现的应用现在变成了多个步骤的设计和实现过程。 所有的页面和组件必须在MVC框架中实现,所以必须进行附加地开发工作。 MVC本身就是一个非常复杂的系统,所以采用MVC实现Web应用时,最好选一个现成的MVC框架,在此之下进行开发,从而取得事半功倍的效果。现在有很多可供使用的MVC框架,由于Struts有完整的文档并且相对来讲比较简单,所以用它开发MVC系统还是比较方便地。
3.2 关键程序流程
本实验的总体流程如下:
本系统应用3层架构模型,现分别对其进行阐述:
第一层架构为数据库层,也是程序的最底层(主要由DataBase.java实现),它的功能实现sql2012数据库的连接,函数里封装了几个操作。
public boolean query(String s) (用于查询数据表操作);
public ResultSet getlist(String s) (用于获取数据的可以滚动结果集) ;
public int update(String s)(用于简单的数据更新操作)
public boolean executebatch(String a[])(批处理,用于处理多条sql);
第二层为JavaBean层和DAO层,主要实现对数据表的信息及对其进行操作的信息进行封装(主要由文件Books.java、Fine.java、borrowbook.java、Users.java、BookService.java 、borrowbookSevice.java、FineService.java和 UserService.java来实现的)。在相应的JavaBean层封装了所有数据表的信息,在上述的实体类中(Books.java、Fine.java、borrowbook.java、Users.java)仅包含对属性的set和get方法,在相应的DAO层主要包含对数据表的相关操作,如获得该数据表的全部信息或部分信息,增加、删除、修改、查询相应的数据表;
本文档为【南昌大学javaweb大作业报告书】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。