(计算机应用技术专业论文)基于struts2框架的应用研究.pdf_第1页
(计算机应用技术专业论文)基于struts2框架的应用研究.pdf_第2页
(计算机应用技术专业论文)基于struts2框架的应用研究.pdf_第3页
(计算机应用技术专业论文)基于struts2框架的应用研究.pdf_第4页
(计算机应用技术专业论文)基于struts2框架的应用研究.pdf_第5页
已阅读5页,还剩51页未读 继续免费阅读

(计算机应用技术专业论文)基于struts2框架的应用研究.pdf.pdf 免费下载

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

文档简介

湖北工业大学硕士学位论文 摘要 随着计算机技术突飞猛进的发展 越来越多的企业对企业信息系统要求越来 越高 软件开发者不断地研究比较优越的系统 框架成为一个系统的坚实砥柱 所以选择优秀的框架是研发者一直深思和关注的问题 本文通过中国第一冶金建设公司的党务管理系统的需求分析 结构设计 模 块介绍来引出采用框架作为软件开发的设计方法研究 介绍几种比较实用的框架 重点介绍s t r u t s 2 是一个比较新的框架 对l 匕s t r u t s l 框架在党务系统中使用的不足之 处 代码严重依赖s e r v l e t a p i 核心配置文件庞大 表示层单一 得出最合适和最 有效的开发框架为s t r u t s 2 接着 介绍s t r u t s 2 框架的组件技术 控制器 核心控制 器 业务控制器 模型组件和视图组件 核心控制器组s e n r l e t d i s p a t c h e r 是个拦截 器 它对所有用户请求进行拦截 并且调用对应的处理器 a c t i o n i 挂行处理请求 业务控制器相当于一个映射机制 在处理服务请求时候 通过返回的逻辑视图名 对应到其物理视图名 即在浏览器上显示的地址 归纳当一个a c t i o n 中包含多个用 户处理请求方法时的三种处理办法 模型组件是被业务控制器调用去处理响应的 请求 视图组件变得更加丰富多彩 不再局限于使用j s p 矛n 静态的h t m l 文件显示 给用户 在了解组件的作用的前提下 将框架运用到角色管理的模块中 结合相 应代码论述该模块的具体实现过程 然后 设计出整个系统的模型框架 最后 将s t r u t s 2 应用的一般化 结合它在一般系统中的操作流程和具体设计步 提炼出在使用s t r u t s 2 框架时候的注意点 为以后的使用提供参考和帮助 最终说明 该框架的在代码方面的复用特点 结合使用s t r u t s 2 框架的具体实践得出几点体会 实践表明 通过s t r u t s 2 框架 提高了系统的可维护性 可扩展性和组件的可复用性 关键词 框架 j b 框架 s t r u t s l s t r u t s 2 组件 湖北工业大学硕士学位论文 i i i i ii i i i 一 i ii ii i i i i i 蔓 曼蔓 a b s t r a c t w i t ht h er a p i dd e v e l o p m e n to fc o m p u t e rt e c h n o l o g y m o r ea n dm o r ee n t e r p r i s e s r e q u i r e m e n t st o b u s i n e s si n f o r m a t i o ns y s t e m sa r em o r ea n dm o r eh i g h e r s o f t w a r e d e v e l o p e r sc o n t i n u et os t u d ys u p e r i o rs y s t e m s f r a m e w o 呔a c ta sas o l i dm a i n s t a yi na s y s t e m s oc h o i c eo fa ne x c e l l e n tf r a m e w o r kh a sb e e na ni s s u ef o rd e v e l o p e r st op o n d e r o v e ra n dp a ym o r ea t t e n t i o nt o i no r d e rt od e s c r i b ef r a m e w o r kt ob et h es o f t w a r ed e v e l o p m e n t w em a k ead e t a i l d e s c r i p t i o no fc h i n af i r s tm e t a l l u r g yc o m p a n yp a r t ym i s s i o nm a n a g e m e n ts y s t e m s r e q u i r e m e n ta n a l y s i s s t r u c t u r ed e s i g na n dm o d u l e t h e nw ei n t r o d u c es e v e r a l f r a m e w o r k s w ee m p h a s i z eo nt h a ts t r u t s2i san e wf r a m e w o r k m a k eac o m p a r et ot h a t u s i n gs t r u t s lf r a m e w o r ki nt h ep a r t ym i s s i o nm a n a g e m e n ts y s t e mh a ss e v e r a ld e f e c t s c o d es os e r v e rt od e p e n do nt h es e r v l e 讼p i c o r ef i l e sa r es ol a r g e v i e wf l o wi st o o s i m p l e 脆f i n dt h em o s ta p p r o p r i a t ea n de f f e c t i v ef r a m e w o r kf o rd e v e l o p m e n ti ss t r u t s 2 s e c o n d l y i n t r o d u c et h et e c h n o l o g yo fs t r u t s2f r a m e w o r k sc o m p o n e n t s c o n t r o l l e r c o r ec o n t r o l l e r b u s i n e s sc o n t r o l l e r m o d e l c o m p o n e n t a n dv i e w c o m p o n e n t c o r ec o n t r o l l e rc o m p o n e n t s e r v l e t d i s p a t c h e ra c ta s a l li n t e r c e p t o r i t i n t e r c e p t sa l lu s e r s r e q u e s t sa n dc a l lt h ec o r r e s p o n d i n gp r o c e s s o r a c t i o n t od e a lw i t h t h er e q u e s t b u s i n e s sc o n t r o l l e rf u n c t i o n sl i k eak i n do fm a p p i n gm e c h a n i s m t h r o u 曲 t h el o g i c a lv i e wt h a tr e t u r n e dt ot h ea c t u a lp h y s i c a lv i e ww h i c hi sd i s p l a y e do nt h e b r o w s e rw h e np r o c e s sar e q u e s t m a k eac o n l u s i o nt h a tt h e r ei st h r e em e t h o dw h e ni n a c t i o nc o n t a i n sm a n yu s e rp r o c e s s i n gr e q u e s tm e t h o d m o d e lc o m p o n e n ti sc a l l e db y b u s i n e s sc o n t r o l l e rt op r o c e s st h er e q u e s t v i e wc o m p o n e n tb e c o m e sm o r ea n dm o r e c o l o r f u l n ol o n g e rl i m i t e dt ot h eu s eo fj s pa n ds t a t i ch 硼m ld o c u m e n t st od i s p l a yt o t h eu s e r i na d v a n c et ok n o wt h ec o m p o n e n t s p u tt h ef r a m e w o r ki n t ot h er o l e s m a n a g e m e n tm o d e la n dm a k es o m ec o d e st od e s c r i b et h es p e c i f i cp r o c e s so ft h i sm o d e l t h e nd e s i g nt h ef r a m eo ft h ew h o l es y s t e r n f i n a l l y i na c c o r d a n c ew i t ht h ea c t u a lp r o b l e mo ft h es y s t e m a s s o c i a t ew i t ht h e o p e r a t i o na n dt h es p e c i f i cd e s i g ns t e p s m a k eac o n c l u s i o no ft h ek e yp o i n tt ou s es t r u t s 2 f r a m e w o r k i ti sa sh e l pa n dm o d e lf o rt h ea p p l i c a t i o ni nf u t u r e a s s o c i a t ew i t ht h a tt h es p e c i f i ca p p l i c a t i o no fu s i n gs t r u t s 2f r a m e w o r k o b t a i n s e v e r a lp o i n tc o n c l u s i o n s a s t h e p r a c t i c e ss h o w w ei m p r o v et h es y s t e m s m a i n t a i n a b i l i l y e x t e n s i b i l i t y a n dc o m p o n e n t sr e u s a b i l i t yt h r o u g hs t r u t s2 k e y w o r d s f r a m e w o r k j bf r a m e w o r k s t r u t s l s t r u t s 2 c o m p o n e n t 鞋 湘彬 量大謦 学位论文原创性声明和使用授权说明 原创性声明 本人郑重声明 所呈交的学位论文 是本人在导师指导下 独立进行研究工作所取 得的研究成果 除文中已经标明引用的内容外 本论文不包含任何其他个人或集体已经 发表或撰写过的研究成果 对本文的研究做出贡献的个人和集体 均已在文中以明确方 式标明 本声明的法律结果由本人承担 学位论文作者签名 陆翔 日期 h 谚钌月巧日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留 使用学位论文的规定 即 学校有权保留 并向国家有关部门或机构送交论文的复印件和电子版 允许论文被查阅和借阅 本人授 权湖北工业大学可以将本学位论文的全部或部分内容编入有关数据库进行检索 可以采 用影印 缩印或扫描等复制手段保存和汇编本学位论文 学位论文作者签名 棼 孰 日期 矾年岁月 日 指导教师签名 日期 功p 客年字 仅砒 月砖日 湖北工业大学硕士学位论文 1 1 1 1 1 1 1 1 1 1 1 1 1 1 i 鬯 1 1 1 研究背景 第1 章引言 随着网络技术和i n t e m e t 的迅速发展 基于b s 结构的w e b 应用 因其具有易用 性 通用性和良好的可扩展性等优点丽迅速发展 正逐渐成为各类应用信患系统 市场的主流 开发一个优秀系统的一个重要前提和开发方式的重担就落在系统框 架的身上 框架是一个应用程序的半成品 它提供了可在应用程序之间共享的可 复用的公共结构 开发者把框架融入他们自己的应用程序 并加以扩展 以满足 他们特定的需要 当今流行的w e b 框架 1 j 有s t r u t s l w e b w o r k t a p e s t r y s p r i n g m v c 等 其中s t r u t s l 是a p a c h e 软件组织负责开发的一个开源顼蚕 是基于m v c 设计模 式 m o d e l 2 架构的一个实现 它将应用分为模型 视图和控制器三部分 是开发大 规模w e b 应用程序的设计利器 但是 s t r u t s l 经过7 年的磨练 已经成为一个比较 成熟的框架 同时也发现它的问题 2 0 0 7 年发布的s t r u t s 2 框架成为它的强有力的对 手 不但可以解决它的问题而且以w e b w o r k 的设计思想为框架的核心技术 s t r u t s 2 不再表现单一视翟 脱离总要继承s e r v l e t a p i 类的缺陷 增加验证机制和拦截器的 功能等优点 成为现在比较全新的 受欢迎的w e b 框架 本课题来源于中豳第一冶金建设公司党务管理系统 公司建立党务管理系统 的目的是为了加强制度建设 加强监督管理 加强党建工作 为党的先进性教育 提供信息 提供教材 提供工具 提供方法 辅助控制 是目前形势下实现保证 党的先进性战略任务的必须 系统的主要内容是利用信息技术实现党的职能工作 对领导 基层党组织的管理以及党员 党组织的基础数据进行管理 对领导干部 和党员的调配 监督 调动 评测等动态管理 信息互动交流 健进精神文明建 设 提高党员基本素质 最终使党的建设顺应知识化 信息化 网络化的时代潮 流 充分运用先进和离科技手段及现代信息技术 利用先进信息平台和信息网络 等手段 有效整合党的建设信息资源 从而增强党的建设的效率性 参与性 民 主性的一种新型的党务管理系统 根据系统的设计需求 要求实现的系统功笺模块 在开发设计方案中采用隧 前比较流行的框架技术来搭建系统结构 框架是本课题的研究核心 借助实际系 统的焉例 说明框架是开发系统的最佳选择 比较现在几种框架 j s p s t r u t s l s t r u t s 2 的优缺点 本系统采用s t r u t s 2 作为系统框架的设计方案 通过使用s t r u t s 2 框 湖北工业大学硕士学位论文 i j u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i 爨 烹竺 苎苎燃竺 烹懋 架 突出表现了软件和代码复用特点 这些都体现在框架的组件上 其实框架就 是一组组件 选用完成自己的系统 简单说就是使用别人搭好的舞台 囱己来做 表演 同时框架具有可扩展性 给框架开发者留下可发挥的余地 成为一个不断 舞级的软件 1 2 本文主要内容 本文首先逶过党务管理系统 从需求 结构设计 模块分析到研究采用的系 统框架技术 在介绍框架的概念和优势的前提下 通过比较基于m v c 模式的三种 实用框架 同时比较使用s t r u t s l 框架的在应用系统中不能解决的问题 引出s t r u t s 2 框架作为系统框架的设计开发方案 详细介绍该框架在党务管理系统的一个子模 块的具体操作过程 发现该框架不但解决了s t r u t s l 中页面显示单一 控制类过于 绑定s e r v l e t a p i 页西请求封装古板等缺点 焉且还提供验谖框架和拦截机制的功 能 使代码更加简洁 剖析其具体实现过程 将该框架应用到一般系统中 总结 设计步骤和注意点 提炼出重用技术 更加说明使用框架在大型系统开发中具有 复用性 扩展性 1 3 论文的各章节介绍 本文共分为6 章 重点在第3 4 5 章 第l 章是引言部分 以党务系统为 用例 框架作为文章的主要研究内容 第2 章根据系统的需求分析 模块分析 功能与性能分析 系统结构设计孳 出采用基于m v c 模式的框架作为系统开发框架 第2 节介绍几种实用的开发框架 并扼要说明在 一冶 系统中的不足之处 为下一章的s t r u t s 2 框架作铺垫 第3 章主要讲s t r u t s 2 框架的产生和介绍其体系结构 同时比较第2 章的几个 框架的优缺点 通过 一冶 系统中的实例来迸一步说明s t r u t s 2 能解决s t r u t s l 框 架中的三个舞题 代码严重依赖s e r v l e t a p i 核心配置文件庞大 表示层单一 第4 章联系 一冶 系统中的一个子模块角色管理的具体实现 采用s t r u t s 2 创建框架结构的完整的6 个步骤 充分体现s t r u t s 2 的优点 第5 章介绍s t r u t s 2 在一般系统中使用的操作过程 说明该框架在系统开发中 的特点 总结在一般系统中使用该框架时的注意点 并扼要说明框架在代码复用 的特点 第6 章是总结与展望 总结本论文通过s t r u t s 2 框架在甜一冶w 系统中的使用 得出几点心得体会 震望s t r u t s 2 会融入其它技术豹趋势 2 湖北工业大学硕士学位论文 1 1 1 1 1 1 1 1 1i i ii 苎 第2 章框架的研究 2 1 选择框架的动机 本文是对s t r u t s 框架的研究 然而框架在目前各个公司使用频繁 并且框架的 选择也各有所需 本章针对前言中说明的党务管理系统为用例 根据其需求分析 来分析模块的功能与性能 从而来选择合适的框架技术 需求分析作为系统开发的首要计划 在一个好的企业 需求分析是个很重要 的工作 在项题开发中 只有通过需求分析才能把软件功能和性熊的总体概念描 述为具体的软件需求规格说明 从而奠定软件开发的基础和对后期工作的细化起 到指导的作用 这里通过系统的功能模块探讨后期开发工作中采用最合适的框架 系统共有八个模块 系统管理 组织建设 精神文明建设 党员队伍管理 党员 队伍管理管理 宣传工作 检纪工作 统战工作 2 1 1 系统功能模块图 图2 1 系统功能模块图 3 湖北工业大学硕士学位论文 由于系统中涉及的模块比较多 所以文章以 一冶系统 的系统管理用例为 对象来研究采用框架的目的 系统管理模块用例图 党务系统中的第一个大的模块是系统管理 主要包括三个子模块用户管理 角色管理 日志管理 系统角色管理 日志管理 图2 2 系统管理高层用例图 在系统管理高层用例图的基础上 对各个模块进行细化 进行功能分解 从 而得到各个模块的用例图 1 用户管理模块 用户管理模块主要是系统管理员用来管理公司员工在党务方面的信息新 增 修改和删除操作 当用户登陆时需要用户名和密码 还有进行口令的更 改 系统管理员还具有给用户进行角色分配的权力 当用户需要在某些方面 如进行组织学习和做报告等工作的时候 都需要有对应的角色才能进行相关 的活动 管理员具有的权限还有创建新用户 按关键字查询 复合查询功能 如图2 3 是用户管理用例图 4 湖北工业大学硕士学位论文 系统管理员 图2 3 用户系统管理模块 2 嚣志管理模块 系统管理员使用圜志管理系统对系统操作进行跟踪 确保系统的使用安全 性 如图2 4 为日志管理系统模块 舀志信息删除 图2 4 日志系统管理模块 5 息 曝q 人髓巍 系 湖北工业大学硕士学位论文 3 角色管理模块 角色管理是一令缀重要的模块 系统管理员要负责管理用户竞色 管理 员用户可以在本模块进行角色的权限管理 新建 修改 删除角色名称 给 新建的角色分配相应的权限 分配好权限的角色可以在用户管理模块中与用 户进行映射 注意的是 一个用户有 个或多个角色 一个角色可以有多个 权限 图2 5 系统管理模块 其他的功能模块用例图不在这里一一赘述 2 1 2 简单功能页面分布图 如图2 6 所示为简单功能页面图 通过功能页面分布图可看出功能菜单显示在 页面的左边 它是一个带阶层的下控式目录菜单 右边为菜单对应功能显示区 如 当管理员点击左边的 系统管理 下面会出现下来菜单显示多个子功能信息 再点击 用户管理 会出现第二级菜单 继续点击 爨现三级别露录 点击 添 加用户 右边就会显示添加用户的界面 6 湖北工业大学硕士学位论文 主页头 l 系统管理 2 i 用户管理 功 3 添热耀户 角色管理 能 日恚管理 显 组织建设 不 精神文明建设 区 党员队伍管理 图2 6 系统管理模块 2 l 3 功能幂目性能分析 党务管理系统是一个比较大型的系统 其中涉及的模块共有八大模块 系统 管理 组织建设 精神文明建设 党员队伍管理 党员队伍管理管理 宣传工作 检纪工作 统战工作 经过用例分析对模块功能的要求和性熊分析如下 1 这些功能模块实现的大多是数据的查询 添加 修改 更新 验证等操作 如何合理有效安排这些控制和实现操作是开发过程串的关键性问题 同时在开发 实践中要求代码尽量不累赘和复杂 提高代码的可读性和功能实现的简洁安全 2 本系统是基子w e b 页面的显示 很多数据都是要在页面输入 还要从后台 数据库中读取数据并显示在页面上 如何将数援封装在合适的位置并实现交互 页面之间的跳转和联系至关重要 最终提高读取数据的速度和页面跳转响应及时 3 由于系统模块很多 涉及的页面也很多 验证需求方面的流程自然也会增 加 因为权限的不同 所以实现的功能也不一样 要合理安排数据验证和流程转 向 2 童 4 系统框架设计 通过上节的功缝与性能分析 这里如图2 7 介绥典型的w e b 三层体系与系统框 架的映射关系 也是解决这些问题的依据 湖北工业大学硕士学位论文 i i i i ii i i i i ii i i i i ii i 用户接n w e b 服务 l 商监逻辑 圄 数据服 l 务层l li 表示层 转发控制层 丁0 业务控制层 t 上 数据持久层 躅2 7 典型的w e b 三层体系与系统框架 分层特点 1 表示层 对最终用户提供友好的界面 更好地为系统用户提供优质服务 2 控制层 转发控制层响应表示层h 订甲请求 并进行转发处理 主要处理 事务逻辑 业务控制层负责业务逻辑的实现 通过调用持久层与数据库交互 0 数据持久层 与业务层进行数据的传递 调用数据库信息 保证数据的持 性和一致性 三层架构扩展性好 程净结构清晰 且易于修改 这是一种比较典型的基予 w e b 的m v c 模式的设计 在引言部分就提到过如今基于这种模式的框架很多 下 面介绍几种常用的框架 总结它们的优 缺点 决定采用最优质的框架 2 2 几种基于m v c 模式的框架 框架成为遐翦甚至以后开发系统的重要手段 现在比较流行的是基于m v c 模 式的框架 其中比较实用的有j s p j a v a b e a n s t r u t s l 框架 w e b w b r k 框架 s p f i n g m v c t a s t r y 还有最新的框架s t r u t s 2 在介绍这些框架之前务必了解待么 是框架 使用框架的优势 2 2 l 框架的概念 框架 2 1 是面向对象系统可以获得的最大复用方式 较大的系统可出多层彼此合 8 湖北工业大学硕士学位论文 作的框架组成 框架具有如下特点 首先 框架封装了一组类以及类之阉的协助 关系 畏b 控制流程 其次 框架是某类特定应用的半成品 是一个能被许多应用 程序所采用的一个程序模板 它不仅提供了这类应用公有的部分 而且为应用预 留了可供扩展的部分 以满足特殊需要 最后 框架提供了设计和代码的复用f 在开发一类相似的应用中共享了框架的公用部分 这相当于对代码的复用 同时 在开发这些应用时 为了有效地使用和扩展框架 使用者必须了解框架的控制结 构和设计决策 丽这就是对设计和分析的复用 2 2 2 框架的优势 框架提供了建立复杂系统的强有力的工具 它具有如下优点 1 可以复用框架的体系结构和代码 减少了编码 调试和测试的工作量 2 使用户能够专注于业务逻辑 不需要花大量时间去做大量基础开发 3 为组合软件开发奠定了基础 设计良好的框架将允许第三方软件公司提 供部分或者完整组件供用户或系统集成商装配 如本系统中使用基于0 r m 技术的 h i b e r n a t e 作为底层数据的持久性保护 框架是一种提高系统开发效率的手段 在 一冶 系统中使用框架的选择也就 更明确 要完成一个功能模块很多的系统 即要保持模块的连贯性和成品后系统 的可用性 还要将设计方案和原理用到其他的系统中 从而达到移植的作用 下 西介绍几矛孛实用的框架 2 2 3j s p j a v a b e a n 框架 基于m v c 模式 4 的一个比较简单的框架是鹏模式 j s p 4 j a v a b e a n 如图2 8 是m o d e l l 的程序流程图 图2 8m o d e l l 的程序流程墅 9 湖北工业大学硕士学位论文 m o d e l l 模型是以j s p 为中心 独自接收客户端的请求 并结合j a v a b e a n 进行 复杂的业务逻辑判断 将处理结果在通过j s p 进行响应 这种模式虽然解决了代码 功能的分离 但j s p 承担了视图和控制的功能 在j s p 中要进行响应显示 逻辑判 断 流程控制 无形之中增加了j s p 编码的负担 这样m o d e l l 模式比较适合小型 系统的开发 对于 一冶 系统来讲 使用这种模式是不可取的 主要是它涉及的八个模 块 会使用很多个j s p 文件 同时j s p 文件中参入了j a v a 代码 造成页面逻辑调 用和判断的调入和调出十分频繁 最终会影响开发效率 2 2 4s t r u t s l 框架 s t r u t s l l 3 是在j s p j a v a 框架上的改善 使视图 控制 模型分开 是一种标准 的和典型的m v o 溪式 m v c 体系突出了s e r v l e t s 和j s p 的优点 同时也令它佛的缺 点最小化 在实现中 用户请求被发送到一个控制器s e r v l e t 该s e r v l e t 决定请求的 性质 并且根据请求的类型传送给适合的处理器 每个处理器都和一个特别的模 型相关 里面封装有商业逻辑来执行一些特别的函数集合 处理完毕后 结果会 发送回处理器 处理器选择适合的视图显示它 s t r u t s l 框架的结构如图2 9 所示 图2 9s t r u t s 框架的结构图 1 模型m o d e l 组件 在s t r u t s 框架中 模型分为两个部分 系统的内部状态和可以改变状态的操作 事务逻辑 内部状态通常由一组a c t i n f o r m 和j a v a b e a n 表示 根据设计或应 用程序复杂度的不同 这些b e a n 可以是鬓包含的并具有持续的状态 或只在需要 1 0 湖北工业大学硕士学位论文 w l i i i i i i i i i i 时才获得数据 从某个数据库 大型应用程序通常在方法内部封装事务逻辑 操 作 这些方法可以被拥有状态信息的b e a n 调用 比如购物车b e a n 它拥有用户 购买商品的信息 可能还有q u e r y r o l e o u t 0 力i 法用来检查用户的信用卡 并向仓库 发定货信息 小型程序中 操作可能会被内嵌在a c t i o n 类 它是s t r u t s 框架中控制器角色 的一部分 当逻辑简单时这个方法很适合 j a v ab e a n s 就是模型的代表 这些b e a n 分成3 类 窗体b e a n f o r m b e a n 对 象用来包装h t m l 表单数据 当然也包括通过u r l 请求传递过来的数据 举例来 说 一个登陆页面可能有两个属性 p r o p e r t y l o g i n 和p a s s w o r d f o r m b e a n 毒s t r u t s l 的a c t i o n f o r m 类扩展而来 请求b e a n r e q u e s tb e a n 拥有用来生成h t m l 页面 的所需的信息 例如在一个表现银行账户状态的页面中 请求b e a n 就应该有账户 相关信息以及近期的交易记录等等 会话b e a n s e s s i o nb e a n 拥有同一用户在不 同h t t p 请求间共享的对话信息 建议用户将事务逻辑 要做什么 与a c t i o n 类所扮演的角色 决定做什么 分开 2 控制c o n t r o l l e r 组件 s t r u t s 串基本的控制器组件是a c t i o n s e r v l e t 类中的实例s e r v e r 实际使用的 s e r v l e t 在配置文件中由一组映射 由a c t i o n m a p p i n g 类进行描述 进行定义 在s t r u t s 中c o n t r o l l e r 部分是通过专门s e r v l e t 来实现的 是s t r u t sa p i 提供的 a c t i o n s e r v l e t 类型的实例 接受客户端浏览器发如的请求 执行相应的业务逻辑 把响应结果送回客户端 a c t i o n 相当于低层面的控制器 进行业务逻辑处理后将 应用程序流转到合适斡v i e w a c t i o n f o r m 对象逛动接受客户端表单数据 可看成 模型和视图的中介 这些控制逻辑是利用s t r u t s c o n f i g x m l 文件来配置 3 视图v i e w 组件 由j s p 建立 s t r u t s 包含扩展自定义标签库 可以简化创建完全国际化用户界面 的过程 s t r u t s 控制器会把h t t p 请求转发到作为m v c 视图的j s p 文件 这个j s p 文件 可以访问窗体b e a n 请求b e a n 会话b e a n 生成结果文档 通常是一个h t m l 文 档 并发送到客户端 s t r u t s 提供了常用的器组j s p 标志库 h t m l 震来生成h t m l 标志 特别是用来自模型的数据填写h t m l 表单 b e a n 操作b e a n l o g i c 根据b e a n 值实现逻辑结构 t e m p l a t e 处理页面模板 通过s t r u t s 标志的使用 你可以避免 在视图中使用任何的j a v a 代码 湖北工业大学硕士学位论文 i i i i i i i ii i ii i i i i 竺 苎燃竺 苎曼竺 如果使用s t m t s l 框架作为系统开发方案 也算是一个不错的选择 但是 s t r u t s l 也在功能需求大的情况下 它的缺点就会盟显表现出来 s t r u t s l 中有一个很重要的 配置文件s t r u t s p r o p e t r y x m l 文件 它封装了所用的a c t i o n f r o m 和a c t i o n 如果页面 数据的调入和调出频繁 那么s 锄l s p 约p o 巍y x 攥l 要对分个封装了页谣数据的 a c t i o n f r o m 和处理数据的a c t i o n 对象进行声明和配对 这样也会是该文件变得臃 肿 最终造成页面响应缓慢 在本章第3 节中针对 一冶 系统的代码判断可以看 出它的不可取之处 2 2 5w e b w o r k 框架 w 曲w b r k 1 3 是由o p e n s y m p h o n y 开发的m v c 模式的j 2 e e w e b 框架 现在的 w e b w o r k 2 x 前身是w e b w o r k l 0 w e b w o r k 2 0 已经拆分为x w o r k l 和w e b w o r k 2 两个项圈 x w o r k 简洁 灵活功能强大 它是一个标准的c o m m a n d 模式实现 并 且完全从w e b 层脱离出来 w e b w o r k 2 建立在x w o r k 之上 处理砌盯p 的响应和 请求 它在w e b x m l 文件里配置一个派遣器s e r v l e t d i s p a t c h e r 它作为该框架的核 心控制器 处理h t r p 的请求和响应 当用户发送嚣霸誓请求时 该请求经过a c t i o n c o n t e x t c l e a n u p s i t m e s h 等过滤 器过滤 由核心控制器拦截 如果用户请求需要w e b w o r k 业务逻辑控制器处理 该 控制器则调用a c t i o n 映射器 该映射器将用户请求转发到对应的业务逻辑控制器 但要注意的是 此时的业务逻辑控制器并不是开发者实现的控制器 恧是一个控 制代理器 它以用户实现的控制器作为目标 以拦截器链中的拦截器作为处理 当创建这个代理的时候 它会樱据x w o r k x m l 配置文件 查找与 x 匹配的a c t i o n 名字 通过这个名字x w o r k 框架找到这个a c t i o n 的类 x a c t i o n 然后创建这个a c t i o n 类的对象并调髑e x e c u t e 方法进行操作 并根据执行e x e c u t e 方法返回的s t r i n g 类型数据请求再派遣到下一个页面 下面图2 1 0 是w e b w o r k 的数据流图 1 3 j 湖北工业大学硕士学位论文 i i l l l l lhi 蔓 苎 h 一1i p 请求 一l 脑b v c r ka e t n t t f b t c x t c l o n n 扣 冀他过滋器f 妻1s i t m e s l 等1 w c b w o r k 纷援心控制嚣 s c 州e t 筏冀f a f h c f l1 lt 上 调惩 众蘸鲥j l 魄辨盘 二龟 i 一j 蜘i i j 二 1 f i 蘸纂擎 测 l r 爱0 一 lp 蕺 嚣l 隧黪矍笺霪参割 癌霞 j 毫 j l 逸 雾 爹 尹拦截黪2 鼷 澎砭喾 菪 蠛j 誊 j i lo i 叠曲嘏婚呔掺襞麾 7 例如 蟊l 柏t 加舢s麟越霹箨雾零帮 二7 j麓 j o 1 护截等3 谣蟊 j f 0 i 一 霉蠢 一 i j 锡t t 够 k j 辱 菇07 毒 i 一t r a e 缸 赞 1r 1豢黪 雾 蛰 一 li j j 攀l i 1 r e s u l t滞 t f 弛l 铡t 辩钎 yi 4 l 颜色备义 荔鬻j 移 一船 蹦 i 脚 i 一 拦馘嚣3 t 馨鬟v r e e m 鼬 s 刊簪建落爨 弦 0 j 07 j j j j 鹬 e b w 彰秘眷 胛筑l 懿t 差季 l 一 嚣袋簧爱爻文 警 毯馘貉 l r r l 熬飘限晌庶 k 图2 1 0 w e b w o r k 的数据流图 w c b w o r k 框架的处理方式虽然保留了m v c 的特性 但是其中处理流程与 s t r u t s l 有很大的不同 然而 开发者把注意力放在它们的优点上 将两者结合起 来形成一个全新的框架 下一章将介绍s t r u t s 2 框架和比较其它框架的比较 从焉 说明 一冶 系统采用s t r u t s 2 作为框架的目的 湖北工业大学硕士学位论文 第3 章s t r u t s 2 框架 3 1s t r u t s 2 框架的产生及结构体系 自从第一版发布以来 s t r u t s l 实际上已成为业界公认的w e b 应用标准 它 的炙手可热也为自己带来了改进和变更 所以不但要跟上对w e b 应用框架不断变 化的需求 而且要与日渐增多竞争激烈的众多框架的特性相融合 s t r u t s i 和 w e b w o r k 本身是两个不同的框架 如今将s t r u t s 2 的核心技术嵌入了w e b w o r k 形成现在比较全新的s t r u t s 2 因此稳定性 性能等各方面都有很好的保证 s t r u t s 2 的体系与s t r u t s1 体系的差别非常大 因为s t r u t s2 使用了w e b w o r k 的设计核心 丽不是使用s t r u t s1 的设计核心 s t r u t s2 大量使用拦截器来处理用 户请求 从而允许用户的业务逻辑控制器与s e r v l e ta p l 分离 s t r u t s2 是一个雅 致的 可扩展的 用来建立企业级j a v aw e b 应用程序的框架 不但注重程序的开 发过程 更注重部署和后期维护 它融合了s t r u t s l 和w e b w o r k 的社区力量 非 常容易使用 最大可能的保留了和s t r u t s l x 的相似性 如图3 1s t r u t s 2 的体系结 构 圈3 王s t r u t s 2 的结构体系 1 4 湖北工业大学硕士学位论文 根据s t r u t s 2 体系结构图 习来了解它静处理流程 1 浏览器发送请求 例如请求 m y p a g e a c t i o n r e p o r t s m y r e p o r t p d f 等 2 核心控制器f i l t e r d i s p a t c h e r 根据请求决定调用合适的a c t i o n 3 w e b w o r k 的拦截器链囱动对请求应用逶用功熊 例如w o r l d l o w v a l i d a t i o n 或 文件上传等功能 4 圆调a c t i o n 的e x e c u t e 方法 该e x e c u t e 方法先获取用户请求参数 然后执行 某种数据库操作 既可以是将数据保存到数据库 也可以从数据库中检索信 惠 实际上 醒为a c t i o n 只是一个控制器 它会谲用她务逻辑组傣来处理用 户鹃请求 5 a c t i o n 的e x e c u t e 方法处理结果信息将被输出到测览器中 可以是h t m l 页黼 鹜像 也可以是p d f 文档或者其绝文档 此时支持的褫图技术非常多 既支 持j s p 也支持v e l o c i t y f r e e m a r k e r 等模板技术 3 2s t r u t s 2 框架与其它框架的比较 s t r u t s 2 橇架的强有力对手是糟框架耱s t r u t s l 框架 这里总结它们之闻的优 缺点 可以有利于根据实际需求选择合理的框架 1 瞎与s t r u t s l 比较 豫基于m v c 模式的m o d e l l 模型 s t r u t s l 是基予m v c 模式的m o d e l 2 模型 两者最明显的区别是j b 是将显示和控制封装在一起 这样页面j s p 代码中会出现 很多j a v a 代码 会加重前台开发人员的受担 s t r u t s l 就弥补了它的不足 s t r u t s l 在i b 框架的基础之上将j s p 中的页面显示功能和逻辑判断进行分离 即把控制器 完全独立出来 j s p 只需要做接受数据积显示数据 至于数据的处理有控制器去决 定调用哪个模块去处理 这样v i e w 和c o n t r o l l e r 分工鹱确 这样就让前后台开发 人员各施其职 从丽m o d e l 2 体现了m v c 的标准模式 2 s t r u t s l 与s t r u t s 2 的比较 s t r u t s 2 虽然是s t r u t s l 的过渡 保留了s t r u t s l 的优点 但是其核心技术得到了 w e b w o r k 麓参与 在缀多方面体觋得不一样 1 在a c t i o n 实现类方亟的对比 如表3 1s t r u t s l 与s t u t s2 0 的接日和表单数据毖较 s t r u t s 圭 xs t u t s2 0 湖北工业大学硕士学位论文 s t r u t s1 要求a c t i o n 类继承一个抽象基类 s t r u t s1 的一个具体问题是使用抽象 类编程丽不是接口 s t r u t s2 a c t i o n 类可以实现一个a c t i o n 接口 也可以实现其他接口 使可选和 定制的服务成为可能 s t r u t s2 提供一个a c t i o n s u p p o r t 基类去实现常用的接口 即 使a c t i o n 接口不是必须实现的 只有一个包含e x e c u t e 方法的p o j o o u j 类都可以用 作s t r u t s2 的a c t i o n 2 s c r v l e t 依赖方面的对泷 s t r u t s l a c t i o n 依赖于s e r v l e ta p i 因为s t r u t s l a c t i o n 的e x e c u t e 方法中有 h t t p s e r v l e t r e q u e s t 和h t t p s e r v l e t r e s p o n s e 方法 s t r u t s 2a c t i o n 不再依赖于s e r v l e t a p i 从而允许a c t i o n 脱离w e b 容器运行 从而降低了测试a c t i o n 的难度 当然 如果a c t i o n 需要直接访问h t t p s e r v l e t r e q u e s t 和h t t p s e r v l e t r e s p o n s e 参数 s t r u t s2a c t i o n 仍然可以访阕它稍 但是 大部分时 候 a c t i o n 都无需直接访问h t t p s e r v c t r e q u e s t 和h t t p s e r v l e t r e s p o n

温馨提示

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

评论

0/150

提交评论