ImageVerifierCode 换一换
格式:DOCX , 页数:29 ,大小:175.20KB ,
资源ID:12850237      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12850237.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(图书管理系统.docx)为本站会员(b****0)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

图书管理系统.docx

1、图书管理系统/S结构(Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器(Browser英 braz美 braz),如Netscape Navigator或Internet Explorer,服务器安装SQL Server、Oracle、MYSQL等数据库。浏览器通过Web Server 同数据库进行数据交互。B/S最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件,只要有一台能上网的电脑就能使

2、用,客户端零安装、零维护。系统的扩展非常容易。B/S结构的使用越来越多,特别是由需求推动了AJAX技术的发展,它的程序也能在客户端电脑上进行部分处理,从而大大的减轻了服务器的负担;并增加了交互性,能进行局部实时刷新。超文本传送协议 (HTTP-Hypertext transfer protocol) 定义了浏览器(即万维网客户进程)怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给浏览器。从层次的角度看,HTTP是面向(transaction-oriented)应用层协议,它是万维网上能够可靠地交换文件(包括文本、声音、图像等各种多媒体文件)的重要基础。1、支持客户/服务器模式。支持

3、基本认证12和安全认证(见后文安全协议)。http 协议 简介2、 简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。3、灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。4、HTTP 0.9和1.0使用非持续连接:限制每次连接只处理一个请求,服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。HTTP 1.1使用持续连接:不必为每个web对象创建一个新的

4、连接,一个连接可以传送多个对象。5、无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大13。另一方面,在服务器不需要先前信息时它的应答就较快。JSP标签库,也称自定义标签库,可看成是一种通过JavaBean生成基于XML的脚本的方法。从概念上讲,标签就是很简单而且可重用的代码结构。比方说,在最新发布的JSPKit(在JSP Insider内)中,使用XML标签实现了对XML文档的轻松访问。易于安装在多个项目上标签很容易从一个JSP项目迁移到其他项目。一旦建立了一个标签库,则只需要

5、将所有的东西打包为一个JAR文件,你就可以在任何的JSP项目中重新使用。因为标签可以重新使用,标签库可以轻松地用于你自己的项目,所以标签库越来越通行。目前,最好的标签资源可以在JSPT这个站点找到。可以无限制地扩展和增加JSP的功能扩展JSP 标签库可以具备JSP规范(JSP 1.2)中的任何特性和功能,你可以无限制地扩展和增加JSP的功能,而无需要等待下一版本JSP的出现。例如,你对JSP的include调用不太满意。你可以建立自己的include标签,该标签执行的是你自己的规范。容易维护标签库使得JSP的web应用程序非常易于维护,原因有:(1)标签应用简单,对任何人而言都很容易使用、易于

6、理解。(2)所有的程序逻辑代码都集中放在的标签处理器和JavaBeans中。这意味着你在升级代码时,无需要对每个使用该代码的页面进行修改,你只需要修改集中的代码文件便可。(3)如果需要加入新的功能,你也无需修改任何已经存在的页面,可以在标签中加入额外的属性,从而引进新的行为,而其它旧的属性不变,这样所有旧的页面还可以正常工作。 例如你有一个让所有文本变蓝的标签:My Text但在后来项目中,你又想让蓝色变暗。你可以保留原有的标签,只要为其增加一个新的属性:shade ,如下所示:My Text所有旧的标签仍然可以产生蓝色的文本,但现在你可以使用同一标签来产生变暗的蓝色文本了。(4)标签提升了代

7、码的重用性。那些经过多次测试和使用的代码肯定具有更少的bug。所以,使用定制标签的JSP页面也同样具有更少的缺陷,维护起来自然方便多了。快速的开发时间标签库提供一个简单的方式来重用代码。在服务器端的语言中,其中一个标准的重用代码方式是使用模板。相对于使用模板库,标签库是一个更好的解决办法。使用模板库,你必须为每个项目修改模板或者且建立严格的界面,而标签库则没有这些限制,并且拥有所有面向对象的好处,可以做到灵活和更有扩展性,而且,通过重用代码,你可以花费更少的时间来做开发,更多的时间可以用在设计你的web应用上。标签库的接口也很简单,非常容易做插入、使用和调试。标签的组成结构虽然标签库非常易于使

8、用,不过要建立一个标签库的内部实现机制还是颇复杂的,起码要比建立一个简单的JavaBean复杂。这个复杂是来自于标签库是由几部分构成的。不过,你只需要掌握了Java和JSP的知识就够了。一个简单的标签由下面的元素构成:1JavaBean:为了得到Java与生具来的面向对象的好处,可重用的代码应该放到一个独立的代码容器中,也就是JavaBean。这些JavaBeans并不是标签库必不可少的一部分,但它们是标签库用来执行所分配任务的基础代码模块。2标签处理器:标签处理器是标签库的真正核心。一个标签处理器(tag handler)引用它所需要的任何外部资源(JavaBean)并且负责访问JSP页面的

9、信息(PageContext对象)。而JSP页面则把页面上设置的标签属性和标签体中的内容都传递给标签处理器,当标签处理器完成其处理过程后,它就会把处理后的输出结果回送给JSP页面做进一步处理。3标签库描述符(TLD文件):这是一个简单的XML文件,它记录着标签处理器的属性、信息和位置等信息。JSP容器通过这个文件来得知从哪里及如何调用一个标签库。4Web站点的web.xml文件:这是Web站点的初始化文件,在这个文件中,需要定义了Web站点中用到的自定义标签,以及用来描述每个自定义标签的tld文件。5发布文件(WAR或JAR文件):如果你想重用自定义标签的话,你需要一个方法来将它由一个项目迁移

10、到其他项目中去。将标签库打包为一个JAR文件是一个简单而且有效的方式。6JSP页面上的标签库声明:要在JSP页面中的使用某个自定义标签的话,需要使用标签库标示符在页面上进行声明。看来要做的工作很多,刚开始用的时候当然会有点棘手,不过其实并不是很难。它的要点并不在于编码,而是在于如何将各部分正确地组织起来。这种层次性的结构是很重要的,它令标签的使用灵活和更容易转移。更重要的事,这些层次可以让整个建立标签库的过程都能通过JSP IDE(JSP的集成开发环境)自动完成。JSP IDE更可以自动完成创建定制标签的大部分工作,而你自己则只需要负责建立代码和标签处理器。(注意:一个标签处理器仅定义一个自定

11、义标签;一个标签库是几个处理相同任务的标签处理器的集合)3如何建立编辑以下将一步一步地教你如何建立自定义的标签,具体的例子是扩展JSP,令它拥有自己的HTML编码功能。这个功能将所有的字符用 HTML代码来代替。它可以很容易地扩展为做其它的编码处理。为了简化,这个例子只解释了建立自定义标签的基本要素。创建JavaBean代码中的任何可重用部分都应该放到一个JavaBean中。这一点是很重要的。这样你就可以在其他项目中重用这些代码了。由于任何放置在标签处理器内的代码在标签外都是不可以重用的,因此将可重用的代码部分独立开来是很重要的。在这个例子中,为HTML编码的逻辑是常用的,因此放到JavaBe

12、an中,请参看清单B清单B:HTML编码JavaBean/* HTML_Format.java */public class HTML_Format extends Object implements java.io.Serializable /* 创建新的HTML_Format */public HTML_Format() /* 将一个字符串中所有的 字符用相应的HTML编码代替 */public String HTML_Encode(String as_data)int li_len = as_data.length();/*string buffer的长度要比原来的字符串长*/Strin

13、gBuffer lsb_encode = new StringBuffer(li_len + (li_len/10);/* 循环替换全部的 字符 */for( int li_count = 0 ; li_count li_len ; li_count+) String ls_next = String.valueOf(as_data.charAt(li_count);if (ls_next.equals() ls_next = ) ls_next = ;lsb_encode.append( ls_next );return( lsb_encode.toString() );创建标签处理器标签处

14、理器的代码请参看清单C:清单C:HTML编码标签处理器import java.io.IOException;import javax.servlet.jsp.*;import javax.servlet.jsp.tagext.*;public class HTML_FormatTag extends BodyTagSupport/* 1) 在标签末将会调用这个函数 */public int doEndTag() throws JspTagExceptiontry/* 2)得到标签中的文本 */BodyContent l_tagbody = getBodyContent();String ls_

15、output = ;/* 3)如果标签体有文本,就处理它 */if(l_tagbody != null)HTML_Format l_format = new HTML_Format();/* 3a) 将标签体的内容转换为一个字符串 */String ls_html_text = l_tagbody.getString();ls_output = l_format.HTML_Encode(ls_html_text);/* 4)将结果写回到数据流中 */pageContext.getOut().write(ls_output.trim();catch (IOException e) throw n

16、ew JspTagException(Tag Error: + e.toString();/* 让JSP继续处理以下页面的内容 */return EVAL_PAGE;这个处理很简单,它包括有:1读入位于开始和结束标签间的文本2调用html编码函数3将结果返回到JSP页面。创建标签描述符我们需要描述自定义标签以让系统知道如何处理。该描述文件的后缀为.tld,TLD文件通常就以标签处理器命名,并存放在“/WEB-INF/”目录之下。请参看清单D。清单D:HTML编码标签描述器!DOCTYPE taglibPUBLIC -/Sun Microsystems, Inc./DTD JSP Tag Lib

17、rary 1.1/EN1.01.1HTML_FormatTagHTML Encoding TagHTMLEncodeHTML_FormatTagEncode HTML更新Web XML文件现在可以告诉JSP容器如何使用标签库了。为此要修改web.xml文件,具体说来是要在其中加入一个taglib的项目来注册该标签库,并为标签分配一个URI。URI是Web站点上唯一应用于这一特定标签的索引。由于标签今后还可能用在不同的Web站点上,所以你最好采用完整的URL和/或者包名字(package name)来保证这一唯一性。这个例子是简化了,示例代码请参看清单E。清单E:修改web.xml文件!DOCT

18、YPE web-appPUBLIC -/Sun Microsystems, Inc./DTD Web Application 2.2/ENHTMLEncode/WEB-INF/HTML_FormatTag.tld使用新的标签自定义的标签设置好后,就可以用在你的JSP页面上了。要做到这一点,只需要在页面上使用taglib指示命令声明所要采用的标签即可。标签通过其唯一的 URI被索引,然后被分配给一个名字空间前缀(prefix)。这一前缀并没有什么特别的意义,只要它不与其它的名字空间冲突便可,可以任意。请参看以下的清单F和G。清单F:在一个JSP页面上使用HTML编码标签清单G:范例代码的输出wh

19、ich displays as:通过这个标签,我就将该页面的所有代码编码了。所有的自定义标签都是在服务器上处理的。这意味着你将不会在输出的页面上看到自定义的标签。1. 系统分析1.1. 题目问题定义 本图书借阅管理系统主要面向图书馆借阅者和图书馆管理人员,借阅者可以登录本系统管理自己的个人信息,查询并借阅图书馆里已有的图书,图书馆管理人员可以登录本系统对借阅和借阅者进行操作。1.2. 可行性分析 本图书借阅管理系统使用MVC设计模型,model为javabean,view为jsp+html,controller为servlet。这些模块都是J2EE非常成熟的技术,完全具有功能上的可行性。 由于

20、本系统仅用于学习使用,功能简单,无需考虑市场上的可行性。2. 概要设计2.1. 用例图2.2. 整体架构2.3. 模块功能在对用户的需求进行分析以后,规定了以下模块来适应用户功能描述模块使用者备注1.根据条件查询图书信息2.根据条件查询借阅者信息3.根据借阅者查询借阅信息查询管理模块图书馆管理员借阅者1.借阅指定存在图书2.归还已借阅图书图书借阅模块借阅者1.借阅者管理2.图书删除3.图书录入4.图书修改5.数据备份6.数据恢复设置管理模块图书馆管理员借阅者管理包括用户注销和用户修改1.用户注册2.用户登录3.用户修改登录注册模块借阅者图书馆管理员管理员没有注册功能2.4. 系统功能能对图书信

21、息进行增删改查能把未借阅图书的状态改为已借阅,反之亦然能对借阅者信息进行增删改查能对借阅信息进行增加、查询功能3. 逻辑设计3.1. 类图3.2. 序列图(顺序图)用户登录、借书序列图用户注册序列图管理员登录、添加图书序列图4. 实现4.1. 流程图流程图主要包括用户流程和管理员流程4.2. 关键代码图书查询页面list.jsp查看图书 请选择查询类别: option value=name 书名 option value=author 作者 option value=publish 出版社 option value=isbn ISBN 请输入查询关键字:input type=text name

22、=searchKey size=10 value=     书名 作者 出版社 ISBN 出版日期 数量 已借出 修改 删除 租借 % /得到查询到的图书列表 if(request.getAttribute(bookList) != null) ArrayList bookList = (ArrayList)request.getAttribute(bookList); for(int i=(pageNum-1)*onePageLine;ipageNum*onePageLine & i(bookList.size();i+) BookObject book = bookList.get(i); int id=book.id; out.println(); out.

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

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