




已阅读5页,还剩59页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于 strust2 架构的云环境监测平台的设计 I 湖湖 北北 大大 学学 知知 行行 学学 院院 本本 科科 毕毕 业业 论论 文文 设 设 计 计 题题 目目 基于基于 strust2strust2 架构的云环境监测平台的设计架构的云环境监测平台的设计 姓姓 名名 学学 号号 专业年级专业年级 计算机科学与技术网络方向计算机科学与技术网络方向 指导教师指导教师 20112011 年年 3 3 月月 1515 日日 基于 strust2 架构的云环境监测平台的设计 II 目 录 绪 论 1 第 1 章 课题总体介绍 2 1 1 系统开发的背景和意义 2 1 2 现今发展状况 3 1 3 主要研究内容 3 第 2 章 系统采用相关技术介绍 4 2 1 JAVA 简介 4 2 2 JAVA EE 平台相关介绍 5 2 3 系统的云思想 5 2 3 1 系统云组件 5 2 3 2 系统总体运作流程 6 2 4 MVC 设计模式的原理 6 2 4 1 MVC 设计思想 6 2 4 2 MVC 的优点 8 2 5 三框架相关知识简介 8 2 5 1 表示层框架 Struts 8 2 5 2 业务逻辑层框架 Spring 11 2 5 3 数据持久层框架 Hibernate 12 2 6 JSP 技术与 JAVASCRIPT 脚本语言的应用 12 2 7 MYECLIPSE开发工具的简要介绍 13 2 8 所采用数据库及原因 13 2 9 WEB 服务器 TOMCAT6 0 14 2 9 1 Tomcat Server 的组成部分 14 2 9 2 Tomcat Server 处理一个 http 请求的过程 15 2 10 本章小结 16 第 3 章 系统需求分析与概要设计 17 3 1 可行性分析 17 3 1 1 系统总体目标 17 3 1 2 技术可行性分析 17 3 1 3 功能需求 17 3 1 4 性能需求 17 3 2 系统总体结构 18 3 2 1 系统总体结构图 19 3 2 2 系统功能模块设计 19 3 3 系统流程图 21 3 4 系统 E R 图 23 3 5 数据库设计 24 3 6 用户权限设计 25 3 7 本章小结 25 基于 strust2 架构的云环境监测平台的设计 III 第 4 章 系统实现与测试 26 4 1 数据库建立 26 4 1 1 创建和使用数据库 26 4 1 2 创建一张表 26 4 2 框架搭建 27 4 3 端点用户注册功能的实现 28 4 4 端点用户登录与注销功能的实现 30 4 5 端点用户设定及时标准功能的实现 31 4 6 端点用户数据仿真和监测功能的实现 33 4 7 管理中心管理员登录功能的实现 34 4 8 管理中心管理员监测各端点情况功能的实现 34 4 9 系统异常处理和日志记录功能的实现 36 4 10 其他待实现功能思路介绍 37 结 论 38 参考文献 39 致 谢 40 附录 41 系统配置文件 41 系统核心代码 48 基于 strust2 架构的云环境监测平台的设计 IV 基于基于 Struts2 架构的云环境监测平台的设计架构的云环境监测平台的设计 摘要摘要 环保一直是人类所面临的重大问题 如何做到环境的实时监测预警也是执能部门所面 临的主要问题 怎样实现不受地域的限制 准确的实时的监测某地的环境状况 就是本次 系统设计的目的 利用便捷的网络将需要检测的环境点联系起来 构造一个云环境 通过 云管理中心实时监控管理各端点的环境状况 该平台提供了一套较好的解决方案 具有较 高的使用价值 本系统是一种基于 B S 架构的环境监测预警系统 它采用目前最流行的 Java 语言编写 用到了当今先进的技术如 JSP 技术 Hibernate Spring Struts 框架等来实现该系统 采用 MVC 框架技术提高了系统的可维护性 系统分为三大功能模块 用户维护管理 环境监控与预警 系统异常处理与日志记录 限于硬件测约束 系统采用的端点环境数据仿真 至此系统能模拟及时监测云端点所收集 的环境元素 并配合环境标准给出预警提示 是否超标 超标量 实现云管理中心对数据 的存储与提取分析 关键字关键字 环境监测 三框架 云 基于 strust2 架构的云环境监测平台的设计 V Struts2 architecture based cloud environmental monitoring platforms designed Abstract Green has been the major issues facing humanity how to do real time environmental monitoring and early warning can also perform the major problems facing the sector How to achieve without geographical restrictions accurate real time monitoring of environmental conditions in a place that is the purpose of this system Use the convenient detection of the network will need to link the environmental points construct a cloud environment management center through the cloud the end of the real time monitoring and management environment The platform provides a better solution with a high use value The system is based on B S structure of environmental monitoring and warning system which uses the most popular Java language use the advanced technology of today s technologies such as JSP Hibernate Spring Struts frameworks to implement the system MVC framework using technology to improve the maintainability of the system System is divided into three functional modules the user maintenance and management environmental monitoring and early warning system exception handling and logging Limited to the constraints of hardware testing system simulation using environmental data endpoints At this point in time the system can simulate the cloud point monitoring of environmental elements collected and give warning prompts with the environmental standards whether or exceeded superscalar the cloud data management center for the storage and extraction and analysis Keywords Environmental Monitor Three Frames Cloud 基于 strust2 架构的云环境监测平台的设计 1 绪 论 环境保护一直是国家乃至全球的关注的焦点 环境监控的方式也是多种多样 要怎样 将环境监控自动化 智能化是一个很值得研究的课题 本课题就旨在研究如何让不同区域 的环境监控智能的联系在一起 这里联想到了计算机云的概念 将各个不同区域的环境监 控通过网络联系起来构成一个云环境 每个区域抽象为云端点 这些云端点需要通过一个 系统将各自的信息和端点资源进行共享 并由一个中心来对数据进行管理和监控 此系统 也就是即将介绍的基于云思想的环境监测平台 系统将各端点联系起来实现在一个中心 云管理中心 实时监控各端点的环境状况 这样环境的监控可以统一起来 自动化 智 能化的完成不同区域的环境监控 本文从系统研究的背景与意义谈起 介绍系统开发的现状 涉及到的相关技术 然后 按照系统设计的顺序从系统需求分析 概要设计到编码实现与测试来介绍这个系统开发的 详细过程 文章的撰写参考可很多著名的文献 还包括了外文的文献和知名的开发交流论 坛 以实现行文的准确性和充实性 本文共分 4 章 第 1 章是课题总体介绍 第 2 章介绍开发本系统所用到的相关技术 第 3 章是系统的需求分析及结构图 第 4 章是相册系统的系统实现 各章节的研究内容如 下 1 第 1 章主要介绍了选题的背景和意义 论述了系统的国内发展状况 2 第 2 章主要介绍了实现系统所用的软件和系统建设过程中使用的相关技术 3 第 3 章主要是系统的需求分析与概要设计 4 第 4 章是系统的编码实现 从三框架的实现 各模块构建等方面介绍了系统的实现 基于 strust2 架构的云环境监测平台的设计 2 第第 1 章章 课题总体介绍课题总体介绍 1 1 系统开发的背景和意义 现在网络技术逐渐渗入社会生活各个层面 传统的人为定期进行环境采样检测的环境 监测模式必将面临着革新 而 Internet 下的云环境监测预警则是一个值得研究的方向 该 平台提供一套较好的解决方案 具有较高的使用价值 基于 Web 技术的云环境监测预警系 统可以借助于遍布全球的因特网构建云环境而进行 因此监测对象既可以是本地的多个信 息点 也可以是异地的多个信息点 大大拓展了环境监测的灵活性 环境监测是不间断的 采集各信息点的数据并进行环境质量分析 很大程度上提高环境监测的效率 而且满足了 实时监控预警的要求 系统还可以直接把端点环境信息送到服务端数据库中 进行统计 排序等操作 所以现在较好的环境实时监测为 Internet 下的环境监测 云环境中的端点布 置在需要监测的地区 用户通过用户名和口令进行登录 登录即可进入监控状态 这样环 境信息被实时的传到服务端 系统通过不同地区环境规则进行分析 及时将环境状况反映 到对应端点 用户即可获知当地环境所处状态 因此 利用网络进行云环境下的实时环境 监测预警是未来环境监测发展的趋势 社会上的环境组织大都采用传统的对特定环境进行采样和测定 在此方式下 组织一 次环境监测需要一些列步骤 如选定测试区 进行测前分析 人工定时取样或测量 样本 成分分析或人工的数据分析 得出结论并发布环境状况信息 显然 随着监测条目的不断 增加及监测要求的不断提高 采样人员和数据分析人员的工作量将会越来越大 其工作将 是一件十分烦琐和非常容易出错的事情 而且这种监测预警是主动非实时的 效率不高 可以说传统的环境监测方式已经不能适应现代信息社会下的环境监测的需要 随着计算机 应用的迅猛发展 网络应用不断扩大 如云计算和远程教学的出现等等 且这些应用正逐 步深入到千家万户 环保工作迫切要求利用这些技术来进行远程实时非主动的环境监测和 主动的预警 以减轻环境保护人员的工作负担及提高工作效率 与此同时也提高了环保的 质量 从而使环境监测的实施更为便捷 网络化云环境监测预警是现阶段研究开发的一个热点 它是建立在国际互联网上的应 用系统 客户端的配置可以极为简单 使监测对象不受地域的局限 一个完备的环境监测 系统可以使用户在网上登录过后及时获取所在地区的环境状况 及时预防环境问题的出现 使得环保效果得到更大提高 云环境监测预警系统中端点信息的采集 环境信息的传输 环境信息的存储 环境信息的规则分析 环境问题的预警等都是在系统中自动完成 只要 在适当地区安装好采集设备 由于条件和时间有限 对于环境元素的收集暂时利用脚本技 术模拟数据 连上云环境中端点即可实现环境监测预警的自动化 这样一来 环保人员所 要做的只是维护设备安全和系统正常运行 而不是组织人员选地采样分析 从而大大减轻 了他们的负担 这表明其经济性是相当可观的 为了适应新形势的发展 我进行了这一系 统的初步设计工作 也可以说是做一个初步的探索 希望它能够在各类环境监测工作中发 挥高效 便捷的作用 为环保做出贡献 基于 strust2 架构的云环境监测平台的设计 3 1 2 现今发展状况 目前 网络应用软件运行的模式主要有二类 Client server 模式 Browser Web 模式 前者主要的缺点是维护 升级较麻烦 后者是近几年伴随 Internet 迅速发展起来的一种技 术 它与客户 服务器方式类似 客户端是一个标准的浏览器 服务器端是 Web Server 而 Web Server 与数据库和应用服务器的紧密结合 使得这种模式的应用范围不断扩大 它 已不仅仅用于网上查询 有很多部门的业务系统 企业的 MIS 系统纷纷采用这种模式 它 的主要优点是便于扩充应用 升级维护简便 利用网络和数据库技术 结合目前硬件价格普遍下跌与宽带网大力建设的有利优势 应用 Java Server Page 技术 我开发了基于 B S 模式多用户云环境监测预警系统这一程序 它运用方便 操作简单 效率很高 现阶段虽只实现了模拟端点环境信息进行规则分析部 分 但已具有用户注册 多用户同时在线的环境实时监控分析预警 用户管理 云端点管 理 数据导入导出管理等重要功能 也就是说实现了真正的自动化环境监测预警 满足远 程实时监测环境和及时预警的要求 同时也大大减轻了环保人员定时环境抽样分析等繁重 的工作量 另外 云环境监测预警系统的软件也必将不断的更新 同时软件产品本身就要经过一 个不断自我完善的过程 为了适应新形势的发展 目前 国内有很多公司团体研究开发了 许多基于 web 的环境服务系统 但是任然没有一个很完善的系统能满足当今社会的需求 基于上述考虑 整个监测系统采用 Browser Web DataBase 的三层体系结构 Web 服务 器接受请求 通过应用程序服务器执行一个 Java 服务器端程序 Servlet 并返回其输出 从 而实现与客户机进行信息资源的交互 数据库服务器用来对管理信息系统中所用到的各种 数据的持久化 数据由数据库管理程序直接录入 系统的客户端只需要一个浏览器和成功 连上采集设备即可 相关人员通过浏览器来查询环境信息和管理用户自己的信息 1 3 主要研究内容 本系统是一种基于 B S 架构的管理系统 它采用目前最流行的 java 语言编写 用到了 当今先进的技术如 jsp 技术 Hibernate Spring Struts 框架等来实现该系统 采用 MVC 框架技术提高了系统的可维护性 该系统是实现对登录用户所处端点环境状态实时监控预警的 WEB 应用程序 它应该具 有开放性 方便性和灵活性 登录用户不仅可以通过环境采集设备实时地获取所在地区的 环境参数 而且还可以及时获取系统对采集设备返回的数据进行规则分析后的预警状态 管理员可在服务端查看用户登录状态和管理用户信息 获取所有云端点环境信息和参数信 息 设置不同环境规则 系统会自动对采集设备传回的参数进行存储和规则分析 并且对 规则分析出来的结果返回给客户端以达到实时监控预警 基于 strust2 架构的云环境监测平台的设计 4 第第 2 章章 系统采用相关技术介绍系统采用相关技术介绍 2 1 JAVA 简介 Java 是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 程序设计语言和 Java 平台的总称 Java 平台由 Java 虚拟机 Java Virtual Machine 和 Java 应用编程接口 Application Programming Interface 简称 API 构成 Java 分为三个体系 JavaSE Java2 Platform Standard Edition java 平台标准版 JavaEE Java 2 Platform Enterprise Edition java 平台企业版 JavaME Java 2 Platform Micro Edition java 平台微型版 Java 是一种简单的 面向对象的 分布式的 解释型的 健壮安全的 结构中立的 可移植的 性能优异 多线程的动态语言 Java 语言的主要特性 1 Java 语言是简单的 Java 语言的语法与 C 语言和 C 语言很接近 使得大多数 程序员很容易学习和使用 Java 另一方面 Java 丢弃了 C 中很少使用的 很难理 解的 令人迷惑的那些特性 如操作符重载 多继承 自动的强制类型转换 特别地 Java 语言不使用指针 并提供了自动的废料收集 使得程序员不必为内存管理而担忧 2 Java 语言是一个面向对象的 Java 语言提供类 接口和继承等原语 为了简单起 见 只支持类之间的单继承 但支持接口之间的多继承 并支持类与接口之间的实现机 制 关键字为 implements Java 语言全面支持动态绑定 而 C 语言只对虚函数 使用动态绑定 总之 Java 语言是一个纯的面向对象程序设计语言 3 Java 语言是分布式的 Java 语言支持 Internet 应用的开发 在基本的 Java 应用编程 接口中有一个网络应用编程接口 java net 它提供了用于网络应用编程的类库 包括 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 的运行环境是用 ANSI C 实现的 8 Java 语言是解释型的 如前所述 Java 程序在 Java 平台上被编译为字节码格式 然后可以在实现这个 Java 平台的任何系统中运行 在运行时 Java 平台中的 Java 解释器 对这些字节码进行解释执行 执行过程中需要的类在联接阶段被载入到运行环境中 9 Java 是高性能的 与那些解释型的高级脚本语言相比 Java 的确是高性能的 事 基于 strust2 架构的云环境监测平台的设计 5 实上 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 企业应用编程接口 Java Enterprise APIs 为企业计算及电子商务应用系统提供了有关技术和丰富的类库 2 2 JAVA EE 平台相关介绍 Java EE Java Platform Enterprise Edition 是 sun 公司推出的企业级 应用程序版 本 这个版本以前称为 J2EE 能够我们帮助开发和部署可移植 健壮 可伸缩且安 全的服务器端 Java 应用程序 Java EE 是在 Java SE 的基础上构建的 它提供 Web 服务 组件模型 管理和通信 API 可以用来实现企业级的面向服务体系结构 service oriented architecture SOA 和 Web 2 0 应用程序 2 3 系统的云思想 系统的这种分布式的监控思想是建立在计算机云概念的基础上的 系统将不同地域的环 境通过网络联系成一个类似于云的整体 这个整体中包含着无数的类似于云端点单位区域 每个单位区域都有计算机去支持环境监控所需要的软硬件环境 比如连接采集设备 连接 网络访问云中心的管理系统 利用各个端点的资源来将不同区域的环境的信息收集并传送 到数据分析中心以便做好环境监测 这种基于云概念的设计思想大大使系统的灵活性提高 任何新增的区域都可以抽象为一个云端点 融入到这个云整体 云环境 2 3 12 3 1 系统云组件系统云组件 Internet 云 中 心 云端点 云用户 图 2 1 云系统组件图 整个系统是构架在 Internet 之上 云中心包含数据处理中心与存储中心 数据处理中 心负责数据规则的设置与分析 存储中心负责存储云端点发送并经过云中心分析处理的数 据 基于 strust2 架构的云环境监测平台的设计 6 图 2 2 云端点结构图 云端点为任意互联网中任意的数据终端 配合采集装置将数据终端所处的环境数据实 时记录处理后发送至云中心 云中心根据采集的数据监测当前云端点所处的环境 云端点 可以利用普通 PC 机 也可以是移动设备 比如是笔记本 甚至是智能手机等 并且不必需 要专用的设备 理论上可以是一般家庭的普通电脑 也可以是实验室中的一台空闲机器只 要配上适当的采集装置就能完成数据收集工作 云用户为能够入网的任意类型的设备终端 云用户的主要目的是查看某一地点的环境状 况 当然云端点也可以作为用户存在 2 3 22 3 2 系统总体运作流程系统总体运作流程 首先在云中心启动系统平台 该平台是以 B S 模式的方式运作 集成数据分析处理能 力相关的设备驱动 然后 设置相关规则并让云中心联入 Internet 将能力储存于 Internet 中 此时只要是有需求的数据端点就可以申请通过 Internet 连接云中心 一但 被授予权限后登陆系统 在数据终端配上适当的采集装置既可采集当前的环境信息并配合 云中心的规则 当前端点地理信息的判断与环境检测相关的参数等 分析处理数据并得出结 论 而且这部分数据也是直接传送到云中心内的存储设备 而没有配合采集装置的授权终 端则可以作为系统的云用户去收集或查看某个地点的相关环境信息 这样一来可以使得任何有需求的端点变成系统的云端点 某个完成任务的云端点也可以自 由的进出 这样一来降低了环境检测的门槛 扩大了信息收集的来源 理论上可以将入网 的端点都参与进来 人人都来采数据 可想而知这个数据量是非常庞大的也是比较精确的 查看某省某市某街某巷的具体环境也不是没有可能 只要那里有过云端点的存在 2 4 MVC 设计模式的原理 2 2 4 4 1 1 M MV VC C 设设计计思思想想 在设计通用接口函数过程中 采用设计模式中的 MVC 设计思想 MVC 英文即 Model View Controller 即把一个应用的输入 处理 输出流程按照 Model View Controller 的 方式进行分离 这样一个应用被分成三个层 模型层 视图层 控制层 如下图 支持 数据 读写 的 入 网结 点 采 集 器 基于 strust2 架构的云环境监测平台的设计 7 图 2 3 MVC 结构图 视图 View 代表用户交互界面 一个应用可能有很多不同的视图 MVC 设计模式对于 视图的处理仅限于视图上数据的采集和处理 以及用户的请求 而不包括在视图上的业务 流程的处理 业务流程的处理交予模型 Model 处理 比如一个供电区域的视图只接受来自 模型的数据并显示给用户 以及将用户界面的输入数据和请求传递给控制和模型 模型 Model 就是业务流程 状态的处理以及业务规则的制定 业务流程的处理过程 对其它层来说是黑箱操作 模型接受视图请求的数据 并返回最终的处理结果 业务模型 的设计是 MVC 最主要的核心 把应用的模型按一定的规则抽取出来 抽取的层次很重要 抽象与具体不能隔得太远 也不能太近 MVC 并没有提供模型的设计方法 而只告诉你应 该组织管理这些模型 以便于模型的重构和提高重用性 业务模型还有一个很重要的模型那就是数据模型 数据模型主要指实体对象的数据保 存 持续化 将系统中与数据库访问有关的函数 主要是 SQL 语句 集中于数据模型中 即将所有有关数据访问接口的函数 封装 在此模块中 把该模块作为数据访问的 中间件 提供对通用接口函数的支持 具体实现中已经将这个模型单独列出 所有关数据库的操 作只限制在该模块中 比如数据的按条件提取 显示 添加 删除 更新等 控制 Controller 可以理解为从用户接收请求 将模型与视图匹配在一起 共同完成用户 的请求 划分控制层的作用也很明显 它清楚地告诉你 它就是一个分发器 选择什么样 的模型 选择什么样的视图 可以完成什么样的用户请求 控制层并不做任何的数据处理 例如 在总量负荷预测界面用户输入完参数后 点击预测 控制层接受请求后 并不处理 业务信息 它只把用户的信息传递给业务模型 告诉业务模型做什么 业务模型再调用数 据模型中的操作完成本次操作 选择符合要求的视图返回给用户 因此 一个模型可能对 应多个视图 一个视图可能对应多个模型 简单些说 MVC 设计思想就是把数据访问 业务逻辑与应用程序分开 比如可以将 数据访问封装在一个 DLL1 中 在另一个 DLL2 中实现业务逻辑 在这个 DLL2 中如果要 用到访问数据库的操作 则调用 DLL1 种的函数来实现业务逻辑操作 而在应用程序中通 基于 strust2 架构的云环境监测平台的设计 8 过界面发送消息给控制层 实现业务逻辑的调用 2 2 4 4 2 2 M MV VC C 的的优优点点 利用 MVC 设计方法 设计这套通用接口函数 在别的应用模块中访问数据库时 只 调用这些通用接口函数即可 避免了直接调用数据库系统提供的数据库访问函数时接口不 一致的问题 将数据库应用部分与数据实际访问部分隔离开来 这样 可根据功能需求任 意调用通用模块中的函数 界面可根据需求只需相应的应用程序即可 其他模块可原封不 动 函数功能的扩充 修改及完善也只需改动数据库接口模块 这样 不但提高了程序的 通用性 而且把程序员从考虑不同接口的重复工作中解脱出来 把精力放在功能应用的设 计开发上 有利于软件工程化管理 从而提高了开发效率 2 5 三框架相关知识简介 著名的软件大师 Ralph Johnson 对框架 Framework 进行了如下的定义 框架是整个系统 或系统的一部分的可重用设计 由一组抽象的类及其实例间的相互作用方式组成 框架一般具有即插即用的可重用性 成熟的稳定性以及良好的团队协作性 J2EE 复杂 的多层结构决定了大型的 J2EE 项目需要运用框架和设计模式来控制软件质量 目前 市 场上出现了一些商业的 开源的基于 J2EE 的应用框架 其中主流的框架技术有 基于 MVC 模式的 Struts 框架和基于 IoC 模式的 Spring 框架以及对象 关系映射框架 Hibernate 等 2 2 5 5 1 1 表表示示层层框框架架 S St tr ru ut ts s Struts 是一个在 JSP Model2 基础上实现的 MVC 框架 主要分为模型 Model 视图 Viewer 和控制器 Controller 三部分 其主要的设计理念是通过控制器将表现逻辑和业务逻 辑解耦 以提高系统的可维护性 可扩展性和可重用性 Struts 框架的体系结构如图 1 所 示 图 2 4 struts2 体系结构图 基于 strust2 架构的云环境监测平台的设计 9 图 2 5 struts2 体系结构图 2 下面就图 1 所示的体系结构图分析 Struts 框架中的 MVC 组件 1 视图 视图部分主要由 JSP 页面组成 其中没有流程逻辑 业务逻辑和模型信息 只有标记 Struts 自身包含了一组标记库 TagLib 这也是 Struts 的精华之一 灵活运用它 们可以简化 JSP 页面的代码 提高开发效率 2 控制器 Struts 中的 Controller 主要是其自身提供的 ActionServlet ActionServlet 接收所有来自客户端的请求并根据配置文件 struts config xml 中的定义将控制转移到适当的 Action 对象 3 模型 Struts 没有定义具体 Model 层的实现 Model 层通常是和业务逻辑紧密相关 的 有持续化的要求 目前在商业领域和开源世界 都有一些优秀的工具可以为 Model 层 的开发提供便利 Struts2 框架的大概处理流程如下 1 浏览器发送一个请求 2 核心控制器 FilterDispatcher 根据请求决定调用合适 Action 3 WebWork 的拦截器链自动对请求应用通用功能 如验证等 4 回调 Action 的 execute 方法 该 execute 方法根据请求的参数来执行一定的操 作 5 Action 的 execute 方法处理结果信息将被输出到浏览器中 支持多种形式的视 图 如下图示意 基于 strust2 架构的云环境监测平台的设计 10 图 2 6 struts2 处理流程图 基于 strust2 架构的云环境监测平台的设计 11 2 2 5 5 2 2 业业务务逻逻辑辑层层框框架架 S Sp pr ri in ng g Spring 是一个解决了许多 J2EE 开发中常见问题并能够替代 EJB 技术的强大的轻量级框 架 这里所说的轻量级指的是 Spring 框架本身 而不是指 Spring 只能用于轻量级的应用开 发 Spring 的轻盈体现在其框架本身的基础结构以及对其他应用工具的支持和装配能力 与 EJB 这种庞然大物相比 Spring 可使程序研发人员把各个技术层次之间的风险降低 Spring 框架的核心是控制翻转 IoC Inversion of Control 依赖注入 DI Dependence Injection 机 制 IoC 是指由容器中控制组件之间的关系 这里 容器是指为组件提供特定服务和技术 支持的一个标准化的运行时的环境 而非传统实现中由程序代码直接操控 这种将控制权 由程序代码到外部容器的转移 称为 翻转 3 DI 是对 IoC 更形象的解释 即由容器在运 行期间动态地将依赖关系 如构造参数 构造对象或接口 注入到组件之中 3 Spring 采用设 值注入 使用 Setter 方法实现依赖 和构造子注入 在构造方法中实现依赖 的机制 通过配置 文件管理组建的协作对象 创建可以构造组件的 IoC 容器 这样 不需要编写工厂模式 单例模式或者其他构造的方法 就可以通过容器直接获取所需的业务组件 Spring 框架的 结构如图 2 所示 图 2 7 Spring 结构图 Spring 框架由七个定义明确的模块组成 且每个模块或组件都可以单独存在 或者与 其他一个或多个模块联合实现 Spring Core Container 是一个用来管理业务组件的 IoC 容器 是 Spring 应用的核心 Spring DAO 和 Spring ORM 不仅提供数据访问的抽象模块 还集成 了对 Hibernate JDO 和 iBatis 等流行的对象关系映射框架的支持模块 并且提供了缓冲连 接池 事务处理等重要的服务功能 保证了系统的性能和数据的完整性 Sprnig Web 模块 提供了 Web 应用的一些抽象封装 可以将 Struts Webwork 等 Web 框架与 Spring 整合成 为适用于自己的解决方案 Spring 框架可以成为企业级应用程序一站式的解决方案 同时它也是模块化的框架 允 许开发人员自由地挑选适合自己应用的模块进行开发 Spring 框架式是一个松耦合的框架 框架的部分耦合度被设计为最小 在各个层次上具体选用哪个框架取决于开发者的需要 基于 strust2 架构的云环境监测平台的设计 12 2 2 5 5 3 3 数数据据持持久久层层框框架架 H Hi ib be er rn na at te e O R mapping 技术是为了解决关系型数据库和面向对象的程序设计之间不匹配的矛盾而 产生的 Hibernate 是目前最为流行的 O R mapping 框架 它在关系型数据库和 Java 对象之 间做了一个自动映射 使得程序员可以以非常简单的方式实现对数据库的操作 Hibernate 工作原理如图 3 所示 图 2 8 Hibernate 工作原理图 Hibernate 通过对 JDBC 的封装 向程序员屏蔽了底层的数据库操作 使程序员专注于 OO 程序的开发 有助于提高开发效率 程序员访问数据库所需要做的就是为持久化对象 编制 xml 映射文件 4 底层数据库的改变只需要简单地更改初始化配置文件 hibernate cfg xml 或者 hibernate properties 即可 不会对应用程序产生影响 Hibernate 有自己的面向对象的查询语言 HQL HQL 功能强大 支持目前大部分主流的 数据库 如 Oracle DB2 MySQL Microsoft SQL Server 等 是目前应用最广泛的 O R 映 射工具 Hibernate 为快速开发应用程序提供了底层的支持 2 6 JSP 技术与 JavaScript 脚本语言的应用 JSP 技术是实现 MVC 中 View 的一种重要技术之一 JSP 技术使用 Java 编程语言编写 类 XML 的 tags 和 scriptlets 来封装产生动态网页的处理逻辑 网页还能通过 tags 和 scriptlets 访问存在于服务端的资源的应用逻辑 JSP 将网页逻辑与网页设计和显示分离 支持可重用的基于组件的设计 使基于 Web 的应用程序的开发变得迅速和容易 Web 服务器在遇到访问 JSP 网页的请求时 首先执行其中的程序段 然后将执行结果 连同 JSP 文件中的 HTML 代码一起返回给客户 插入的 Java 程序段可以操作数据库 重 新定向网页等 以实现建立动态网页所需要的功能 基于 strust2 架构的云环境监测平台的设计 13 JSP 与 Java Servlet 一样 是在服务器端执行的 通常返回给客户端的就是一个 HTML 文本 因此客户端只要有浏览器就能浏览 JSP 页面由 HTML 代码和嵌入其中的 Java 代码所组成 服务器在页面被客户端请求以后对 这些 Java 代码进行处理 然后将生成的 HTML 页面返回给客户端的浏览器 Java Servlet 是 JSP 的技术基础 而且大型的 Web 应用程序的开发需要 Java Servlet 和 JSP 配合才能完 成 JSP 具备了 Java 技术的简单易用 完全的面向对象 具有平台无关性且安全可靠 主 要面向因特网的所有特点 自 JSP 推出后 众多大公司都支持 JSP 技术的服务器 如 IBM Oracle Bea 公司等 所以 JSP 迅速成为商业应用的服务器端语言 JSP 可用一种简单易懂的等式表示为 HTML Java JSP 另外 在展现层中常常要用到 Javascript 脚本完成一些必要的表单验证 数据异步传输 控制 JavaScript 是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言 Javascript 是一种由 Netscape 的 LiveScript 发展而来的原型化继承的面向对象的动态类型的区分大小 写的客户端脚本语言 主要目的是为了解决服务器端语言 比如 Perl 遗留的速度问题 为客户提供更流畅的浏览效果 当时服务端需要对数据进行验证 由于网络速度相当缓慢 只有 28 8kbps 验证步骤浪费的时间太多 于是 Netscape 的浏览器 Navigator 加入了 Javascript 提供了数据验证的基本功 2 7 MyEclipse 开发工具的简要介绍 MyEclipse 是一个十分优秀的用于开发 Java J2EE 的 Eclipse 插件集合 MyEclipse 的 功能非常强大 支持也十分广泛 尤其是对各种开元产品的支持十分不错 图 2 9 MyEclipse6 6 启动图 MyEclipse 企业级工作平台 MyEclipse Enterprise Workbench 简称 MyEclipse 是对 Eclipse IDE 的扩展 利用它我们可以在数据库和JavaEE 的开发 发布 以及 应用程序服务器的整合方面极大的提高工作效率 它是功能丰富的 JavaEE 集成开发环境 包括了完备的编码 调试 测试和发布功能 完整支持 HTML Struts JSF CSS Javascript SQL Hibernate 在本系统中 利用 MyEclipse 强大的功能 将 tomcat6 0 浏览器 和 MySQL5 0 集成在一起 方便了编程人员的开发调试 大大提高了开发的效率 2 8 所采用数据库及原因 按照系统最初的设计 在系统运行中 对数据的存取效率要求较高 而且数据量也是 相对较大的 需要系能相当的数据库来满足现有的需求 选择关系数据库 SQL Server 2005 或者 Oracle 10G 较为适宜 针对实际情况 考虑到目前只是在试验探索阶段 而且学生机的性能不能很好的运行 此种数据库 于是决定选择小型关系型数据库管理系统 MySQL 基于 strust2 架构的云环境监测平台的设计 14 与其他的大型数据库例如 Oracle DB2 SQL Server 等相比 MySQL 自有它的不 足之处 如规模小 功能有限 MySQL Cluster 的功能和效率都相对比较差 等 但 是对于本系统实验探索阶段 MySQL 提供的功能已经绰绰有余 而且由于MySQL 是开放源码软件 因此可以大大降低总体拥有成本 如果系统发展成熟 现有的数据库满足不了其数据处理的要求 可以按照系统设计的接 口 扩展更换适宜性能的数据库 2 9 WEB 服务器 Tomcat6 0 2 2 9 9 1 1 T To om mc ca at t S Se er rv ve er r 的的组组成成部部分分 1 Server A Server element represents the entire Catalina servlet container Singleton 2 Service A Service element represents the combination of one or more Connector components that share a single Engine Service 是这样一个集合 它由一个或者多个 Connector 组成 以及一个 Engine 负责 处理所有 Connector 所获得的客户请求 3 Connector 一个 Connector 将在某个指定端口上侦听客户请求 并将获得的请求交给 Engine 来处 理 从 Engine 处获得回应并返回客户 TOMCAT 有两个典型的 Connector 一个直接侦听来自 browser 的 http 请求 一个侦听来 自其它 WebServer 的请求 Coyote Http 1 1 Connector 在端口 8080 处侦听来自客户 browser 的 http 请求 Coyote JK2 Connector 在端口 8009 处侦听来自其它 WebServer Apache 的 servlet jsp 代理请 求 4 Engine The Engine element represents the entire request processing machinery associated with a particular Service It receives and processes all requests from one or more Connectors and returns the completed response to the Connector for ultimate transmission back to the client Engine 下可以配置多个虚拟主机 Virtual Host 每个虚拟主机都有一个域名 当 Engine 获得一个请求时 它把该请求匹配到某个 Host 上 然后把该请求交给该 Host 来 处理 Engine 有一个默认虚拟主机 当请求无法匹配到任何一个 Host 上的时候 将交给该默认 Host 来处理 5 Host 代表一个 Virtual Host 虚拟
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- CN120208785A 一种碳酸二乙酯热泵精馏装置及工艺
- 老年人保健知识培训小结课件
- 生物的变异和进化-2025年高考生物专项复习原卷版
- 人教版八年级英语下册专练:短文填空20篇(含答案)
- CN120198213A 基于穿透监管的自适应风险评估调整方法及系统
- 人教版八年级英语下册 Unit 1-Unit 10 期末复习之作文书面表达范文
- 配送员礼仪基础知识培训课件
- 2025版水电费远程抄表与用户服务合同
- 2025年企业研发项目抵押借款合同
- 2025版企业合同管理流程再造及优化方案
- 网约车公司风险管理制度
- 医院智慧管理分级评估标准体系(试行)-全文及附表
- 厨房燃气安全管理办法
- 即时零售配送骑手管理痛点破解报告 2025
- 神经重症患者镇痛镇静治疗中国专家共识解读
- 教科版2025小学二年级科学教学发展规划计划
- 《铁路路基施工与维护》高职高速铁路施工与维护全套教学课件
- 安全生产隐患排查表汇编
- 2025年深圳中考物理试卷真题(含答案)
- GB/T 34722-2025浸渍胶膜纸饰面胶合板和细木工板
- 绿色施工方案(3篇)
评论
0/150
提交评论