




已阅读5页,还剩22页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业设计 论文 开题报告毕业设计 论文 开题报告 含文献综述 外文翻译 题 目 基于基于 JavaJava 的网上图书馆系统的网上图书馆系统 姓 名 刘华斌刘华斌 学 号 30704110163070411016 专业班级 0707 信息与计算科学信息与计算科学 1 1 班班 指导教师 舒振宇舒振宇 分 院 信息科学与工程分院信息科学与工程分院 开题时间 20112011 年年 3 3 月月 1515 日日 宁波理工学院宁波理工学院 0 第第 1 1 章章 文献综述文献综述 基于 Java 的网上图书馆系统 1 1 引言 在科技发达的今天 无论是事物还是技术 都有了更高层次的发展 这种 现象的出现 主要是人类社会的总体进步在影响着它 社会的不断发展 使得 人们对精神和物质的要求越来越高 这就迫使供应商要有更高档次的技术和产 品去满足这种日益增长的需求 再者 现在的社会是市场经济的社会 一切商 业活动都以竞争为主要手段 优胜劣汰 是不变的准则 这也是高技术 高新 产品出现的原因 在这种大环境下 为了提高办事效率 网上图书馆系统也应之而生 1 2 国内外现状 1 2 1 国内现状 在图书管理系统用计算机管理图书是一种计算机应用技术的创新 在计算 机还未普及之前图书管理都是由图书管理人员手工记账的方式来操作的 现在 一般的图书馆都是采用计算机作为工具的实用的计算机图书管理程序来帮助图 书馆管理员进行更有效的图书管理 国家图书馆的计算机管理起始于八十年代初期 随着图书馆事业的蓬勃发 展 特别是开始建设数字图书馆 原有的计算机管理系统已无法满足需要 为 此 从 1994 年开始 遵循调查研究 摸清底数 统筹规划 分步实施的原则 先后建设了十几个计算机局域网 并于 1999 年 2 月开通了千兆位馆域网 将以 往建设的各个子网全部纳入其中 至此 国家图书馆的网络建设上了一个新台 阶 其采用的技术达到了国际接轨 国内领先的水平 与此同时 国家图书馆 还开始进行了数字图书馆的研发 90 年代中期 我国图书馆系统的研发曾经出现了一个高潮时期 当时推出 1 了目前在国内较有影响的几个大型系统 如南京汇文 北邮 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 年 2 VTLS 1996 年 Sirsl 1996 年 Exlibris 1997 年 等在内的图书馆自动 化系统厂商都在这一时期重新设计了其产品 3 目前国外在用的许多图书馆自 动化系统的主体构架 都来源于当时的 重新设计 1 3 发展趋势 图书资源数字化图书馆是未来图书馆的发展方向 数字图书馆在信息存储 形式 信息组织形式 信息处理和输出形式 信息传递速度和服务方式等方面 比传统图书馆有重大的改革 4 数字图书馆被人们称为未来图书馆发展的模式 这种图书馆的实质是利用计算机网络对分布于各处的各种信息资源进行动态搜 寻 利用 是用户获取知识与信息的最快捷方式 是一种信息环境而不是具体 的图书馆形态 数字图书馆依靠数字化技术把文字 声音和图像转化为数字形 式 采用数字方式进行存贮 传输和处理 将图书馆的多种资料信息通过计算 机转化为二进制数字存储起来 如电子期刊 电子图书 各种数据库及光盘资 料 数字图书馆的主要特征是 1 信息存储数字化 2 支持网络多元化 3 信 息共享网络化 5 数字图书馆是未来图书馆发展的主要方向 是计算机和因特网带来的文献 信息载体形态和传递方式的变化 也是图书馆的存在方式 运行机制和社会功 能的重新定位 6 中国科学院计算机所的黄铁军先生认为 建立数字图书馆是 一个长期性的工程 它需要从资源的数字化和资源的管理及服务两方面做长期 的工作 图书馆应该适应发展模式的变化 根据各自的实际情况加强图书馆数 字化和网络化的工作 将图书馆馆藏信息实现数字化 以计算机网络为基础向 读者提供全方位的信息服务 1 4 存在问题 我国数字图书馆经过几年的时间的建设 取得了不小的成绩 但是 这几年 的发展也暴露出一些问题 这些问题不解决 将极大地制约我国图书馆数字化的 进一步发展 7 下面就来分析一下这些问题 1 缺乏有效的宏观调控 重复建设问题突出 3 条块分割的管理体制和根深蒂固的传统封闭观念 使得我国图书馆界长期 以 来无法有效地开展文献资源共建共享工作 各馆从 万事不求人 的角度出发 朝 小而全 大而全 方向发展 试图通过各自规模的不断扩大来满足读者的信 息需求 结果各馆之间各自为政 彼此孤立和难以协调的现象十分严重 重复 劳动 重复收藏造成严重的浪费 8 李岚清副总理也就中国数字图书馆工程问 题作过 要防止重复建设 的指示 但近三年来 数字资源建设方面重复严重 2001 年 全国各地在建的数字图书馆项目加起来 保守估计有 36 亿元的规模 其中 90 是重复建设 2 技术落后 标准不统一 如果数字图书馆在建立时不采用先进的技术 各自为战 将后患无穷 中 国工程院院士倪光南对此也忧心忡忡地说认为 作为图书馆今后的发展方向 选择技术时必须带有一定的前瞻性 避免因为技术问题造成比较大的浪费 9 数字图书馆建设的标准化问题涉及到多种文献格式的描述标准 元数据的定义 标准 各种代码和标识符的定义标准 文献类型描述标准 软件接口标准等 很显然 标准之争的背后其实是利益的争夺 民营企业希望通过打破单一的标 准垄断 争取进入数字图书馆工程项目竞争的行列中 3 资源共享问题 实现资源共享 是图书馆界的梦想 也是无数读者翘首以盼的大好事 因 特网的出现 把资源共享从一种理想化变为了现实 但从目前数字图书馆的发 展现状看 还处于各自为战的状态 虽然国家有关部门已着手进行了这方面的 运作 但大型的 著名的 方便的联机检索体系还未看到 面对因特网 面对 众多的数字馆 真若查找某一专题 常常令读者有无从下手之感 若是较偏僻 专业性的内容 这种检索就益加困难 这是所有在线读者普遍感到的一个棘手 的问题 如搜狐 雅虎等网络搜索引擎 并不能担负起这一图书馆业务内的专 业任务 10 4 藏书量的问题 目前在线的数字图书馆 最显著最关键的问题是藏书量的不足 难以满足 4 读者大量的阅读需求 这个问题的出现似乎可以从两方面理解 一是人力 财 力不足所至 这种情形多发生在一些小的数字馆 由于其缺乏专业人员 并且 投入资金有限 所以要求短时期内实现大藏书量 显然不现实 然而这些数字 馆知道自己的不足 尽量在服务手段上予以弥补 因此访问量并不小 这是值 得我们借鉴的地方 另一个原因是馆藏太巨大 回溯建库要有一个相对较长的 时期 这种情况往往出现在一些大型馆身上 这些图书馆除了要开发自己的数 字馆外 还要进行正常的开馆和管理活动 所以也无法把全部的人力 财力投 入到数字馆上 但从长期趋势看 这些馆发展后劲足 前景可期 以上的这些问题在很大程度上影响着图书馆资源数字化的进度 如果能过 解决这些问题 那么图书馆资源数字化的速度就会更上一个档次 5 参考文献 1 Joel Kotkin A Global History Modern Library Chronicles M Modern Libarary 2006 2 James Gordon Herbert Oll Library history M New York K G Saur 1979 3 Wayne A Wiegand Donald G Davis Encyclopedia of library history M New York Garland Pub 1994 4 周和平 关于建设中国数字图书馆工程的问题 J 中国图书馆学报 2000 第 26 卷 第 5 期 23 28 5 王宏亮 那佳 国家数字图书馆迷雾重重 N 经济观察报 2002 6 王大可 数字图书馆建设者中存在的问题及解决办法 J 现代图书情报技术 2000 第 22 卷 第 4 期 13 17 7 闻生 倪光南 质疑中国数字图书馆 N 北京青年报 2002 8 国长平 目前因特网上数字图书馆存在的主要问题及对策 N 辽宁商务学 院学报 2002 9 李国新 论图书馆法治环境 J 中国图书馆学报 2000 第 26 卷 第 3 期 27 30 10 张欣毅 建设有中国特色的图书馆员职业道德规范 北京大学信息管理 系李国新教授的访谈录 J 图书馆理论与实践 2002 第 21 卷 第 6 期 17 20 6 第第 2 2 章章开题报告开题报告 基于 Java 的网上图书馆系统 2 1 选题的意义 随着科学技术的不断发展和网络的不断普及 网上购物已成为在线业务的 重要载体 尤其是网上书店更是呈现出一种蓬勃发展的势态 1 而网上图书馆 也是在这种大环境之下的产物之一 当今几乎每个学校和地方都有自己的图书馆 只不过规模大小各不相同而 已 如何提高图书馆的办事效率 如何更加方便用户的使用等问题就显得更加 重要了 网上图书馆存在的主要意义就是为了方便大家对图书馆书籍信息的了解 查询自己所想要借的书籍是否还有余存量 提前预定自己想要借的书籍等等 所有的意义归为一类就是方便了用户的使用 节省用户的时间并提高办事效率 本课题从理论和实践两个角度出发 通过设计和实现一个基于 Struts 的网 上图书馆 对 Struts 框架进行更深一步的探讨 同时分析了系统中所用到的 Struts 框架的特点和使用方法 接着对图书馆系统的可行性进行了分析 然后 对系统的设计思想 设计目标与系统的整体结构进行了明确的规划 最后对系 统的主要页面 数据库 应用程序的设计与实现作了较为详细的讲解 2 2 可行性分析 针对本系统 从以下三个方面进行可行性评估 1 结构的可行性 系统采用 C S 结构 MVC 设计模式 2 C S 结构最大的优点就是可以在任何地方进行操作而不用安装任何专门的 软件 MVC 设计模式是 Web 应用的一种典型体现 3 本系统将使用最为熟悉 的 EJB Jsp Servlet JavaBean 的开发方式 7 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 定制 标 8 签库构成 利用她们我们可以快速建立应用系统的界面 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 应用框架事实上的标准 9 2 3 2 图书馆系统分析 网上图书馆系统是典型的 B2C 其开发主要包括后台数据库的建立和维护 以及前端应用程序的开发两个方面 12 对于前者要求建立起数据一致性和完 整性强 数据安全性好的库 而对于后者则要求应用程序功能完备 易使用等 特点 本系统的内容主要包括 1 图书查询 当用户进入网上图书馆时 应该在主页面中分类显示最新的 目信息 以供用户选择所需图书 同时也应该提供按照图书名称 或者作者信 息快速查询所需书目信息的功能 2 借书管理 当用户选择某图书时 应该能够将对应图书信息 如 价格 数量记录到对应的借书车中 并允许用户返回书目查询页面 选择其他书本 并添加到用户对应的列表中 当对应的列表清单生成后 应该能够自动清除以 生成列表清单的列表中的信息 3 列表清单处理 对应用户要借图书信息的需求 在确定了所借图书的信 息后 提示用户填写取书的时间段 最终生成对应的信息记录 存入数据库中 4 图书续借 为了能方便用户更好的阅读图书 在原本借书的时间内不能 完成对书本的阅读的情况发生时 节省用户的时间 可以直接通过网上图书馆 紧系续借 其中 设计数据库时 如何处理多对多的关系和如何设计主键 是两个有 着较大难度 需要重点考虑的问题 这着重从 SQL 应用 数据库设计范式和查 询优化等方面来分析本课题的系统关键技术和实现难点并加以解决 2 3 3 图书馆系统的设计 系统主要包括登陆模块 查找模块 预定模块和续借模块四个模块 1 登陆模块 登陆模块主要作用是在用户进行登陆成功之后 根据用户名从数据库中得 到与用户对应的信息 判断出用户的权限等级 从而让用户进行接下来的操作 10 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 类负责调用模型的方法 更新模型的状态 并帮助控制应用程序 11 的流程 2 4 研究方法 本文针对本系统 主要的研究方法如下 1 利用 MyEclipse 工具开发程序源代码 同时结合 JDK1 5 服务器 Apache Tomcat 5 0 进行调试和试运行 数据库采用 MySQL5 0 14 采用 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 预期结果 12 本系统是基于 Java 并且采用 Struts 框架的网上图书馆系统 对于用户对图 书馆的使用有了更进一步的简化作用 节省用户的时间并方便用户的使用 预期成果形式 提供具备以上功能的图书馆系统以及相应的开发报告 2 7 研究进度计划 起始年月进度目标要求 2009 12 08 2010 02 10查阅文献 撰写文献综述 2010 02 11 2010 03 15确定写作方案 撰写开题报告 外文翻译 2010 03 16 2010 05 10程序设计与实现 2010 05 11 2010 06 06论文的撰写与整理 提交毕业论文 答辩 13 参考文献 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 Struts M New York NY USA John Wiley Sons Inc 2003 528 10 宁可 数据库技术与应用 M 北京 清华大学出版社 2006 11 卫琴等著 tomcat 与 java web 开发技术详解 M 电子工业出版社 2008 12 孙卫琴 精通 Struts 基于 MVC 的 Java Web 设计与开发 M 北京市 电 子工业出版社 2007 13 万峰科技 JSP 网站开发四库全书 新闻论坛电子商城博客 M 北京市 电子工业出版社 2005 14 李刚 Struts2 权威指南 基于 WebWork 核心的 MVC 开发 M 北京市 电子工业出版社 2007 14 15 李平等 基于 JSP 技术的 web 数据库设计 J 电脑与信息技术 2000 第 6 期 166 172 15 第第 3 3 章章外文翻译外文翻译 JavaJava ServletServlet 说明书说明书 版本版本 2 32 3 节选 节选 Proposed Final Draft Version 2 April 10th 2003 Danny Coward danny coward Yutaka Yoshida yutaka yoshida 第十章 应用生命周期事件 10 1 介绍 本规范支持应用级别的事件 这些应用事件的使用和 ServletContext 和 HttpSession 对象的使用相比较给了开发人员更大的控制能力并能提高管理应 用程序使用的资源网络的效率 10 2 事件监听器 应用事件监听器是实现了一个或多个和 servlet 事件监听接口的类 在 web 应用被发布的时候被实例化并在 web 容器中注册 它们应由开发人员提供 当 ServletContext 和 HttpSession 对象的状态改变时 Servlet 事件监听器应 该支持事件通知 Servlet context 监听器用来管理资源和虚拟机状态 HTTP 会话监听器用来管理应用程序中与某个客户机或用户关联的一系列请求的资源 与状态 Servlet 请求监听器用来关系 servlet 请求的生命周期 对于每一个事件类型 可能有多个监听器监听它们 开发人员也可以为每 一个事件类型指定容器调用监听器的顺序 10 2 1 事件类型与监听器接口 事件类型描述监听器接口 16 Servlet Context事 件 生命周期servlet context 刚 刚被创建 它准 备好处理它的第 一个请求 或者 context 即将被关 闭 javax servlet ServletContextListener 属性改变servlet context 上 的属性已被添加 删除 替换 javax servlet ServletContextAttributesListen HTTP 会话事件 生命周期生命周期 HttpSession 对象 已经被创建 或 实效 或过期 javax servlet http HttpSessionListener 属性改变属性改变 HttpSession 对象 上的属性已被添 加 删除或替换 javax servlet HttpSessionAttributesListener 10 2 2 使用监听器的例子 为举例说明事件的使用 我们假定一个简单的网络应用程序 包含若干个 用到数据库的 servlet 开发人员已提供了一个 servlet context 监听器类管 理的数据库联接 1 当应用程序启动时 监听器类被通知 应用登陆到数据库中 并将连接 存储在 servlet context 中 2 在 web 应用中的 servlet 可以在需要的时候访问该连接 3 当网络服务器是关闭的 或者应用程序被删除 那么监听器被通知 数 17 据库联接被关闭 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 以下是配置描述 MyListeningApplication com acme MyConnectionManager 18 com acme MyLoggingModule RegistrationServlet etc 10 5 监听器实例与线程 容器需要在应用程序处理第一个请求之前 完成实例化监听器类 在完成最 后一个服务请求之前 容器必须维护每个监听器实例的引用 ServletContext 和 HttpSession 属性的改变是可以并发的 对属性监听器 通知 容器不需要同步 维持状态的监听器类有责任保持数据的完整性 并应 当明确地处理这种情况 10 6 分布式容器 在分布式 web 容器中 HttpSession 实例存在于处理该会话的请求的特定虚 拟机范围 ServletContext 对象的范围则在 web 容器所在的虚拟机内 分布式 容器不需要将 servlet context 和 session 上的事件传播到其他虚拟机 监听 器实例范围则在每个虚拟机上的每个部署声明对应一个 10 7 会话事件 开发人员使用监听器类跟踪应用会话 它的作用很大 想知道哪个会话因 容器使会话超时 或是因为被调用了 invalidate 方法而失效了 区别在于是直 接使用 HTTPSession 的 API 还是间接使用监听器 第十一章 映射请求到 Servlet 11 1 URL 环境的用处 收到客户机的请求 web 容器首先判断应该由哪个 web 应用处理它 被选 定的应用拥有最长的匹配该请求 URL 的 context 路径 和 URL 的匹配部分就是 context path 19 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 如 default servlet 定义了 就 使用 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 20 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 通信的个体互相证明他们就代表着被批准为访问 的那个指定的身分 资源访问控制 出于增强完整性 机密性 有效性的约束 与资源的交互被 21 限制在某些用户或程序的集合内 数据完整性 证明数据在传输过程中未被第三方篡改 机密性和数据保密 信息只对被批准访问它的用户可用 12 2 声明安全 声明安全涉及表示应用安全结构的方式 包括角色 访问控制 外部对应 用认证需求形式 配置描述是声明 web 应用安全的主要工具 发布者映射应用的逻辑安全需求到针对运行环境特定的安全策略 运行时 servlet 容器使用安全策略增强认证和授权 安全模型适用于 web 应用的静态内容部分和 servlet 当 servlet 使用 RequestDispatcher 对象调用静态资源或 ser
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 期末5年级数学试卷
- 教育资源共建共享报告
- 林杨讲数学试卷
- 洛阳市涧西区数学试卷
- 青岛莱西初二数学试卷
- 2025年智能化配电与电控装置项目合作计划书
- 历年湖北省高考数学试卷
- 培智学校数学试卷
- 辽宁历年高考数学试卷
- 临沂高三期中数学试卷
- Unit 10 单元作业设计 人教版七年级英语下册
- 人造血管内瘘个案护理
- 全国各省(直辖市、自治区)市(自治州、地区)县(县级市)区名称一览表
- 小学数学知识体系构建研究课题
- 《变电运行培训》课件
- 幼儿发展的关键指标与行为观察
- 班主任工作手册(适合中小学)
- 瑜伽生活方式中心生活馆项目建议书
- 吊装作业票(样本)
- 【新课标】2022版小学数学课标之模拟卷6套
- 固体矿产钻探工真题模拟汇编(共634题)
评论
0/150
提交评论