Struts框架及其在Web开发中的应用
日期:2007年5月16日 作者: 查看:[大字体 中字体 小字体]-
引言 传统的Web应用开发工具(ASP、JSP)将页面显示、商业逻辑和数据处理大部分都集中在页面代码中,Web应用扩展维护比较困难,也不利于开发人员分工协作,在大型WEB应用开发中愈发显得力不从心。 MVC(Model-View-Controller)设计模式将页面显示、商业逻辑和数据处理相分离,最大限度的降低系统各部分之间的耦合性,从而增强系统的可扩展维护性,提高代码重用率,使系统的层次结构更加清晰,易于分工协作。而Struts是一个为开发基于MVC模式的应用架构的开源框架。
1、Struts框架的体系结构
1.1、MVC设计模式
MVC设计模式是一种“分治”的思想,它使应用程序的输入、处理和输出分开,把应用程序分成三个核心模块:模型(Model)、视图(View)和控制器(Controller)。Model用来储存应用程序的数据以及访问、维护这些数据的业务逻辑,View建立终端用户的表示层,Controller是模型与视图的接口,其作用是获取并处理HTTP请求,并调用相关的业务模型中的方法对请求进行处理,然后将对象模型层次处理后的结果返回到View。可见MVC设计模式的主要优点是实现了业务逻辑和显示逻辑的分离,提高了系统的可维护性、可扩展性、可移植性和组件的复用性。
1.2、Struts框架
Struts是基于MVC的Web应用框架,由一组相互协作的类、Serlvet以及JSP TagLib组成。在Struts框架中,模型由实现业务逻辑的JavaBean或EJB组件构成,控制器由ActionServlet和Action来实现,视图由一组JSP文件构成。Struts框架的体系结构如图1所示。下面分别从模型、视图、控制来看看struts的体系结构。
视图:主要是通过JSP技术生成页面完成视图,利用Struts提供的自定义标记库编写用户界面把应用逻辑和显示逻辑分离。Struts框架通过这些自定义标记建立了View和Model之间的联系,可以实现和Model部分中的ActionForm的映像,完成对用户数据的封装。
图1:Struts体系结构
控制器:作用是从客户端接受请求,并选择执行相应的业务逻辑,然后把响应结果送回到客户端。在Struts中,控制器由ActionServlet和ActionMapping对象构成,核心是一个Servlet类型的对象ActionServlet,它用来接受客户端的请求并分发到相应的动作类(Action类的子类)。ActionServlet包括一组基于配置的ActionMapping对象,每个ActionMapping对象实现了一个请求到一个具体的Model部分中Action对象之间的映射。
模型:在Struts中,Model可以分为系统的内部状态和改变系统状态的行为(业务逻辑)两部分。系统的内部状态常由一组JavaBean表示,业务逻辑由Action和ActionForm的类对象处理。Action对象封装了具体的处理逻辑,调用业务逻辑模块,并且把响应提交给合适的View以产生响应业务对象更新应用程序的状态。ActionForm可以派生子类对象,通过结合自定义标记库以实现对客户端的表单数据的良好封装和支持。Action对象可以直接对ActionForm进行读写,而不再需要和request,response对象进行数据交互。通过ActionForm对象实现了对View和Model之间交互的支持。
Struts-config.xml:用于建立Controller和Model之间的关系,将各部分紧密联系在一起。它描述了Controller所使用的把请求对应到具体处理的法则,同时它还描述了客户提供的数据与ActionForm组件的对应映射关系。
1.3、Sturts的工作流程
对于采用Struts框架的Web应用,在Web应用启动时就会加载并初始化ActionServlet,从struts-config.xml文件中读取配置信息,把他们存放到各种配置对象中。其具体工作流程如下:
⑴客户端(Client)通过本地浏览器(Browser)向服务器发出一个请求(HTTP Request)。
- [1] [2] [3] [4] [5] 下一页
-
- Struts框架及其在Web开发中的应用 相关文章:
- ·QQ常在异地登录的原因及其应对方法
- ·CSS实例布局:上中下三行 中间自适应
- ·防止对WEB应用服务器的三种攻击
- ·CSS初学者应该保持的一种心态
- ·XHTML标签写法应该注意的问题
- ·缩短响应时间 让Windows Vista跑得更快
- ·Windows IE 7.0应用技巧心得
- ·Flash技术在电子杂志设计制作应用
- ·无线局域网应用疑难解惑
- ·掌控PC 如何应对僵尸主机及僵尸网络
- Struts框架及其在Web开发中的应用 相关软件
- ·Excel2003函数应用完全手册
- ·万用表应用技巧
- ·连锁反应汉化版
- ·链式反应2
- ·龙应台文集
- ·吸血鬼效应:日本经济奇迹的真正秘密
- ·vcdatabase应用
- ·0racle数据库应用管理解决方案
- ·使用WAS对Web应用程序进行负载测试
- ·WCDMA原理与应用
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
上一篇:软件自动化测试流程
下一篇:软件工程的七条基本原理
精品推荐
热点TOP10
- ·Visual Studio 2005集成开发环境图解
- ·利用UML类图设计Java应用程序详解(1)
- ·利用iTextSharp生成Pdf一个小例子
- ·软件工程的未来之路与我们的解决之道?
- ·VS2005(c#)项目调试问题解决方案集锦
- ·Atlas应用程序的调试技巧
- ·代码编写中的心理学与美学
- ·函数库、组件产品的测试方法
- ·IBM 建立商业解决方案中心
- ·IBM Rational推出SOAD策略
- ·通过RUP用例进行需求管理的可追踪性策略(1)
- ·软件项目在变化的需求中获得成功(1)
- ·界面需求的分析方法(1)
- ·探究需求管理的本质(1)
- ·利用数据绑定和模板创建Atlas应用程序
- ·BEA和Siebel联合提供CRM软件
- ·BEA新任亚太区总经理 曾任惠普软件部高管
- ·Java从老虎变野马 好事还是坏事?
- ·Web服务的期望与现实
- ·SAP:未来管理软件将像玩具
