JSP图书管理系统.docx

上传人:b****7 文档编号:9329009 上传时间:2023-02-04 格式:DOCX 页数:38 大小:501.26KB
下载 相关 举报
JSP图书管理系统.docx_第1页
第1页 / 共38页
JSP图书管理系统.docx_第2页
第2页 / 共38页
JSP图书管理系统.docx_第3页
第3页 / 共38页
JSP图书管理系统.docx_第4页
第4页 / 共38页
JSP图书管理系统.docx_第5页
第5页 / 共38页
点击查看更多>>
下载资源
资源描述

JSP图书管理系统.docx

《JSP图书管理系统.docx》由会员分享,可在线阅读,更多相关《JSP图书管理系统.docx(38页珍藏版)》请在冰豆网上搜索。

JSP图书管理系统.docx

JSP图书管理系统

目录

1引言3

1.1图书管理的现状3

1.2现有图书管理系统的概述4

1.3选题的目的、意义4

1.4图书管理系统的可行性分析5

1.5系统开发运行环境5

第二章本系统开发相关技术介绍6

2.1java6

2.2MySql8

2.3Struts29

2.4Hibernate10

2.5C/S结构10

2.6Web服务器12

第三章系统总体设计分析12

3.1系统需求分析12

3.2系统实现的目标13

3.3系统功能模块设计13

3.4系统功能结构图13

3.5系统流程图16

第四章数据总体结构设计17

4.1数据库概念结构设计17

4.2数据库逻辑结构设计18

4.3图书管理系统的系统E-R图20

4.4数据表设计21

第五章图书管理系统详细设计23

5.1系统流程分析23

5.2主要模块的运行23

5.2.1登陆界面23

5.2.2图书信息管理模块24

5.2.3图书借还信息模块25

5.3系统开发的遇到的相关问题及解决26

5.3.1图书管理系统索引26

5.3.2如何验证输入的字符串26

5.3.3自动计算图书归还日期27

5.3.4系统登陆验证码的实现27

第六章结论30

6.1主要研究内容及成果31

6.2今后进一步研究方向31

参考文献31

学校图书管理系统的开发

摘要

当今时代是飞速发展的信息时代。

在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。

计算机的最大好处在于利用它能够进行信息管理。

使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。

由于信息技术的发展,许多行业在经营管理过程中对计算机技术的依赖程度也不断增强。

在对JSP语言,SQLServer2005数据库技术以及当今社会的出租车行业的需求进行了较深入的学习和调查的基础上,设计出了该出租车管理系统,该系统主要实现了图书管理,用户信息及管理信息的管理同时在书籍信息管理中还包括车辆的更新,书籍的过户和监督卡管理等功能。

本论文主要阐述了书籍管理系统的需求分析,功能模块划分,数据库模式分析,并具此设计了基于c/S模式的数据库结构和JSP程序.

关键词:

JSP,SQLServer2000,ODBC,JavaBean

 

1引言

随着计算机及网络技术的飞速发展,Internet/Intranet应用在全球范围内日益普及,当今社会正快速向信息化社会前进,信息系统的作用也越来越大。

图书馆在正常运营中总是面对大量的读者信息,书籍信息以及由两者相互作用产生的借书信息,还书信息。

因此图书管理信息化是发展的必然趋势。

用结构化系统分析与设计的方法,建立一套有效的图书信息管理系统,可以减轻工作,将工作科学化、规范化,提高了图书馆信息管理的工作质量因此根据图书馆目前实际的管理情况开发一套图书管理系统是十分必要的。

1.1图书管理的现状

一直以来人们使用传统的人工方式管理图书馆的日常工作,对于图书馆的借书和还书过程,想必大家都已很熟悉。

在计算机尚未在图书管理系统广泛使用之前,借书和还书过程主要依靠手工。

一个最典型的手工处理还书过程就是:

读者将要借的书和借阅证交给工作人员,工作人员将每本书上附带的描述书的信息的卡片和读者的借阅证放在一个小格栏里,并在借阅证和每本书贴的借阅条上填写借阅信息。

这样借书过程就完成了。

还书时,读者将要还的书交给工作人员,工作人员根据图书信息找到相应的书卡和借阅证,并填好相应的还书信息,这样还书过程就完成了。

随着近年来信息技术及计算机网络技术的不断发展,图书馆也先从传统的图

书馆发展到自动化图书馆,再发展到今天的数字图书馆,这些变化使得图书馆的形象越来越现代化,人们查找资料也更加方便。

对于一些小图书馆和一些图书室来说,由于工作人员比较少,长期以来,作为图书馆的主要工作—图书借阅一直未能很好地开展。

在平常的图书借阅工作中,由于大部分读者不熟悉图书馆藏书,且对图书排架分类的不了解,往往花费很长时间才能找到其所需的书。

为提高管理效率,更好地为读者服务,利用已有的办公局域网络条件,将馆藏书籍做成基于WEB的查询系统,实现图书在一个单位的网络内甚至Internet上查询,可使图书查询和借阅变得更加方便快捷,从而使图书室的工作效率得到明显提高。

传统的图书管理模式其最大的特点是手工;首先要把买来的图书资料登记到资料本上,再给每本书分类贴上标签及制作和标签相对应的图书分类卡片,最后把图书分类卡片按类别分别放置在文件柜里。

对于有学生(教师)证的学生(教师)来说还要对他们资料作一定的记录。

并且在人们来借书的时候,首先持证件者要去存放图书分类卡片的文件柜里查找想借的书是否在架,如果卡片存在,再按照图书分类卡片在相应的书架上找到需要的图书,然后登记持证件者的借还书时间和在书签条上写下借还书记录,之后把借书证留在那里;还书的时候,相对应的消去出借记录;这样做起来比较麻烦,比较费时间。

传统图书管理的特点是一直以来,中小型书店、中小学的小型图书馆及各高校图书馆和资料室使用传统的人工方式管理图书档案、会员档案。

这种管理方式存在着诸多缺点,如:

手续繁琐、工作量大、效率低下、出错率高等,同时给对大量资料的查询、更新及维护都带来不少困难。

1.2现有图书管理系统的概述

在试用了一些个图书管理系统和查阅了大量相关资料文献的基础上,发现那些系统在几个方面已经不符合时代的要求,由于设计人员及其所用的工具的不同,有VisualBasic6.0、VisualForPro6.0、PowerBuilder等,再加上这些图书管理系统设计的时间也不一样,所用具体场合也有区别,因此在功能上除了图书资料管理所需的基本功能之外也有所不同。

经过比较总结他们都实现了以下图书管理的基本功能:

1、图书检索模块:

是图书管理系统的重要模块之一,是读者快速查询图书的途径。

2、图书管理模块:

是图书管理员操作模块,读者是无权进入的。

本模块由借出图书登记、归还图书登记和续借图书登记子模块构成。

3、数据维护模块:

是由图书管理员控制的模块,它由增加、修改和删除读者,增加、修改删除图书,浏览修改读者、浏览修改图书等程序组成。

4、数据统计模块:

由读者统计、图书统计、借出图书分类统计、到期末归还图书读者统计几部分组成。

这些系统解决了以前的那种管理方式所存在着的诸如手续繁琐、工作量大、效率低下、出错率高等缺点,设计出的系统能使读者快速检索到自己喜爱的书,图书管理员能减轻工作量。

但是鉴于开发工具和开发当时的科技发展水平所限,再加上历史发展到今天,人们的生活环境已经发生了改变,大家对于图书查询这方面的要求也更高。

比如在一个局域网内,大家希望能在本台电脑上就能查找自己想要的图书,而不用跑到图书馆或图书室里去用那里的电脑查询,这就需要一个网络化的联机查询系统。

1.3选题的目的意义

随着社会的进步,的、意义信息技术的广泛应用,数字化管理的优势日趋显著。

针对中小型图书馆或图书室管理落后的情况,设计实现一个图书信息管理系统,通过与计算机的结合使用对中小型图书馆或图书室的各种图书信息进行管理可以给管理员和用户带来以下不同的方便:

检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。

这些优点能够极大地提高工作效率,也是图书馆等部门管理科学化、正规化的重要标志之一。

而且计算机管理的成本不断降低。

因此,开发一套这样的中小型图书管理软件已经很有必要,并且实现研究服务于实践的原则。

1.4图书管理系统的可行性分析

本次毕业设计题目:

“学校图书管理系统的开发”主要目的是利用数据库软件编制一个管理软件,用以实现图书、读者以及日常工作等多项管理。

同时对整个系统的分析、设计过程给出一个完整论证。

图书管理系统是一种基于集中统一规划的数据库数据管理新模式。

在对图书、读者的管理,其实是对图书、读者数据的管理。

本系统的建成无疑会为管理者对图书管理系统提供极大的帮助。

本系统的设计主要从以下几方面做起:

系统业务流程分析、系统的功能设计、系统的数据库结构设计等。

作这些工作需对数据库知识有足够认识,并深入的了解Java的使用和管理系统的相关知识。

在信息时代的今天,人类需要对在政治、经济、军事、文化、科研、教育等领域产生的大量信息进行管理,并对数据进行加工处理,数据库技术则是信息管理与数据处理的先进技术。

随着信息量的不断增加,作为计算机的三大主要应用(科学计算、过程控制和数据处理)之一的数据处理,已迅速上升为计算机应用的主要方面,数据库技术则成为人们日常生活中处理数据不可缺少的有力工具,并且现代的信息管理系统几乎都以数据库技术作为核心。

现在大多数的图书管理方式为手工处理,重复劳动多,劳动强度大,而且容易出错,新系统的使用能否可以很好的解决这些问题要看系统的可行性,可行性研究的目的是用最小的代价在尽可能短的时间内确定问题是否能够解决。

系统的可行性分析有以下几个方面:

(1)技术可行性:

处理速度快、准确通过权限的设置,数据的安全性好、方便查询、借阅管理等。

(2)经济可行性:

系统建设不需要很大的投入、可缩减人力投入。

(3)运行上可行性:

本系统作为一个小型的图书馆信息管理系统,所耗费的

资源非常的小。

(4)从各种社会因素可行性分析:

可降低工作人员工作强度,提高效率,会

得到学校工作人员的一致同意的。

综上所述通过可行性分析认为新系统的开发方案切实可行,可进行开发。

1.5系统开发运行环境

系统开发环境:

MyEclipseJavaEnterprise7.0

系统开发语言:

Java

运行平台:

WindowsXP

数据库:

sqlserver2005

Web服务器:

Tomcat6.0

 

第二章本系统开发相关技术介绍

2.1java

Java已用动态的交互应用软件使Web栩栩如生。

它使开发人员具有‘编写一次到处运行TM”的巨大能力。

而且,借助其JavaAPI及其编程语言上的Java虚拟机,它已产生一种分布信息的崭新模式。

这种模式叫做Java企业计算,正在帮助各企业以各种不同的方法取得竞争优势。

网管和控制已大大简化。

软件分配基本上是免费的,而且立即可实现。

电子贸易已获得。

占有成本大幅度降低。

信息和应用软件到处可存取。

Java建立在简单的前提基础上,即所有微处理器都应讲同一种语言——所有内部采用芯片的产品都应能一起工作,无缝而方便地共享信息。

它已经改变企业和个人同Internet大交道的方式。

现在,它正在对消费类产品产生明显的影响,而且从总体上更加深刻地影响企业计算。

借助Java,您可自由自在地使用您已拥有的硬件和软件。

这是因为Java是独立于平台的。

它还可使您超越企业计算,使应用软件在便携式计算机、信息亭、电视、蜂窝电话和其他大量设备上运行。

全世界的公司都已发现Java数不胜数的用途。

所有用途可从其无可比拟的能力,即提高可靠性、安全性和简化各种不同计算产品和环境的能力中受益非浅,而且节省的时间和费用十分可观。

Java无处不在。

它已拥有几百万个用户,其发展速度要快于在它以前的其他任何一种计算机产品。

它可位于任何地方,而且能到处运行。

Java正在迅速被用做传播信息的事实上标准,这是因为它既可给企业,也可给最终用户带来似乎数不清的好处。

Java的特点:

1、Java语言是简单的。

Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用Java。

另一方面,Java丢弃了C++中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。

特别地,Java语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。

  2、Java语言是一个面向对象的。

Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。

Java语言全面支持动态绑定,而C++语言只对虚函数使用动态绑定。

总之,Java语言是一个纯的面向对象程序设计语言。

  3、Java语言是分布式的。

Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(javanet),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。

Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。

  4、Java语言是健壮的。

Java的强类型机制、异常处理、废料的自动收集等是Java程序健壮性的重要保证。

对指针的丢弃是Java的明智选择。

Java的安全检查机制使得Java更具健壮性。

  5、Java语言是安全的。

Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。

除了Java语言具有的许多安全特性以外,Java对通过网络下载的类具有一个安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类SecurityManager)让Java应用设置安全哨兵。

  6、Java语言是体系结构中立的。

Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件),然后可以在实现这个Java平台的任何系统中运行。

这种途径适合于异构的网络环境和软件的分发。

  7、Java语言是可移植的。

这种可移植性来源于体系结构中立性,另外,Java还严格规定了各个基本数据类型的长度。

Java系统本身也具有很强的可移植性,Java编译器是用Java实现的,Java的运行环境是用ANSIC实现的。

  8、Java语言是解释型的。

如前所述,Java程序在Java平台上被编译为字节码格式,然后可以在实现这个Java平台的任何系统中运行。

在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。

  9、Java是高性能的。

与那些解释型的高级脚本语言相比,Java的确是高性能的。

事实上,Java的运行速度随着JIT(Just-In-Time)编译器技术的发展越来越接近于C++。

10、Java语言是多线程的。

在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。

通常有两种方法来创建线程:

其一,使用型构为Thread(Runnable)的构造子将一个实现了Runnable接口的对象包装成一个线程,其二,从Thread类派生出子类并重写run方法,使用该子类创建的对象即为线程。

值得注意的是Thread类已经实现了Runnable接口,因此,任何一个线程均有它的run方法,而run方法中包含了线程所要运行的代码。

线程的活动由一组方法来控制。

Java语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronized)。

  11、Java语言是动态的。

Java语言的设计目标之一是适应于动态变化的环境。

Java程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。

这也有利于软件的升级。

另外,Java中的类有一个运行时刻的表示,能进行运行时刻的类型检查。

  Java语言的优良特性使得Java应用具有无比的健壮性和可靠性,这也减少了应用系统的维护费用。

Java对对象技术的全面支持和Java平台内嵌的API能缩短应用系统的开发时间并降低成本。

Java的编译一次,到处可运行的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。

特别是Java企业应用编程接口(JavaEnterpriseAPIs)为企业计算及电子商务应用系统提供了有关技术和丰富的类库。

 

2.2MySql

MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司。

在2008年1月16号被Sun公司收购。

而2009年,SUN又被Oracle收购.对于Mysql的前途,没有任何人抱乐观的态度.目前MySQL被广泛地应用在Internet上的中小型网站中。

由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。

MySQL的官方网站的网址是:

MySQL最初的开发者的意图是用mSQL和他们自己的快速低级例程(ISAM)去连接表格。

不管怎样,在经过一些测试后,开发者得出结论:

mSQL并没有他们需要的那么快和灵活。

这导致了一个使用几乎和mSQL一样的API接口的用于他们的数据库的新的SQL接口的产生,这样,这个API被设计成允许为用于mSQL而写的第三方代码更容易移植到MySQL。

MySql特性:

1.使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性

  2.支持AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多种操作系统

  3.为多种编程语言提供了API。

这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。

  4.支持多线程,充分利用CPU资源

  5.优化的SQL查询算法,有效地提高查询速度

  6.既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名

  7.提供TCP/IP、ODBC和JDBC等多种数据库连接途径

  8.提供用于管理、检查、优化数据库操作的管理工具

9.可以处理拥有上千万条记录的大型数据库

MySql应用:

与其他的大型数据库例如Oracle、DB2、SQLServer等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQLCluster的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度。

对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。

目前Internet上流行的网站构架方式是LAMP(Linux+Apache+MySQL+PHP),即使用Linux作为操作系统,Apache作为Web服务器,MySQL作为数据库,PHP作为服务器端脚本解释器。

由于这四个软件都是免费或开放源码软件(FLOSS),因此使用这种方式不用花一分钱就可以建立起一个稳定、免费的网站系统。

2.3Struts2

struts是开源软件。

使用Struts的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间。

如果我们想混合使用Servlets和JSP的优点来建立可扩展的应用,struts是一个不错的选择。

运行流程:

服务器启动后,根据web.xml加载ActionServlet读取struts-config.xml文件内容到内存。

  以登录为例:

第一次进login.jsp会先实例化Form、把默认值(String默认为空字符串,整形默认为0)赋给表单元素。

输入用户名密码提交表单、提交到action属性的login.do,通过ActionServlet读struts-config.xml文件找到action下的path属性找到.do,通过name属性找form-beans中的form-bean的name属性得到ActionForm的包名类名,先实例化form,把表单的值填充给form,调用form的validate方法验证、ActionErrors返回null表示验证通过,否则失败返回input指定的页面.验证通过会实例化Action,执行Action的excute方法。

2.4Hibernate

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。

Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。

实际应用:

Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句)。

SessionFactory接口负责初始化Hibernate。

它充当数据存储源的代理,并负责创建Session对象。

Configuration接口负责配置并启动Hibernate,创建SessionFactory对象。

Transaction接口负责事务相关的操作,也可以设计编写自己的底层事务处理代码。

2.5C/S结构

C/S结构,即大家熟知的客户机和服务器结构。

它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。

目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。

这也就是目前应用系统的发展方向。

C/S结构的优点:

  C/S结构的优点是能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器。

对应的优点就是客户端响应速度快。

缺点主要有以下几个:

  只适用于局域网。

而随着互联网的飞速发展,移动办公和分布式办公越来越普及,这需要我们的系统具有扩展性。

这种方式远程访问需要专门的技术,同时要对系统进行专门的设计来处理分布式的数据。

  客户端需要安装专用的客户端软件。

首先涉及到安装的工作量,其次任何一台电脑出问题,如病毒、硬件损坏,都需要进行安装或维护。

特别是有很多分部或专卖店的情况,不是工作量的问题,而是路程的问题。

还有,系统软件升级时,每一台客户机需要重新安装,其维护和升级成本非常高。

  对客户端的操作系统一般也会有限制。

可能适应于Win98,但不能用于win2000或WindowsXP。

或者不适用于微软新的操作系统等等,更不用说Linux、Unix等。

C/S架构软件的优势与劣势:

  

(1)应用服务器运行数据负荷较轻。

最简单的C/S体系结构的数据库应用由两部分组成,即客户应用程序和数据库服务器程序。

二者可分别称为前台程序与后台程序。

运行数据库服务器程序的机器,也称为应用服务器。

一旦服务器程序被启动,就随时等待响应客户程序发来的请求;客户应用程序运行在用户自己的电脑上,对应于数据库服务器,可称为客户电脑,当需要对数据库中的数据进行任何操作时,客户程序就自动地寻找服务器程序,并向其发出请求,服务器程序根据预定的规则作出应答,送回结果,应用服务器运行数据负荷较轻。

  

(2)数据的储存管理功能较为透明。

在数据库应用中,数据的储存管理功能,是由服务器程序和客户应用程序分别独立进行的,前台应用可以违反的规则,并且通常把那些不同的(不管是已知还是未知的)运行数据,在服务器程序中不集中实现,例如访问者的权限,编号可以重复、必须有客户才能建立定单这样的规则。

所有这些,对于工作在前台程

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 其它课程

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1