为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

南昌大学javaweb大作业报告书

2018-12-01 9页 doc 126KB 71阅读

用户头像

is_594886

暂无简介

举报
南昌大学javaweb大作业报告书 软件学院大作业实验报告 题  目:        基于Struts的图书管理系统                          专    业:          软件工程                    班    级:        122班(java方向)            学    号:            8000112163                学生姓名:            王冠                      完成人数:            1 人        ...
南昌大学javaweb大作业报告书
软件学院大作业实验报告   目:        基于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,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索