




已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于JSP技术的图书馆信息管理系统开发与设计目 录摘要 4关键字 4引言 5第一章 主要技术实现 61 1.网站的开发语言JSP简介61. 1. 1 JSP的定义及特点 61. 1. 2 JSP的工作原理712 网站的开发平台 713 网站的脚本语言7第二章 图书馆信息管理系统的分析及实现 821 设计说明82. 2 产品使用人员角色82. 3 总体层次结构8 2. 3. 1 逻辑关系 9 2. 3. 2 客户界面与数据库关系 92. 4 数据库设计9 241 数据库说明 9 242 表内逻辑结构设计要点 10 243 各表说明 1125 用户登陆设计11 251 用户界面登陆设计 11 252 登陆界面基本功能说明 11 253 用户登陆验证密码 12 254 用户登陆部份详细设计 13 2. 5. 5 用户登陆程序说明 142. 6 管理员信息管理设计 14 2. 6. 1 管理员信息管理界面设计 14 2. 6. 2 管理员信息管理界面功能说明 15 2. 6. 3 管理员信息管理详细设计 15 2. 6. 4 普通管理员信息表链接说明 172. 7 图书管理设计 182. 7. 1 图书管理界面设计182. 7. 2 图书管理界面功能说明182. 7. 3 图书管理详细设计182. 7. 4 图书管理信息表链接说明21 2. 8 读者管理设计 21 2. 8. 1 读者管理界面设计21 2. 8. 2 读者管理界面功能说明 21 2. 8. 3 读者管理界面详细设计22 2. 8. 4 读者管理信息表链接说明232. 9 借书管理设计23 2. 9. 1 借书管理界面设计23 2. 9. 2 借书管理界面功能说明23 2. 9. 3 借书管理界面详细设计24 2. 9. 4 借书管理信息表链接说明242. 10还书管理设计 24 2. 10. 1 还书管理界面设计 25 2. 10. 2 还书管理界面功能说明 25 2. 10. 3 还书管理界面详细设计 25 2. 10. 4 还书管理信息表链接说明 26 211用户页面设计 26第三章 系统测试2731 站点测试 273. 2 图书馆信息管理系统评价 27结束语 28参考文献 29第一章主要技术实现11 网站的开发语言JSP简介111 JSP的定义及特点JSP全称Java Server Pages,在电子商务和电子政务开发中得到广泛应用,是由SUN公司开发一种动太网页标准,实质是传统的代码中加入Java程序片段.使用各种各样的JSP指令,构成JSP页面(扩展名为.jsp).嵌入页面的Java程序片段可以完成操作数据库,文件上传,发送E-mail以及复杂的逻辑处理功能,这些正是建立动态网页所需的功能.另外JSP通过JavaBean实现了功能扩充,能够更为复杂的处理。l JSP将业务逻辑层和表示层分离.使用JSP技术,网络开发人员可以使用来设计页面显示部分,使用JSP指令或Java程序片段生成网页上的动态的内容.l JSP能够跨平台. JSP支持绝大部分平台包括现在非常流行Linux系统,应用非常广泛Acaphe服务器也提供了支持JSP的服器。 作为Java平台的一部分,JSP拥有Java编程语言“一次编写,可跨平台运行”的特点。几乎所有平台都支持Java,JSPJavaBeans可以在所有平台下通行无阻。从一个平台移植到另外一个平台,JSP和JavaBeans甚至不用重新编译,因为Java字节码都是标准的并且与平台无关。l JSP组件的使用和开发很方便. JSP的组是Java开发的,可以直接使用.Javabeans的使用也很方便,又由于Java的跨平台性,也使得Javabeans的可移植性和可重用性非常高。l 使用JSP技术,Web页面开发人员可以使用或者XML标识来设计和格式化最终页面。使用JSP标识或者脚本来生成页面上的动态内容。生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在脚本中,所有的脚本在服务器端运行。如果核心逻辑被封装在标识和Beans中,那么其他人,如Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的生成。l 强调可重用的组件,绝大多数JSP页面依赖于可重用的,跨平台的组件(JavaBeans或者Enterprise JavaBeans组件)来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者或者客户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。l 由于JSP页面的内置脚本语言是基于Java的,而且所有的JSP页面都被编译成为Java Servlets,所以JSP页面具有Java技术的所有好处,包括健壮的存储管理和安全性。l 运行的高效性,当JSP页面第一次被调用时,如果还不存在与其相对应的Java Servelts类,就会被编译成为一个Java Servlets类,并且存储在服务器的内存中。这就使得在接下来的对该页面的调用中,服务器会有非常快的响应(这使CGIbin不用为每个http请求生成一个新的进程的问题)。1.1.2 JSP的工作原理SP技术的设计目的是使得构造基于Web的应用程序更加容易和快捷,而这些应用程序能够与各种Web服务器,应用服务器,浏览器和开发工具共同工作。 JSP规范是Web服务器、应用服务器、交易系统、以及开发工具供应商间广泛合作的结果。在传统的网页文件(*,*.)中加入Java程序片段(Scriptlet)和JSP标记(tag),就构成了JSP网页(*.jsp)。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以格式返回给客户。程序片段可以操作数据库、重新定向网页以及发送 email(由JavaMail支持) 等等,这就是建立动态网站所需要的功能。服务器在接到客户端发来的一个JSP网页请求时,首先由JSP引擎把JSP代码转换成Servlet代码,然后由JSP引擎调用服器的Java编译器对Servlet代码进行编译,把他编译成字节码文件(.class),再由JVM(Java虚拟机)执行此节码文件,最后将执行结果以格式返回给客户端。3.JSP解释引擎将解释结果返回给服务器1.请求JSP页面2.服务器向JSP解释引擎发出请求4.将JSP程序执行的结果以格式发送给客户端.服务器客户端浏览器JSP解释引擎服务器向客户端提供要访问的数据。1.2网站的脚本语言JavaScript是一种基于对象(Object)和事件驱动(Event Driven)并具有安全性能的脚本语言。使用它的目的是与超文本标记语言、Java脚本语言(Java 小程序)一起实现在一个Web页面中链接多个对象,与Web客户交互作用,从而可以开发客户端应用程序等。它是通过嵌套或调入在标准的语言中实现的。JavaScript的出现,可以使得信息和用户之间不仅只是一种显示和浏览的关系,而是实现了一种实时的、动态的、可交互式的表达能力。从而基于CGI静态的页面将被可提供动态实时信息并对客户操作进行反应的Web页面所取代。因此,被选为本文网页的脚本语言。1.3.开发平台及环境:主要是以JDK1.4.0 + Tomcat 4.0.3,采用MYSQL建立数据库,数据表使用 Aceess 2000生成,基本模式基于JSP,主要以做成网络模式。第二章图书馆信息管理系统的分析及实现2.1.设计说明:l 本不仅旨在对本系统进行后期总结,同时在前期设计中起到框架指导作用,主要指导作用是:在逻辑上将系统模块化,设计各模块之间的信息流, 包括模块之间的信息通信等, 同时帮助本人理清设计思路,同时增加本系程序将来的可读性。l XXX兼本图书馆信息管理系统提出者和开发者角色,用户主要为XXXX管理员,同时本图书馆管理系统设计也是为了适应图书馆的不断发展。l 本产品主要面对是图书馆管理员,本产品将大利于图书管理员进图书分类同时也利于管理员对流动进行安全有效的管理。 l 采用标准的、开放性的技术,能灵活对管理员进行调动,同时也适应图书馆改而在本组的帮助下进行升级. 本产品主要面对是图书馆管理员,本产品将大大利于图书管理员进行图书分类,同时也利于管理员对流动进行安全有效的管理本产品适合于对图书管书籍和读者进行管理,另外为保证安全性也对管理员进行管理。l 这里图书馆管理涉及到服务器和客户端。系统将对图书管服务器的大量数据进 行管理, 由于本系统功能简单同时主要是图形界面面对用户,使用起来简单起,无特殊命令。l 本系统开发主要基于两层结构,数据库层,客户端,客户端使用JSP访问数据库。l 初步设计是在科大恒星公司内完成,拥有完备的设计平台,数据库主要是用SYBASE,采用公司内部服务器,为便于老师可检查,同时也没有完备后台服务器,所以部份设计与原程序可能少许区别。l 本程序由于是使用JSP设计,由于特殊设计,所以在本中注释采用代码外后期说明形式出现。2.2.产品使用人员角色:角色名称职责描述高级管理员对普通管理员进行管理普通管理员对读者和图书进行管理2.3总体层次结构:2.3.1.逻辑关系管理员信息图 书读 者客 户 端 客 户 端借书 对 应2.3.2.客户界面与数据库关系: 用户登陆界面读者表管理界面高级管理员界面数 据 库书表管理界面借书界面还书界面2.4.数据库设计:2.4.1.数据库说明:本设计开始在本人工作的所在公司内完,原始数据库设计为SYBASE,用ERwin生成数据库表,由四个表组成,同时开始是手动建立数据库,服务器平台是Linux,通过ERwin生成相应的表然后通过UltraEdit进行处理并上传服务器,数据库内部由四张表组成:管理员信息表Admin图书信息表Librarytable数据库借书信息表Lendtable读者信息表Peopletable2.4.2.表内逻辑结构设计要点:表字段名属性长度空否主键否意义Adminadressvarchar()2011管理员账号管理员信息表powertinyint00权限值,区分高级用户和普通用户passwordvarchar()2000管理员密码telenumeric()2000管理员联系电话Peopletablestudentnovarchar()2011读者借书证号读者信息表studentnamevarchar()3010读者名字studentcollegevarchar()2000读者所在院系studentortimebit10借书超期于否studentbnumerstinyint00读者借书数studentsortvarchar()2000读者类别Boobtablebooknovarchar()2011图书号图书信息表booknamevarchar()2000书名bookroomvarchar()2000图书位置bookwritervarchar()2010图书作者bookowornovarchar()2010图书借出否bookpublishvarchar()4000图书出版社bookpricetinyint00图书购价booksortvarchar()3000图书类别booknumberstinyint0该种书单数量Lendtablebooknovarchar()2011图书编号联合关系表studentnovarchar()2011读者借书证号2.4.3.各表说明:l 管理员信息表(Admin):主要是保存图书馆管理员的相关信息,如用户(adress),密码(password),权限(power),联方式(tele),以便于高级员管理员进行管理和访问,同时也保证的使用安全性。l 读者信息表(Peopletable): 主要保存借书者相关信息,如读者名字(studentname), 读者所在院系(studentcollege), 借书过期限于否(studentortime),所借书本数(studentbnumers),读者类别(studentsort),读者编号(studentno),主要是普通管理员进行访问和管理。l 图书信息表(Boobtable):主要保存图书馆图书相关信息,如图书名字(bookname),图书所在位置(bookroom),图书作者(bookwriter),图书借出否(bookoworno),图书出版社(bookpublish),图书价格(bookprice),图书类别(booksort),该种图书数量(booknumbers),图书编号(bookno),主要是普通管理员进行访问和管理。l 借书信息表(Lendtable): 主要保存读者编号(studentno),图书编号(bookno),同时他也连接图书信息表和读者信息表,主要是普通管理员间接进行访问,使借书还书中,读者与图书对应起来。2.5用户登陆设计2.5.1.用户界面登陆设计: 2.5.2登陆界面基本功能说明:主要是当用户输入登陆用户名和相应密码并提交,用户信息比照管理员数据库表,通过查询对照权限值以判定是哪类,如果权限值为0则为普通用户则为高级用户并进入图书馆管理界面,如果权限值为1则为高级用户并进入注册登记界面,如果是权限值为0则进入普通管理员界。如图:普通管理员操作界面高级管理员操作界面登陆2.5.3用户登陆验证密码:用户登陆时要验证密码那么就要访问管理员信息表,进行查询,用户资料,根据不同的用户权限进入相应操作界面。如图下面相应登陆查询循环程序流程设计:普通管理员界面高级管理员界面NNpower=1 开始request.getParameter(username)request.getParameter(password)Username=rs.getString(1)Password=rs.getString(2)power=rs.getInt(3)NN在验证密码时必然要访问数据库等,这里主要访问数据库中的管理员信息表(Admin),首先访问是用户名字,如果找到输入的用户名,然后再把输入的密码与 查找的用户名的相应密码比较,如果相等,再查看对应权限,权限不同就被识别为不同的级别的管理员,这样做的目的主要是为了确保图书馆理系统的安全性,所以对这里访问数据库对于普通用户来说是不可见的。2.5.4用户登陆部份详细设计: %-查询数据库验证用户信息, 不再访数据库时要关闭数据库-% 2.5.5. 用户登陆程序说明:l 链接数据库,并打开,这里面首要建立驱动,然后用用户名,用户密码, URL通过对应函数打开数据库。l 采用SQL语句直接用函数执行访问数据库。l 查询语句循环采用while() 进行查询。l 当数据库访问结束,要关闭数据库如:rs.close(),st.close(),conn.close()。2.6管理员信息管理设计本模块主要访数据库中的管理员信息表,模块的主要目的是对管理员信息进行统计和有效安全管理,其特点主是易学易用美观,功能齐全,主要完成统计。该模块删除时只要输入管理员名字就可以方便删掉相应信息,添加只要输入完整的信息即可即时加入数据库,查询只要输入管理员名字就可以罗列所有该管理员信息,修改,只要输入相应管理员名字就能就找出再输入想要改的内容提交即可改写入数据库。2.6.1.管理员信息管理设计: 删除修改查询2.6.2管理员信息管理界面功能说明:l 主要是当高级管理员输入普通管理员相关对应信息并提交,对应信息即写入管理员数据库表。l 这里通常如果是普通管理员权限值就是0,如果是高级管理员权限值就是1,这样做是为了区分高级管理员和普通管理员,以便于确保安全性,同时也即有效管理图书馆内部管理人员的流动,也可以及时更新图书管理人员的资料,并进行实时管理。l 这里面主要管理员能完成四大功能,查询、删除、修改、添加。如果是添加,就直接加入信息并提交,就可以直接注册新管理员了,而查询、删除、修改,需要点击相应按钮,以激活该功能才进行相应的操作。l 为确保安全性,本界面对普通管理员是透明的。. 2.6.3管理员信息管理详细设计:这里当高级管理员进行操作时,必然会访问数据库,并进行对应的操作,并进行修改,其中数据库链接和关闭过程的描述省略,前面已经介绍。下面主是功能的详细设计。 l 添加,只要输入完整的信息即可即时加入数据库,.输入并提交就会把以上填写信息提交给插入数据库,写入管理员信息表,管理员表里会增加相应一个用户以及其的信息,实质注册还是删除及添加还是查询更或是修改都要进行提交给数据库,利用函数执行SQL语句访问数据库。 开始接从缓冲器中接收用户输入的信息。然后判断接收是否为空.如果为空则不执行SQL语句,如果不为空则不执行SQL语句。最后访问完数据库然后关闭。l 删除,只要输入管理员姓名就可以方便删掉相应信息。 只要输入用户的名字提交就能有查找数据库并最后删除,如果未找到则删除出错并出会有一个出错页作为提示, 这里删除实质也存在一个查找的问题,因为只有找到目的用户我们才能进行删除数据库中相应内容,当然这些都是SQL语句完成,对于用户来说是透明的。l 查询,只要输入管理员名字就可以罗列所有该管理员信息,修改,只要输入相应管理员名字,就能找出。主要和程序片段如下:while(rs.next() if(studentname.equals(rs.getString(1) out.print(rs.getString(1); out.print(rs.getString(2); out.print(rs.getString(3); out.print(rs.getString(4); rs.close(); st.close(); conn.close(); flag=1; 查询主是使用while( )语句来完成,查找成功后把该用户所有信息输出。l 修改,输入想要修改的内容提交即可改写入数据库主要程序片段如下:if(studentname!=null) sql=sql.concat(studentname=).concat(studentname).concat(studentno=).concat(studentno); st.executeUpdate(sql);这里只是程序设计修改用户名,还可以修改用户密码,用户权限值,还有用户联系方式, 这里修改实质也存在一个查找的问题,因为只有找到目的用户我们才能进行修改数据库中相应内容,当然这些都是SQL语句完成,对于用户来说是透明的.2.6.4. 普通管理员信息表链接说明:l 链接数据库,并打开,这里面首要建立驱动,然后用用户名,用户密码, URL通过对应函数打开数据库。l 采用SQL语句直接用函数执行访问数据库。l 当数据库访问结束,要关闭数据库如:rs.close(),st.close(),conn.close()。2.7.图书管理设计:本模块主要访数据库中的图书信息表,模块的主要目的是对图书进行统计和有效管理,其特点主是易学易用美观,功能齐全,主要完成统计。该模块删除时只要输入图书号就可以方便删掉相应信息,添加只要输入完整的信息即可即时加入数据库,查询只要输入图书名字就可以罗列所有该图书信息,修改,只要输入相应图书名字和图书号就能就找出,再输入想要改的内容提交即可改写入数据库。2.7.1.图书管理界面设计: 图书类别出 版 社作 者书 名书 号价 格位 置借 出 否添加删除修改数 量查询2.7.2.图书管理界面功能说明:l 主要是当 普通管理员输入图书相关对应信息并提交,对应信息即写入图书数据库表。l 这里面主要普通完成四大功能:查询、删除、修改、添加,如果是添加,就直接加入信息并提交,就可以直接登记新的图书了,而查询,删除,修改,需要点击相应按钮,以激活该功能才进行相应的操作。l 为确保安全性,本界面对读者是透明的。l 本上面图书管理界面未放入完整界面,只是初期简图,完成了基本功能。l 这里有一个返回,点击返回会回到上面说的普通管理员选择界面(主要在选择进入图书管理界面还是进入读者管理界面。.2.7.3.图书管理详细设计:这里当管理员进行操作时,必然会访问数据库,并进行对应的操作,并进行修改,其中数据库链接和关闭过程的描述省略,前面已经介绍.下面主是功能的详细设计。 l 添加,只要输入完整的信息即可即时加入数据库,.会把以上填写信息提交给相关数据库,图书表里会增加相应一种书以及其的信息,实质是添加登记,无论是删除还是添加还是查询更或是修改都要进行提交给数据库,利用函数执行SQL语句访问数据库,同时从缓冲器获取图书名字、图书位置、图书借出否、图书作者、图书出版社、图书价格、图书类别、该项种图书数量、图书书号。实质使用的是插入函数执SQL语句。String bookname = request.getParameter(bookname);String bookroom = request.getParameter(bookroom);String borroworno = request.getParameter(borroworno);String bookwriter = request.getParameter(bookwriter);String bookpublish = request.getParameter(bookpublish);String bookprice = request.getParameter(bookprice);String booksort = request.getParameter(booksort);String booknumbers = request.getParameter(booknumbers);String bookno = request.getParameter(bookno);sql=insert into Booktable values( ;% 开始从缓冲器中接收用户输入的信息。然后判断接收是否为空.如果为空则不执行SQL语句,如果不为空则不执行SQL语句,最后访问完数据库然后关闭。l 删除,只要输入图书名和图书号就可以方便删掉相应信息,这里删除实质也存在一个查找的问题,因为只有找到目的用户我们才能进行修改、删除数据库中相应内容,当然这些都是SQL语句完成,对于用户来说是透明的。sql=sql.concat(bookname).concat(and bookno=).concat(bookno);st.executeUpdate(sql);只要输入图书的名字及图书号,然后提交在图书表里查询,找到即删除执行上面语句,如果未找到则删除出错并出会有一个出错页作为提示。l 查询,只要输入图书名字就可以罗列所有该图书信息,修改,只要输入相应图书名字,就能找出。主要和程序片段如下:while(rs.next() if(bookname.equals(rs.getString(1) flag=1; 查询主是使用while( )语句来完成,查找成功后把该图书所有信息输出,这里查询主要是根据图书号进行查询。l 修改,输入想要修改的内容提交即可改写入数据库主要程序片段如下。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论