基于java的网上图书馆系统.doc_第1页
基于java的网上图书馆系统.doc_第2页
基于java的网上图书馆系统.doc_第3页
基于java的网上图书馆系统.doc_第4页
基于java的网上图书馆系统.doc_第5页
已阅读5页,还剩113页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

宁波理工学院 毕业设计(论文)开题报告 (含文献综述、外文翻译)题 目 基于Java的网上图书馆系统 姓 名 刘华斌 学 号 3070411016 专业班级 07信息与计算科学1班 指导教师 舒振宇 分 院 信息科学与工程分院 开题时间 2011年3月15日 24第1章 文献综述基于Java的网上图书馆系统1.1 引言在科技发达的今天,无论是事物还是技术,都有了更高层次的发展。这种现象的出现,主要是人类社会的总体进步在影响着它。社会的不断发展,使得人们对精神和物质的要求越来越高,这就迫使供应商要有更高档次的技术和产品去满足这种日益增长的需求。再者,现在的社会是市场经济的社会,一切商业活动都以竞争为主要手段,“优胜劣汰”是不变的准则,这也是高技术、高新产品出现的原因。在这种大环境下,为了提高办事效率,网上图书馆系统也应之而生。1.2 国内外现状1.2.1 国内现状在图书管理系统用计算机管理图书是一种计算机应用技术的创新,在计算机还未普及之前图书管理都是由图书管理人员手工记账的方式来操作的。现在一般的图书馆都是采用计算机作为工具的实用的计算机图书管理程序来帮助图书馆管理员进行更有效的图书管理。国家图书馆的计算机管理起始于八十年代初期。随着图书馆事业的蓬勃发展,特别是开始建设数字图书馆,原有的计算机管理系统已无法满足需要。为此,从1994年开始,遵循调查研究,摸清底数,统筹规划,分步实施的原则,先后建设了十几个计算机局域网,并于1999年2月开通了千兆位馆域网,将以往建设的各个子网全部纳入其中。至此,国家图书馆的网络建设上了一个新台阶,其采用的技术达到了国际接轨、国内领先的水平。与此同时,国家图书馆还开始进行了数字图书馆的研发。90年代中期,我国图书馆系统的研发曾经出现了一个高潮时期,当时推出了目前在国内较有影响的几个大型系统(如南京汇文、北邮MELINETS),并提出了“第三代图书馆自动化系统”的概念。在此之后,国内图书馆系统处于相对平淡的一个历史时期,无论在理论上,还是在整体技术实现上,都没有大的突破,有的研究人员甚至认为图书馆系统已经到达了顶点,没有发展的余地。1.2.2 国外现状国外图书馆自动化系统的起源可以追溯到1954年,当时,美国海军兵器中心(NOTS)就在IBM701机器上进行了单元词匹配检索。1958年,IBM的研究员卢恩进行了著名的自动抽词试验,开创了自动分类、自动标引、信息检索等多个与图书馆学情报学密切相关的研究领域之先河。图书馆自动化系统的真正发展是在1964年LC发起研制机读目录(Machine、Readable、Catalog)之后。特别是20世纪70年代,以编目系统为基础的各种自动化系统已经成形,同时还出现了以编目系统为纽带的联机编目协作网,例如OCLC,BALLOTS,RLIN,WLN等1;当时的图书馆自动化系统是由大学图书馆或有条件的大型图书馆自主开发的,如东伊利诺斯大学的联机图书流通系统,华盛顿州立大学的图书采购系统等。从20世纪70年代末80年代初,图书馆自动化系统由单一功能性系统转向图书馆集成管理系统,其典型代表是西北大学的NOTIS系统;这期间还出现了专门为图书馆研制计算机管理系统的公司,其中Innovative Interface.Inc成立于1978年,Sirsi成立于1979年,Dynix(epixtech)成立于1983年,Notis成立于1983年,Exlibris成立于1980年2。商品化的图书馆自动化系统的出现,本身就是社会分工的体现,使得图书馆能更进一步地专注于资源建设和服务质量的提高。事实上,从上个世纪八十年代中期开始,发达国家的图书馆基本上不再自己独立研制软件,而是直接购买商品化的软件系统。90年代中后期,是国外图书馆自动化系统研发蓬勃发展的历史时期。这一期间,随着Internet的发展,Windows图形用户界面的广泛应用,以及一系列诸如Web技术、数据库技术、Java技术的出现或成功应用,许多图书馆自动化系统厂商感觉到需要“重新设计”其产品,以采用更加先进的技术来支持图书馆自动化系统。于是,包括Epixtech(1996年)、Innovative(1996年)、VTLS(1996年)、Sirsl(1996年)、Exlibris(1997年)等在内的图书馆自动化系统厂商都在这一时期重新设计了其产品3。目前国外在用的许多图书馆自动化系统的主体构架,都来源于当时的“重新设计”。1.3 发展趋势图书资源数字化图书馆是未来图书馆的发展方向。数字图书馆在信息存储形式、信息组织形式、信息处理和输出形式、信息传递速度和服务方式等方面比传统图书馆有重大的改革4。数字图书馆被人们称为未来图书馆发展的模式,这种图书馆的实质是利用计算机网络对分布于各处的各种信息资源进行动态搜寻、利用,是用户获取知识与信息的最快捷方式,是一种信息环境而不是具体的图书馆形态。数字图书馆依靠数字化技术把文字、声音和图像转化为数字形式,采用数字方式进行存贮、传输和处理,将图书馆的多种资料信息通过计算机转化为二进制数字存储起来,如电子期刊、电子图书、各种数据库及光盘资料。数字图书馆的主要特征是:(1)信息存储数字化;(2)支持网络多元化;(3)信息共享网络化5。数字图书馆是未来图书馆发展的主要方向,是计算机和因特网带来的文献信息载体形态和传递方式的变化,也是图书馆的存在方式、运行机制和社会功能的重新定位6。中国科学院计算机所的黄铁军先生认为:建立数字图书馆是一个长期性的工程,它需要从资源的数字化和资源的管理及服务两方面做长期的工作。图书馆应该适应发展模式的变化,根据各自的实际情况加强图书馆数字化和网络化的工作,将图书馆馆藏信息实现数字化,以计算机网络为基础向读者提供全方位的信息服务。1.4 存在问题我国数字图书馆经过几年的时间的建设, 取得了不小的成绩。但是,这几年的发展也暴露出一些问题,这些问题不解决,将极大地制约我国图书馆数字化的进一步发展7。下面就来分析一下这些问题:(1)缺乏有效的宏观调控,重复建设问题突出。条块分割的管理体制和根深蒂固的传统封闭观念,使得我国图书馆界长期以来无法有效地开展文献资源共建共享工作,各馆从“万事不求人”的角度出发,朝“小而全”“大而全”方向发展,试图通过各自规模的不断扩大来满足读者的信息需求,结果各馆之间各自为政、彼此孤立和难以协调的现象十分严重,重复劳动、重复收藏造成严重的浪费8。李岚清副总理也就中国数字图书馆工程问题作过“要防止重复建设”的指示,但近三年来,数字资源建设方面重复严重。2001年,全国各地在建的数字图书馆项目加起来,保守估计有36亿元的规模,其中90是重复建设。(2)技术落后,标准不统一如果数字图书馆在建立时不采用先进的技术,各自为战,将后患无穷。中国工程院院士倪光南对此也忧心忡忡地说认为,“作为图书馆今后的发展方向,选择技术时必须带有一定的前瞻性,避免因为技术问题造成比较大的浪费” 9。数字图书馆建设的标准化问题涉及到多种文献格式的描述标准、元数据的定义标准、各种代码和标识符的定义标准、文献类型描述标准、软件接口标准等。很显然,标准之争的背后其实是利益的争夺,民营企业希望通过打破单一的标准垄断,争取进入数字图书馆工程项目竞争的行列中。(3)资源共享问题实现资源共享,是图书馆界的梦想,也是无数读者翘首以盼的大好事。因特网的出现,把资源共享从一种理想化变为了现实,但从目前数字图书馆的发展现状看,还处于各自为战的状态,虽然国家有关部门已着手进行了这方面的运作,但大型的、著名的、方便的联机检索体系还未看到。面对因特网,面对众多的数字馆,真若查找某一专题,常常令读者有无从下手之感,若是较偏僻专业性的内容,这种检索就益加困难,这是所有在线读者普遍感到的一个棘手的问题。如搜狐、雅虎等网络搜索引擎,并不能担负起这一图书馆业务内的专业任务10。(4)藏书量的问题目前在线的数字图书馆,最显著最关键的问题是藏书量的不足,难以满足读者大量的阅读需求,这个问题的出现似乎可以从两方面理解,一是人力、财力不足所至,这种情形多发生在一些小的数字馆,由于其缺乏专业人员,并且投入资金有限,所以要求短时期内实现大藏书量,显然不现实。然而这些数字馆知道自己的不足,尽量在服务手段上予以弥补,因此访问量并不小,这是值得我们借鉴的地方。另一个原因是馆藏太巨大,回溯建库要有一个相对较长的时期,这种情况往往出现在一些大型馆身上。这些图书馆除了要开发自己的数字馆外,还要进行正常的开馆和管理活动,所以也无法把全部的人力、财力投入到数字馆上,但从长期趋势看,这些馆发展后劲足,前景可期。以上的这些问题在很大程度上影响着图书馆资源数字化的进度,如果能过解决这些问题,那么图书馆资源数字化的速度就会更上一个档次。参考文献1 Joel KotkinA Global History(Modern Library Chronicles)MModern Libarary,20062 James Gordon Herbert OlleLibrary historyMNew York:K.G. Saur,19793 Wayne A Wiegand,Donald G DavisEncyclopedia of library historyMNew York:Garland Pub,19944 周和平关于建设中国数字图书馆工程的问题J中国图书馆学报2000, 第26卷,第5期,23-285 王宏亮,那佳国家数字图书馆迷雾重重N经济观察报,2002 6 王大可数字图书馆建设者中存在的问题及解决办法J现代图书情报技术, 2000, 第22卷,第4期,13-177 闻生,倪光南质疑中国数字图书馆N北京青年报,2002 8 国长平目前因特网上数字图书馆存在的主要问题及对策N辽宁商务学院学报,2002 9 李国新论图书馆法治环境J中国图书馆学报,2000,第26卷,第3期,27-3010 张欣毅建设有中国特色的图书馆员职业道德规范北京大学信息管理系李国新教授的访谈录J图书馆理论与实践,2002,第21卷,第6期,17-20第2章 开题报告基于Java的网上图书馆系统2.1 选题的意义随着科学技术的不断发展和网络的不断普及,网上购物已成为在线业务的重要载体。尤其是网上书店更是呈现出一种蓬勃发展的势态1,而网上图书馆也是在这种大环境之下的产物之一。当今几乎每个学校和地方都有自己的图书馆,只不过规模大小各不相同而已,如何提高图书馆的办事效率、如何更加方便用户的使用等问题就显得更加重要了。网上图书馆存在的主要意义就是为了方便大家对图书馆书籍信息的了解、查询自己所想要借的书籍是否还有余存量、提前预定自己想要借的书籍等等,所有的意义归为一类就是方便了用户的使用,节省用户的时间并提高办事效率。本课题从理论和实践两个角度出发,通过设计和实现一个基于Struts的网上图书馆,对Struts框架进行更深一步的探讨。同时分析了系统中所用到的Struts框架的特点和使用方法。接着对图书馆系统的可行性进行了分析,然后对系统的设计思想、设计目标与系统的整体结构进行了明确的规划。最后对系统的主要页面、数据库、应用程序的设计与实现作了较为详细的讲解。2.2 可行性分析针对本系统,从以下三个方面进行可行性评估:(1)结构的可行性系统采用C/S结构MVC设计模式2。C/S结构最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。MVC设计模式是Web应用的一种典型体现3,本系统将使用最为熟悉的EJB(Jsp+Servlet+JavaBean)的开发方式。(2)技术可行性本系统是基于开源框架Struts开发4。Struts是apache组织jakarta项目的一个子项目,用以改善web系统的结构。它是一个基于Sun J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。struts框架具有组件的模块化,灵活性和重用性的优点,同时简化了基于MVC的web应用程序的开发5。本系统将在J2EE平台进行开发,J2EE提供了一个企业级的计算模型和运行环境用于开发和部署多层体系结构的应用。它通过提供企业计算环境所必需的各种服务,使得部署在J2EE平台上的多层应用可以实现高可用性、安全性、可扩展性和可靠性6。(3)适用性分析本系统对计算机硬件的配置要求不高,社会上各单位现有的计算机配置完全可以使用;系统的操作相对来说并不复杂,只要具有具有计算机基础知识,在经过操作说明之后,完全可以掌握对系统的操作,因此,在运行层面上,本系统是可行的7。所以在运行上是可行的。通过以上三个层面的分析,本系统是可行的。2.3 研究内容2.3.1 Struts框架的研究Struts框架主要分为四个部分,其中三个就和MVC模式紧密相关8:(1)模型(Model),本质上来说在Struts中Model是一个Action类(这个会在后面详细讨论),开发者通过其实现商业逻辑,同时用户请求通过控制器(Controller)向Action的转发过程是基于由struts-config.xml文件描述的配置信息的;(2)视图(View),View是由与控制器Servlet配合工作的一整套JSP定制标签库构成,利用她们我们可以快速建立应用系统的界面9;(3)控制器(Controller),本质上是一个Servlet,将客户端请求转发到相应的Action类;(4)一堆用来做XML文件解析的工具包,Struts是用XML来描述如何自动产生一些JavaBean的属性的,此外Struts还利用XML来描述在国际化应用中的用户提示信息的(这样一来就实现了应用系统的多语言支持)。Struts框架具有以下优点10:(1)作为基于Servlet技术的框架,Struts且有Servlet所具有的大部分优点;(2)Struts是基于MVC实现的,因此它具有结构层次分明、可重用性高、程序具有健壮性和可伸缩性,便于开发与设计分工,具有集中统一的权限控制等优点;(3)JSP标记机制和标签库的使用可提高代码的可重用性和灵活性11;(4)Struts对其他技术显示出很好的融合性;(5)开放源码,可以查看代码并在必要的时候做代码检查;(6)Struts还白日提供了校验、国际化、日志等丰富的功能,方便开发人员使用。Struts的目标就是要全面减轻建立企业级的Web应用的负担。该框架已经被验证了好几年,是目前较为成熟和稳定的框架之一。它在最近几年得到了飞速的发展,尤其在Web应用开发中应用得非常广泛,有的文献上说它已经成为JSP Web应用框架事实上的标准。2.3.2 图书馆系统分析网上图书馆系统是典型的B2C,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面12。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。本系统的内容主要包括:(1)图书查询: 当用户进入网上图书馆时,应该在主页面中分类显示最新的目信息,以供用户选择所需图书,同时也应该提供按照图书名称,或者作者信息快速查询所需书目信息的功能。(2)借书管理:当用户选择某图书时,应该能够将对应图书信息,如:价格、数量记录到对应的借书车中,并允许用户返回书目查询页面,选择其他书本,并添加到用户对应的列表中,当对应的列表清单生成后,应该能够自动清除以生成列表清单的列表中的信息。(3)列表清单处理:对应用户要借图书信息的需求,在确定了所借图书的信息后,提示用户填写取书的时间段,最终生成对应的信息记录,存入数据库中。(4)图书续借:为了能方便用户更好的阅读图书,在原本借书的时间内不能完成对书本的阅读的情况发生时,节省用户的时间,可以直接通过网上图书馆紧系续借。其中,设计数据库时,如何处理多对多的关系和如何设计主键,是两个有着较大难度、需要重点考虑的问题。这着重从SQL应用、数据库设计范式和查询优化等方面来分析本课题的系统关键技术和实现难点并加以解决。2.3.3 图书馆系统的设计系统主要包括登陆模块、查找模块、预定模块和续借模块四个模块。(1)登陆模块登陆模块主要作用是在用户进行登陆成功之后,根据用户名从数据库中得到与用户对应的信息,判断出用户的权限等级,从而让用户进行接下来的操作。(2)查找模块查找模块的主要功能是能让用户用最快的速度找到他想要找的书本,所以对书本在数据库中存储的信息要求就相对而言的有所提高,所以为了方便用户的查找,对图书进行分类并且查找条件也需要进行区分。(3)预定模块预定模块的主要作用是为了预防用户查找的书本原本是有的,但是在他来到图书馆之前已经被借走,这样就会让用户白跑一趟,所以这块内容也显得尤为重要,可以不让用户做无用功。(4)续借模块续借模块的主要功能是为了方便用户更好的阅读书本,不用因为书本时间使用时间已经到了,还要大老远跑到图书馆进行续借,可以直接在网上进行续借操作,而且可以根据用户的权限等级让用户选择续借的时间。2.3.4 Struts在系统的中应用图1 Struts体系结构图作为一个实现良好的MVC框架,Struts对Model、View和Controller都提供了对应的实现组件,图1所示为Struts体系结构图13。视图(View)就是一系列提交到客户浏览器进行显示的JSP文件,是用户看到并与之交互的界面。在这些界面中没有业务逻辑,也没有模型信息,只有标签。 模型(Model)表示应用程序的状态和业务逻辑,通常由JavaBean或EJB组件来实现。 控制器(Controller)的作用是从客户端接受请求,并且选择执行相应的业务逻辑,然后把响应结果送回到客户端。在Struts中Controller由ActionServlet类和Action类来实现。ActionServlet主要负责接受HTTP请求信息,Action类负责调用模型的方法,更新模型的状态,并帮助控制应用程序的流程。2.4 研究方法本文针对本系统,主要的研究方法如下:(1)利用MyEclipse工具开发程序源代码,同时结合JDK1.5服务器Apache Tomcat 5.0进行调试和试运行,数据库采用MySQL5.014。采用MySQL作为数据库平台,既可以被应用程序访问,又可在后台操作,完成对数据的整理等。与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,如规模小、功能有限等,但对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。(2)利用Microsoft Visio工具,设计系统各主要类图。基于J2EE平台上的EJB(Jsp+Servlet+JavaBean)技术支持,允许开发人员扩展和构造自己的应用程序15。2.5 拟解决的关键问题2.5.1 用户界面的人性化设计本系统在设计界面时,主要从界面的外观和界面提供的功能两个方面考虑:(1)界面的外观要力求规范和简洁。(2)系统通过界面提供的功能应尽量方便用户的使用。2.5.2 权限与系统安全性问题在图书馆系统中权限是关键的部分,权限管理的好坏直接关系到系统使用的正确性和安全性。系统将基于多层授权,对不同职权的人员分配相应的权限,防止用户跨权限操作。同时对数据范围权限进行严格的控制,可以有效解决在系统管理中经常遇到的功能及数据范围控制问题,对用户数据加密存储。2.6 预期结果本系统是基于Java并且采用Struts框架的网上图书馆系统,对于用户对图书馆的使用有了更进一步的简化作用,节省用户的时间并方便用户的使用。预期成果形式:提供具备以上功能的图书馆系统以及相应的开发报告。2.7 研究进度计划起始年月进度目标要求2009.12.082010.02.10查阅文献,撰写文献综述2010.02.112010.03.15确定写作方案,撰写开题报告,外文翻译2010.03.162010.05.10程序设计与实现2010.05.112010.06.06论文的撰写与整理,提交毕业论文,答辩参考文献1 于阁.基于JSP技术的网上书店系统设计与实现D.大连:大连理工大学,2006.2 王程辉、李存斌.J2EE框架与MVC技术相结合模式的应用与实现2006北京地区高校研究生学术交流会通信现信息技术会议论文集(下)C.北京:中国电子学会、北京邮电大学,2006:1652-1658.3 邬继成.Struts与Hibernate实用教程构建基于MVC模式的高效Java Web应用M.北京:电子工业出版社,2006.4 吴明晖,吴超.Struts+Hibernate开发Web应用从基础到实践M.北京:人民邮电出版社,2007.5 邬继成.Struts与Hibernate实用教程构建基于MVC模式的高效Java Web应用M.北京:电子工业出版社,2006.6 丁鹏,刘方,邵志峰,何丙胜等.STRUTS技术揭密及WEB开发实例M.北京:清华大学出版社,2004.7 S.K.Deb Nath,S. Reaz Ahmed. Displacement potential solution of stiffened composite struts subjected to eccentric loading J. Applied Mathematical Modelling,2009,26(5),23-28.8 曹广鑫,王谢华,王建风.Struts数据库项目开发宝典M.北京:电子工业出版社,2004.9 James Goodwill,Mastering Jakarta StrutsM. New York, NY USA:John Wiley & Sons Inc.2003:528.10 宁可.数据库技术与应用M.北京:清华大学出版社,2006.11 卫琴等著.tomcat与java web 开发技术详解M.电子工业出版社,200812 孙卫琴精通Struts:基于MVC的Java Web设计与开发M北京市:电子工业出版社,200713 万峰科技JSP网站开发四库全书:新闻论坛电子商城博客M北京市:电子工业出版社,200514 李刚Struts2权威指南:基于WebWork核心的MVC开发M北京市:电子工业出版社,200715 李平等.基于JSP技术的web数据库设计J.电脑与信息技术,2000,第6期,166-172第3章 外文翻译Java Servlet 说明书版本 2.3(节选)Proposed Final Draft Version 2: April 10th, 2003Danny Coward ()Yutaka Yoshida ()第十章 应用生命周期事件10.1 介绍 本规范支持应用级别的事件。这些应用事件的使用和ServletContext和HttpSession对象的使用相比较给了开发人员更大的控制能力并能提高管理应用程序使用的资源网络的效率。10.2 事件监听器 应用事件监听器是实现了一个或多个和servlet 事件监听接口的类,在web应用被发布的时候被实例化并在web容器中注册。它们应由开发人员提供。 当ServletContext和HttpSession对象的状态改变时,Servlet事件监听器应该支持事件通知。Servlet context监听器用来管理资源和虚拟机状态。HTTP会话监听器用来管理应用程序中与某个客户机或用户关联的一系列请求的资源与状态。Servlet请求监听器用来关系servlet请求的生命周期。 对于每一个事件类型,可能有多个监听器监听它们。开发人员也可以为每一个事件类型指定容器调用监听器的顺序。 10.2.1 事件类型与监听器接口 事件类型描述监听器接口Servlet Context事件生命周期servlet context 刚刚被创建,它准备好处理它的第一个请求 或者context即将被关闭javax.servlet.ServletContextListener属性改变servlet context上的属性已被添加,删除,替换javax.servlet.ServletContextAttributesListenHTTP会话事件生命周期生命周期HttpSession对象已经被创建、或实效、或过期javax.servlet.http.HttpSessionListener 属性改变属性改变 HttpSession对象上的属性已被添加、删除或替换javax.servlet.HttpSessionAttributesListener10.2.2 使用监听器的例子 为举例说明事件的使用,我们假定一个简单的网络应用程序,包含若干个用到数据库的servlet。开发人员已提供了一个servlet context监听器类管理的数据库联接。 1.当应用程序启动时,监听器类被通知,应用登陆到数据库中,并将连接存储在servlet context中。 2.在web应用中的servlet可以在需要的时候访问该连接。 3.当网络服务器是关闭的,或者应用程序被删除,那么监听器被通知,数据库联接被关闭。 10.3 监听器类配置 10.3.1 提供监听器类 应用开发人员听实现一个或者多个接口的监听器类,每个类必须有不带参数的公共构造函数。该类被打包进WAR中,也可以放在WEB-INF/classes目录下或者是WEB-INF/lib下的JAR中。 10.3.2 发布声明 在网络应用配置文件中,使用listener元素声明监听器类。类名的顺序是根据被调用的顺序的。10.3.3 注册监听器 web容器在应用处理第一个请求前,必须创建每个监听器的实例并注册它。容器根据监听器实现的接口以及在配置描述文件中的顺序注册实例。容器以监听器注册的顺序执行它们。 10.3.4 关闭时通知 当应用被关闭时,监听器以声明时相反的顺序得到通知,先处理会话监听,然后是context监听。 10.4 Example 下面例子是关于如何注册两个servlet context 监听器和一个 会话监听器的语法。假定com.acme.MyConnectionManager和com.acme.MyLoggingModule都实现了javax.servlet.ServletContextListener,并且com.acme.MyLoggingModule 还实现了javax.servlet.HttpSessionListener,以下是配置描述: MyListeningApplicationcom.acme.MyConnectionManagercom.acme.MyLoggingModuleRegistrationServlet.etc10.5 监听器实例与线程 容器需要在应用程序处理第一个请求之前,完成实例化监听器类.在完成最后一个服务请求之前,容器必须维护每个监听器实例的引用。 ServletContext和HttpSession属性的改变是可以并发的。对属性监听器通知,容器不需要同步。维持状态的监听器类有责任保持数据的完整性,并应当明确地处理这种情况。10.6 分布式容器 在分布式web容器中,HttpSession实例存在于处理该会话的请求的特定虚拟机范围,ServletContext对象的范围则在web容器所在的虚拟机内。分布式容器不需要将servlet context和session上的事件传播到其他虚拟机。监听器实例范围则在每个虚拟机上的每个部署声明对应一个。 10.7 会话事件 开发人员使用监听器类跟踪应用会话,它的作用很大,想知道哪个会话因容器使会话超时,或是因为被调用了invalidate方法而失效了。区别在于是直接使用HTTPSession的API还是间接使用监听器。 第十一章 映射请求到Servlet11.1 URL环境的用处 收到客户机的请求,web容器首先判断应该由哪个web应用处理它。被选定的应用拥有最长的匹配该请求URL的context路径,和URL的匹配部分就是context path。 web容器接下来必须使用路径映射过程定位处理请求的servlet: 用来映射到servlet的路径是请求的URL减去context path,下列的URL映射规则其顺序是有用的,一个成功的匹配后就不需要进行下一步的匹配了: 1.容器尝试找到请求路径到servlet路径的精确匹配,成功就选定该servlet。 2.容器将回退尝试匹配最长的路径前缀:使用/字符作为路径符,每次沿着路径向下一步查找目录。按最长的那个匹配选择servlet。 3.如果URL最后的那段包含扩展名(即.jsp),servlet容器将试图匹配一个处理该扩展名的servlet。扩展名是最后一个.后面的这部分。 4.如果上述都没有找到匹配的servlet,容器尝试serve content appropriate for the resource requested.如“defaultservlet定义了,就使用default servlet。 11.2 映射规范 以下语法用于在应用配置描述中定义映射: 以/开头,/*结尾的后缀被用来路径映射 以*.开始的前缀被用来映射扩展名 只包含/的字符串表示应用的缺省servlet,此时,servlet path是请求的URI减去context path,path info 为null。所有其他字符串只是被用来做精确匹配。11.2.1 隐含的映射 若容器拥有内部的JSP容器,所有*.jsp 扩展被映射到它,允许执行JSP页面。这就是隐含映射。如Web 应用定义了*.jsp映射,将优先于隐含映射。 只要显式映射优先,servlet容器也可以做其他隐含映射。例如:*.shtml可以映射用来包含。 11.2.2映射例子 路径模式 servlet /foo/bar/* servlet1 /baz/* servlet2 /catalog servlet3 *.bop servlet4 进入的路径 servlet handling request /foo/bar/index.html servlet1 /foo/bar/index.bop servlet1 /baz servlet2 /baz/index.html servlet2 /catalog servlet3 /catalog/index.html default” servlet /catalog/racecar.bop servlet4 /index.bop servlet4 第十二章 安全 开发人员创建出web应用以后,将其赠与、销售或者传送到发布者,并安装到运行环境中。开发人员需要和发布者沟通如何给安装的应用程序 设置安全。利用配置描述机制完成此项工作。 本章描述了安全需求的发布表示。和web应用目录结构与配置描述类似,本章并不描述运行表现需求。推荐容器实现本章作为它们的运行表示。 12.1 介绍 web应用包含的资源可以被很多用户访问。在开放网络特别是internet,这些资源通常可以被无保护的访问。在这样的环境下,大量的web应用都有安全需求。 虽然质量管理和实施细节可能不同, servlet容器的机制和基础设施可以达到分享一些以下要求: 认证(Authentication):通信的个体互相证明他们就代表着被批准为访问的那个指定的身分。 资源访问控制:出于增强完整性、机密性、有效性的约束,与资源的交互被限制在某些用户或程序的集合内。 数据完整性:证明数据在传输过程中未被第三方篡改。 机密性和数据保密:信息只对被批准访问它的用户可用。 12.2 声明安全 声明安全涉及表示应用安全结构的方式,包括角色,访问控制,外部对应用认证需求形式。配置描述是声明web应用安全的主要工具。 发布者映射应用的逻辑安全需求到针对运行环境特定的安全策略。运行时,servlet容器使用安全策略增强认证和授权。 安全模型适用于web应用的静态内容部分和servlet。当servlet使用RequestDispatcher对象调用静态资源或servlet使用forward或include,安全模型是不应用的。 12.3 安全编程 当只使用声明性的安全措施不能满足应用安全模型的需要时,可进行安全方面的编程。由HttpServletRequest接口的下列方法组成: .getRemoteUser .isUserInRole .getUserPrincipal getRemoteUser方法返回客户机用来认证的用户名称。isUserInRole方法判断是否远程用户隶属于某个安全角色。getUserPrincipal方法 判断当前用户的Principal,并返回一个java.security.Principal对象。这些方法允许servlet根据获得的信息作出商业逻辑层的判断。 如果用户没有通过认证,getRemoteUser方法返回NULL.isUserInRole则总是返回false,getUserPrincipal方法返回null。 isUserInRole方法有一个字符串类型的参数代表用户角色名称,配置描述中应声明security-role-ref元素,同时声明role-name子元素,此元素的内容将被传递进该方法。security-role元素应包含一个role-link子元素,其值就是此用户被映射的安全角色名称。决定调用的返回值时,容器使用security-role-ref到security-role的映射。 例如:映射安全引用FOO到角色名为manager的安全角色的语法如下: FOOmanager 此例中,如属于“manager”角色的用户调用了此servlet,isUserInRole(FOO)方法将返回true。 如果security-role-ref匹配security-role元素未被声明,容器必须默认逆着security-role元素列表检查role-name元素参数。 isUserInRole方法则相关于调用者是否映射到了安全角色。开发人员必须知道使用默认机制也许限制了其灵活性,在改变角色名称而不必要重新编译发起调用的servlet。 12.4 角色 一个安全角色是由使用者定义的逻辑分组或者开发人员定义的逻辑用户组。当应用部署时,角色映射由发布者进行处理。 执行一个Servlet或者容器的安全性需要跟principal的安全属性联系在一起。这就可能发生以下的情况: 1.发布者已经匹配了一个安全角色到运行环境下的一个用户组。正在调用的用户组隶属于哪个principal,可在其安全属性中检索到。 Principal是安全角色仅当principal匹配的用户组是安全角色 2.发布者在安全策略域中已经为principal名称映射了安全角色。在这种情况下,可从其安全属性中检索到正在调用的principal的名称。 只有当principal的名字和安全角色映射的principal名字一样时,principal才属于安全角色。 12.5 认证 Web客户端认证用户到网络服务器可以通过下列几种机制: .HTTP基本认证 .HTTP摘要认证 .HTTPS客户端认证 .基于Form认证 外文原稿(注明原稿的出处,并采用复印或按原来的格式直接打印)开题报告(含文献综述、外文翻译)评语表姓 名刘华斌学号3070411016班 级07信计1班指导教师对文献综述的评语:指导教师对开题报告的评语: 指导教师对译文的评语:指导教师签名: 年 月 日 答辩小组对开题报告(含文献综述、外文翻译)的评语:同意开题。 答辩小组负责人签名: 年 月 日2*本科毕业设计(论文)管理暂行规定毕业设计(论文)是本科人才培养的重要实践性教学环节,也是学士学位评定的重要依据。为了切实做好我校的毕业设计(论文)工作,规范毕业设计(论文)工作的管理,提高毕业设计(论文)的质量,特制定本规定。一、毕业设计(论文)的主要目的(一)培养学生运用所学知识独立地分析和解决本专业范围内一般问题的能力,培养学生的创新意识和实践能力,使学生从事学术研究的能力得到初步的训练;(二)培养学生理论联系实际的工作作风和严谨认真的科学态度;(三)培养学生分析设计能力、研究实验能力、工程实践能力、经济分析能力、外文阅读能力和计算机的运用能力,以及社会调查、文献资料查阅和论文写作能力。二、毕业设计(论文)的基本要求(一)按照各专业“毕业设计(论文)教学大纲”的要求进行;(二)要具有学术性,要对自然科学或社会科学内某一领域进行专门、系统的研究,并表达其研究成果;(三)要具有创见性,要对学术或工程的某个问题有新的发现、新的构想或新的发展和完善;(四)要具有科学性,要求论述系统而完整,首尾一贯而不前后矛盾,实事求是而不主观臆造;(五)要具应用性,要能解决生产实际问题,在技术改造、生产管理等通过方面有所创造;(六)应做到观点正确、论据充分、推理严密、计算准确,层次分明、条理清楚、语言精炼,有必要的图表和相关资料等;(七)应参阅一定数量的外文资料,并要求在毕业设计(论文)中反映出来。三、毕业设计(论文)的工作程序毕业设计(论文)工作程序分为选题、开题、撰写论文或设计、中期检查、答辩、归档等环节。四、毕业设计(论文)的时间安排毕业设计(论文)工作时间为812周,时间安排应按*本科生毕业设计(论文)工作流程执行,集中用于毕业设计(论文)的时间不得少于专业培养计划规定的周数。五、毕业设计(论文)的领导与管理全校毕业设计(论文)在分管教学副校长领导下进行,分级管理,层层负责。(一)教务处毕业设计(论文)管理工作职责:1、汇总各院(部)毕业设计(论文)题目和指导教师安排,协调有关问题;2、做好毕业设计(论文)前期、中期、后期检查工作,对未达到各阶段进度、质量要求或违反有关规定的院(部)提出整改要求;3、开展学校毕业设计(论文)工作评估和研究工作。(二)院(部)毕业设计(论文)管理工作职责:各院(部)成立毕业设计(论文)工作领导小组,确定毕业设计(论文)指导教师,布置毕业设计(论文)工作任务,检查本院(部)毕业设计(论文)工作落实情况。院(部)毕业设计(论文)管理工作职责为: 1、审查毕业设计(论文)选题、下达任务书,安排指导教师,布置毕业设计(论文)有关工

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论