JSP课程设计.docx
- 文档编号:4914793
- 上传时间:2022-12-11
- 格式:DOCX
- 页数:14
- 大小:905.17KB
JSP课程设计.docx
《JSP课程设计.docx》由会员分享,可在线阅读,更多相关《JSP课程设计.docx(14页珍藏版)》请在冰豆网上搜索。
JSP课程设计
课程设计
《JSPWeb应用》
题目:
图书管理系统
指导教师:
郭杨
院系:
滨江学院
专业:
软件工程(动漫)
姓名:
李吉
学号:
2013年12月12日
前言
随着时代的发展,在现代中小型图书管理系统中,如何方便快捷地为用户提供服务、提高图书的利用率等问题变得越来越突出。
借助网络,在图书管理和用户之间建立一个交互的电子平台,将大大提高中小型图书管理的管理水平和现代化程度。
图书管理系统正是趋于这个目标而设计,主要实现了5个方面的功能:
1.图书查询,对图书进行查询,可查询书本的当前状态和相关信息;2.借阅管理,包括书籍借阅和书籍归还的管理;3.图书管理,主要实现书库的管理和书籍的管理,包括书库的建立和删除,新书的入库和废书的删除等;4.会员管理,是对会员信息和借阅进行管理;5.系统管理,是对系统的权限管理。
系统设计利用JSP开发工具和SQLSERVER2000数据库来开发这个图书管理系统。
系统要解决的图书管理所要解决的问题,可以满足图书管理基本要求,包括添加、修改删除管理等功能。
系统能根据用户的需求,快捷方便的为读者提供借阅服务。
背景介绍
计算机技术的迅猛发展,特别是随着网络技术的出现标志着信息时代已经来临。
信息化浪潮、网络革命在给社会带来冲击的同时,也使图书馆业务受到了强烈的冲击,图书馆传统的管理和服务方式已不能适应读者对日益增长的文献信息的需求,建设图书馆信息网络系统,是图书馆现代化建设的客观要求。
建设以计算机为核心的图书馆信息网络,实现图书馆管理和服务的自动化,更好地为科技工作服务,是图书馆发展的必由之路。
目前,国内大部分大型的公共图书馆和高校图书馆都实现了网络管理,中小型图书馆(包括企业图书馆),也在朝着这个方向发展。
现代企业的迅猛发展, 对图书资料的需求量增大, 图书资料越来越多, 传统手工卡片式的图书借阅管理模式已经不能满足现状, 因此有必要采用先进的计算机技术对图书资源进行科学的管理。
针对中小型图书管理系统的特点和要求, 综合各方面的考虑采用JSP, JAVABEAN 和JDBC 等技术开发本系统。
系统为三层B/S 体系结构,Tomcat 作为Web服务器MYSQL 作为数据库服务器使用HTML,JAVASCRIPT, JSP 进行网络应用程序的开发,利用JDBC 访问机制对后台数据库进行访问。
第一章系统介绍
第一节需求分析
系统的主要目的是实现一个图书管理系统。
系统有2 类用户分别为管理员、读者会员。
管理员经口令认证进人系统后,管理员可完成维护系统的功能, 包括管理图书和管理会员。
读者会员则完成查询图书、修改个人资料、查询个人借阅信息的功能, 工作完成后可以退出系统。
由于系统主要是为方便管理员定制开发的,因此针对图书管理的实际工作而言,经过了反复地论证,最终确定了图书管理系统的设计方案,图书管理系统的主要功能为:
(1) 用户登录。
管理员或会员根据工作证和密码登录系统进行身份验证。
(2) 查询图书。
登录系统后进行图书检索, 并可以通过点击图书名称查看书本详细信息。
可以查看到书本的所有信息及借阅信息。
(3) 添加图书。
只有管理员登录成功后才能添加图书。
通过点击导航条上的“添加图书“超进入添加图书页面,填好后点提交, 就进数据库了。
(4) 修改图书。
只有管理员登录成功后才能修改图书。
通过点击导航条上的“修改图书“超进入修改图书页面,修改好后点提交, 就进数据库了。
(5) 删除图书。
只有管理员登录成功后才能修改图书。
通过点击导航条上的“删除图书“超进入删除图书页面,点删除就可将书删除。
(6) 修改和查询个人信息。
第二节业务流程
根据需求分析的得到的现行业务处理流程,在反复研究后,首先确定目标系统的业务流程,其处理流程如图1.2.1。
图2.1 图书管理系统的业务流程
第二章系统设计
第一节模块划分
依据需求分析阶段得到的数据流图,在保证系统基本功能要求的前提下,结合系统业务流程确定系统必须具备的所有功能,由此给出图书馆管理系统的系统功能模块图如图2.1.1所示:
图2.1.1图书管理系统功能模块图
第二节界面设计
2.2.1用户登录
当系统登陆时,首先出现的是一个用户权限登陆的界面, 权限设置主要是维护系统的安全性和完整性。
拥有管理员权限的操作员能对其他操作员进行相应的权限设置,没有权限的操作员不能对相应的窗口进行操作。
如下图2.2.1所示:
图2.2.1
这是进入系统时的身份验证,用户首先要从软件开发者那里申请用户名和密码,才可以进入。
2.2.2 添加图书信息
身份验证通过以后,点击可以使用系统的基本信息管理界面,这是管理员主要的输入信息部分,它即可以对数据进行输入。
填写好各项信息后,单击保存按钮,系统将对这些信息进行处理。
界面见下图2.2.2所示:
图2.2.2
2.2.3图书类别管理
点击可以使用系统的基本信息管理界面,这是管理员主要的输入信息部分,它即可以对数据进行输入。
填写好各项信息后,单击保存按钮,系统将对这些信息进行处理。
界面见下图2.2.3:
图 2.2.3
2.2.4管理员设置
增加系统管理员,可以增加、修改、删除系统管理员用户。
如下图2.2.4所示:
图2.2.4
2.2.5 图书借阅管理
模块可以实时显示借阅状态,借阅日期已经产生的借阅费用,并可进行还书和修改操作,会员卡号还可到会员详细信息页面。
如下图2.2.5所示:
图2.2.5
2.2.6会员信息管理
直观、形象的展示会员个人详细资料,模拟实际应用中会员办卡功能,并可以注销、修改会员卡操作。
如下图2.2.6所示:
图2.2.6
第三节数据库设计
数据库设计是要在一个给定的应用环境(DBMS)中,通过合理的逻辑设计和有效的物理设计,构造较优的数据库模式、子模式,建立数据库和设计应用程序,满足用户的各种信息需求。
物理结构设计的原则如下:
(1) 尽可能的减少数据冗余和重复
(2) 结构设计与操作设计相结合(3) 数据结构具有相对的稳定性。
基于以上设计原则,系统设计了一个数据库,包含基本信息表(如图书信息表、系统用户表等)及几个实体联系建模后的表(如借阅信息表、会员信息表等)。
为了加快系统访问的速度把这些表放在一个数据库中。
2.3.1 数据库的逻辑设计
在需求分析阶段已完成该系统所有的数据分析。
根据该阶段所建立的概念模型,已经得出满足系统设计要求的几个关系描述,该阶段的主要工作就是把前一阶段的成果转化为具体的数据库。
下面给出概念结构设计得E-R图。
1:
管理员实体E-R图:
2:
会员信息实体E-R图:
3:
图书信息实体E-R图:
4:
借书信息实体E-R图:
5:
还书信息实体E-R图:
6:
总体E-R图:
2.3.2数据库物理设计
Admin表是用户记录用户的信息(包括:
用户名,密码,创建时间,借阅状态,是否使用,登录次数,以及权限等)
Adminlog表用于记录用户登录的详细信息(包括:
用户名,密码,登录时间,登录者的ip地址,登录着使用的操作系统,状态等)
Book表用于记录书籍的详细信息( 包括:
图书类型,书名,作者,,条形码编号,价格,数量,读者意见,借阅价格,添加时间等)
Booktype表用于记录图书的全部类型,(包括:
图书类型名称,添加类型时间等)
Yj表用户记录图书的借阅信息,(包括:
图书证号,图书编号,借阅时间,返还时间,是否超期,是否归还等)
Member表用于记录会员的全部详细信息(包括:
图书证号,XX,性别,年龄,地址,,email,信誉度,加入会员的时间等)
System表用户记录项目的系统功能
第四节程序设计
2.4.1 图书管理系统索引
图书管理系统开发中存在大量的数据和信息检索,怎样更好的检索数据和信息操作是保证检索速度的提高和数据的分页显示,主要考虑了以下几个方面:
(1)设计逻辑结构时充分考虑冗余量和可处理性两方面的要求,在接受冗余量的提下,尽量减少表的连接操作。
(2)关系的大小对查询的影响也是很大的,因此为了提高数据库的查询速度,减小系的大小和数据量也是必要的。
(3)建立合理的索引结构。
索引相当于一个映射机构,将键值转换成相对应的 记录地址,形成索引文件。
索引设计是数据库物理设计的基本问题,也是较困难的问题,建立索引可以极大地提高系统的查询速度,但是同时做Insert、Update、Delete操作时会降低速度,因为做这些操作的同时需要更新索引,所以不能对数据库中所有的表都建立索引。
比如满足下列条件之一的不易建立索引:
不出现或很少出现的属性或表、属性分布严重不均的属性、经常更新的属性或表、过长的属性、太小的表等。
满足下列条件之一的可以考虑建立索引:
主键和外键都建立索引、对于以读为主或只读的表,只要需要,且存储空间允许,可以减少连接开销、对于等值查询(即查询条件以等号为比较符),最好建立索引、对查询X围(即查询条件>,<,≤,≥为比较符),最好建立索引、有些查询可以由检索直接得到结果,不必访问数据块。
根据实际需要,读者信息表,图书信息表,图书借还信息表,权限信息,管理员信息表等都建立索引,合理使用缓冲区。
2.4.2 如何验证输入的字符串
在图书管理系统的开发过程中,需要对一些输入的字符串进行验证,例如金额、、等,由于许多模块都需要用到这些验证,因此可以将其写入到一个公共类中然后在其他的页面中直接调用即可。
C#中对字符串进行验证时,可以使用Regex类,要使用正则表达式验证输入的字符串,如验证输入的字符串是否为的地址格式的实现方法。
代码如下:
#region 验证输入为Email
///
/// 验证输入为Email
///
///
///
public bool validateEmail(string str)
{
return Regex.IsMatch(str,
"\w+([-+.']\w+)*\w+([-.]\w+)*\.\w+([-.]\w+)*");
}
#endregion
2.4.3 自动计算图书归还日期
在图书管理系统运行中会常常遇到这样的问题:
在借阅图书时,需要自动计算图书的归还日期,而这个日期又不是固定不变的,它是需要根据系统日期和数据表中保存的各类图书的最多借阅天数来计算的,即图书归还日期=“系统日期”+“最多借阅天数”。
因此本系统是这样解决问题的:
首先获取系统时间,然后从数据表中查询出该类图书最多借阅天数,最后计算归还日期。
计算方法如下:
首先取出所借图书的最多借阅天数,然后根据图书的最多借阅天数,使用TimeSpan.FromDays方法返回一个TimeSpan,最后使用当前时间与先返回的Timespan时间间隔相加。
自动计算图书归还日期的关键代码如下:
int days = Convert.ToInt32(btypemanage.FindBTypeByName(btypemanage,
"tb_booktype").Tables[0].Rows[0][2].ToString());
TimeSpan tspan = TimeSpan.FromDays((double)days);
borrowandbackmanage.YGBackTime = borrowandbackmanage.BorrowTime + tspan;
2.3.4 系统登陆验证码的实现
在学校图书管理系统的开发过程中,怎么样防止某些人利用某些恶意的软件对图书管理系统进行恶意的登陆来攻击系统,增加图书管理系统的安全性是一个重要的问题。
在图书管理系统的登陆模块中加入一个验证码的功能,即用户除了要输入XX和密码还要输入系统为用户提供的验证码。
验证码可以很好的解决了怎样防止恶意用户利用恶意软件对系统页面的疯狂提交、以及暴力破解密码进行登陆的问题。
因此,设置一个随机函数在数字0~9和英文字母A~Z中随机抽取四个,在用户打开登陆界面的时候,系统通过随机生成器随机生成4个数字或字母或数字加字母存放在缓存内,并出现在界面上顺序是随机的,当用户登陆时输入的验证码要与缓存中的进行对比符合就进入,不符合就不能登陆。
系统在提供验证码时候要加入一些干扰的条件的,不过这些人的肉眼是很容易分辨,但机器人程序不能分辨,很好的防止某人利用机器人程序对系统的恶意操作增加了系统的安全性。
小结
经过几个月的设计和开发,学校图书管理系统基本开发完毕。
其功能基本符合用户需求。
对于数据的一致性的问题也通过程序进行了有效的解决。
但是该系统还有许多不尽如人意的地方,在今后有待进一步改善。
通过这次毕业设计真切地体会到毕业设计的目的并不止于自己单纯任务的完成,而在于学习新的知识并掌握具体的方法,如何具体使用和具体应用你所学所用的语言。
从而获得一种本领:
就是融会贯通各种语言。
回首整个开发设计过程,我学到了很多书本上学不到的东西。
参考文献
[1]朱敏等,Jspweb应用教程。
:
清华大学,2010.
[2]孙一林,彭波.《Java数据库编程实例》. 清华大学,2002
[3]耿祥义,X跃平.《JSP实用教程》. 清华大学,2003
[4]Brown等.《JSP编程指南(第二版)》. 电子工业 ,2003
[5]孙卫琴,李洪成.《Tomcat 与 Java Web 开发技术详解》.电子工业,2003
[6] 王珊,萨师煊.数据库系统概论(第四版)[M].高等教育,2006
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JSP 课程设计
![提示](https://static.bdocx.com/images/bang_tan.gif)