struts结构在软件开发中的应用

来源 :硅谷时代 | 被引量 : 0次 | 上传用户:jc422177405
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  MVC设计模式成为了目前十分流行的一种设计方法.它是一种软件的设计方法模式.并且被大量的开发和实践所证明.因此本文通过介绍Struts框架这种已经实现了MVC模式的软件构件框架了讨论该模式的优势和如何投入到软件开发中去.Struts是目前Web开发中比较成熟的一种框架,本文阐述了基于MVC模型的Web应用软件开发框架struts的体系结构及主要组成组件,并结合一个实例讨论如何设计基于struts框架的应用,同时也分析了使用struts框架开发web应用的优势。近年来,基于MVC(Model-View-Controller)模型的Struts框架越来越受到web系统开发者的青睐。Struts是建立在当前动态网站设计领域中JSP、Servlet、XML等相关开发技术基础之上的一种主流开发架构,具有组件模块化、灵活性和重用性的优点,同时极大地简化了Web应用程序的开发。它合理地将用户表示逻辑、业务逻辑和控制逻辑分离,使得开发过程变得简洁清晰,并提高了软件的可维护性和可重用性。
  
  1 Struts框架
  
  Struts是一种基于MVC经典设计模式的开放源代码的应用框架,也是目前Web开发中比较成熟的一种框架。通过把Servlet、JSP、JavaBean、自定义标签和信息资源整合到一个统一的框架中,为Web开发提供了具有高可配置性的MVC开发模式。Struts体系结构实现了MVC设计模式的概念,它将Model、View和Controller分别映射到Web应用中的组件。Model由代表系统状态和商业逻辑Action来构建,View是由JSP和struts提供的自定义标签来实现,Controller负责控制流程,由ActionServlet和ActionMapping来完成。
  Struts的体系结构与工作原理
  MVC即Model-View-Controller的缩写,是一种常用的设计模式。MVC减弱了业务逻辑接口和数据接口之间的耦合,以及让视图层更富于变化。MVC的工作原理,如下图所示:
  
  1)模型(Model)
  在Struts的体系结构中,模型分为两个部分:系统的内部状态和可以改变状态的操作(事务逻辑)。内部状态通常由一组ActinForm Bean表示。根据设计或应用程序复杂度的不同,这些Bean可以是自包含的并具有持续的状态,或只在需要时才获得数据(从某个数据库)。大型应用程序通常在方法内部封装事务逻辑(操作),这些方法可以被拥有状态信息的bean调用。比如购物车bean,它拥有用户购买商品的信息,可能还有checkOut()方法用来检查用户的信用卡,并向仓库发定货信息。小型程序中,操作可能会被内嵌在Action类,它是struts框架中控制器角色的一部分。当逻辑简单时这个方法很适合。建议用户将事务逻辑(要做什么)与Action类所扮演的角色(决定做什么)分开。
  2)视图(View)
  视图主要由JSP建立,struts包含扩展自定义标签库(TagLib),可以简化创建完全国际化用户界面的过程。目前的标签库包括:Bean Tags、HTML tags、Logic Tags、Nested Tags 以及Template Tags等。
  3)控制器(Controller)
  在struts中,基本的控制器组件是ActionServlet类中的实例servelt,实际使用的servlet在配置文件中由一组映射(由ActionMapping类进行描述)进行定义。对于业务逻辑的操作则主要由Action、ActionMapping、ActionForward这几个组件协调完成的,其中Action扮演了真正的业务逻辑的实现者,ActionMapping与ActionForward则指定了不同业务逻辑或流程的运行方向。struts-config.xml 文件配置控制器。
  2 基于Struts框架BBS系统实现 BBS论坛是电子商务网站中一种常见的功能,它为上网用户提供了一个自由的讨论区。用户可以根据需要在论坛上发表文章,提出问题并表达自己的观点,俗称发帖子或灌水。与此同时,上网用户也可以在论坛中浏览其他人发表文章,并能对该文章进行回复。故一个典型的BBS系统一般应提供如下功能:①会员管理,②讨论区文章查阅,③发表新文章,④后台管理。运用Struts框架实现BBS,首先把应用分解为模型、视图和控制器来实现,这样就将业务逻辑和表现层分开,提高软件可扩展性和良好的逻辑性,改变了传统Web开发设计模式。然后运用struts-config.xml配置文件将三者组装起来,协调它们完成相应的功能。下面将以BBS中用户登陆为例按照MVC架构来详述实现过程。
  2.1创建视图组件 在视图中主要包括两个组件:用户登录页面bbsLogin.jsp,是struts的输入显示页面;登录失败页面wrong.jsp;是用户登录失败后显示的页面。它们都保存在Web应用目录bbs下。
  2.2创建模型组件 模型组件文件UserInfo.java是处理业务逻辑的JavaBean, 封装了与论坛用户相关的所有信息,同时也定义了所有与论坛用户信息处理相关的方法。例如检查用户身份的方法以及查找、删除、编辑、存储用户信息等。通过Action类派生的子类LoginAction访问UserInfo.java实现对业务逻辑的处理。如果模型组建处理的业务比较复杂可以使用EJB或其他J2EE组件来实现。注意业务逻辑层对应的类所在的包应该部署在bbs/WEB-INF/classes下。
  2.3 创建控制器组件 控制器组件作为整个Struts架构的控制中心,包括了ActionServlet、Action Bean、ActionForm Bean、以及相关配置文件web.xml、struts-config.xml及资源包。ActionServlet类是框架自带的,是整个Struts框架的控制枢纽,通常不需要扩展。⑴声明及定义LoginActionForm.java 该Javabean用于收取用户登录页面提交的表单数据。注意ActionFormBean中属性名称一定要对应用户表示层JSP页面中的表单元素名称及超链接参数名。⑵声明及定义LoginAction.java LoginAction负责处理客户端提交请求,其主要功能是依据接收到的不同请求,通过LoginActionForm中得到对应的提交表单数据,调用业务逻辑层中对应的UserInfo.java进行处理。最终将结果传给用户表示层JSP页面,显示在用户面前。⑶配置文件定义web.xml主要实现了对ActionServlet进行配置,同时还必须声明Web表示层中所使用的struts标签库。针对本应用Struts-config.xml配置如下。
  
  
  3 结束语
  
  从某种意思上讲,Struts技术只实现了Web层的应用框架,但它是一个具有良好扩展性和不断完善的框架,结合J2EE核心设计模式,可构建出相当稳定的基于MVC应用框架,利用这样应用框架不但能缩短开发时间,还能够实现框架和代码的重用,是未来web应用开发的主流技术。
  
  参 考 文 献
  [1] Ted Husted等著,黄若波等译.实战STRUTS.北京:机械工业出版社,2005
  [2] 管兆宁.基于Struts框架多层结构图书网站构建[J].苏州大学学报(自然科学版).2005.21(2):35-39
  [3] 马温芹,王洪.Struts体系结构以及在改进Web开发中的应用[J].计算机与数字工程.2005.33(8):94-96.■
其他文献
[摘 要] 体育教学是在“运动”这个独特的手段和固有的“教学”形式来达到教育人与培养人的目的,所以,体育教学中的审美教育是以培养学生的外在美与内在美为主要内容,使受教育者达到内外美的和谐统一。体育教师在教学过程中,通过的美育和德育的讲解和运用,可以使课堂上的气氛生动活跃,富有艺术感,并且使学生自觉的培养审美观、审美情趣、审美理想、审美情感和审美能力。  [关键词] 体育教学 审美教育 情感教育  
期刊
[摘 要] 对SOA的概念,结构和技术组成进行简要介绍,并提出适合税务系统的基于SOA的税务流程服务管理平台的技术组成方案  [关键词] SOA 税务流程服务管理平台    SOA即Service-oriented Architecture,就是面向服务的架构,是目前领先的、具整合能力的应用体系架构。META组织将SOA定义为:“一种以通用为目的、可扩展、具有联合协作性架构,所有流程都被定义为服务
期刊
[摘 要] 本文主要介绍了基于JAVA的数字到中文大写金额的转换具体实现方法,对其中如何实现不限制数字长度着重进行了说明,为了保证转换结果的正确性,对存在的中文大写金额书写规范进行了研究,在实现步骤上逐步进行说明,并对核心部分附上了源代码。  [关键词] JAVA 不限长度 数字 中文大写金额 转换    一、引言    在经济行业的工作中,经常需要将阿拉伯数字转中文大写金额,财务人员主要用于填写
期刊
[摘 要] 如何提高数据库的效率,是数据库使用过程中的一项重要任务,本文以oracle9i数据库为例,着重从改善用户的查询计划这方面,说明了改善查询技术的重要性,以及归纳出几种改善用户查询优化的方法。  [关键词] 数据库 查询优化 查询计划 oracle 9i    数据库系统是管理信息系统的核心,基于数据库的联机事务处理(OLTP)以及联机分析处理(OLAP)是银行、企业、政府等部门最为重要的
期刊
党的十七大以来,我国改革开放和社会主义现代化建设取得举世瞩目的成就,国民经济实现了持续平稳较快增长。特别是人民生活水平的显著改善和民营经济的不断发展与壮大,使得我国的民间资本在推进社会主义新农村建设,促进我国经济社会协调发展等方面发挥了越来越重要的作用。目前,我国民间资本的融通主要表现为“民间借贷”的形式,民间借贷作为一种直接融资形式在我国由来已久,特别是在湖北、江西等经济欠发达地区以及民营经济相
期刊
[摘 要] 新时期的税务系统软件可以依托无线领域实现更方便快捷的征管手段。本文对移动技术在税务领域的应用进行分析。介绍了无线应用协议(WAP),一种为移动用户提供了统一、开放的应用接口的应用平台。以及WAP中的无线传输层安全规范(WTLS),说明了WTLS解决无线互联网络安全问题的机制及其有效性,并指出了一些有待解决的潜在安全问题。  [关键词] 税务系统 无线应用协议(WAP) 安全性 无线传输
期刊
小学语文教学大纲明确地提出“阅读教学的主要任务是培养学生的阅读能力和良好的阅读习惯”。因此从低年级起就应指导学生正确地读,流利地读,有感性的读,努力培养学生的朗读兴趣。只有在阅读教学中正确地培养训练学生读,才能逐步培养学生的自学能力,达到阅读教学的最终目的。  阅读能力的培养是从朗读开始的,在阅读教学中,首要任务是重视朗读的训练,而朗读的指导必须在学生初步理解课文内容的基础上进行,从低年级开始就要
期刊
[摘 要] 水利工程造价控制是一个动态的、全过程的、周期长的管理,每个阶段都会有不同的外界相关因素影响,做好造价的管理也就是对造价的有效控制,在抓住管理重点和关键点同时,对每笔发生额控制在一定的限额以内,随时纠正发生的偏差,做到发生额与限额一致,保证项目投资目标的实现,有效的造价管理对整个工程来说是谋取了最佳的经济效益和社会效益,实现水利工程的最本质目标。  [关键词] 水利工程 造价管理    
期刊
[摘 要] 会计档案是企事业单位和机关团体在经济管理和各项会计核算活动中直接形成的作为历史记录保存下来的会计凭证、会计账簿和会计报表,以及其它会计资料等专业材料。它以丰富的原始数据和恒定不变的价值量为使用者提供可靠的信息。如何做好会计档案的收集、整理、销毁、调阅与利用,使会计档案管理实现制度化、规范化、科学化,成为制约各单位经济管理工作的关键问题。  [关键词] 会计档案 科学管理 信息化 电子财
期刊
[摘 要] 在争夺客户的战争中,价格战是企业管理者手中最常挥动的武器。以低价吸引客户固然无可厚非,但相互报复性的降价只会给整个行业带来利润的急剧下降。价格战中很少有人能成为真正意义上的赢家,即使企业能够幸存下来也往往会被打得遍体鳞伤。本文在分析价格战起因的基础上,试图给出价格战的规避策略和减损策略。  [关键词] 价格战 价格战起因 价格战规避 价格战减损    价格战是指竞争企业之间持续地试图降
期刊