



版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、MVCJSP Model 1MVCJSP Model 2MVC 模型-视图-控制器(MVC)是80年代Smalltalk-80出现的一种软件设计模式,现在已经被广泛的使用。 模型(Model) 模型是应用程序的主体部分。模型表示业务数据,或者 业务逻辑. 视图(View) 视图是应用程序中用户界面相关的部分,是用户看到并 与之交互的界面。 控制器(controller) 控制器工作就是根据用户的输入,控制用户界面数据显 示和更新model对象状态。MVCFramework 基于请求响应的Framework 控制器(Controller)控制整个Framework中各个组件的协调工作。 业务逻辑
2、层(Business Logic)对Framwork本身来说,这 里仅仅只是概念和几个提够服务的基础组件,真正的实现与客户的业务逻辑接轨,还需要开发人员在Framework上再次扩展。 数据逻辑层(Data Logic)绝大应用系统都需要涉及到数据交互,这一层次主要包括了数据逻辑和数据访问接口。对于数据逻辑来说,如果你了解数据建模(Data Modeling)可能就很容易理解。 问题反馈问题反馈( (一一) )1.MVC模式是从视图到控制器再到模型,最后再返回视图,但有时视图层也可以直接与模型层交互,请问在什么情况下用到,是不是不推荐使用? 当页面上不存在与模型层对应的属性时,而页面上又恰恰需
3、要数据库中的某个字段的内容时可以与模型层直接交互,但不推荐使用,因为不利于数据库的维护。2.Framework中所谓的框架是不是按提供MVC形式摆放三个层次的位置就可以使用MVC模式了? 应该可以说只要按MVC形式的要求把相应的内容布置上就可以使用了,但实际上还需要使用者遵循MVC提供商中的一些接口之类的约定就可以了。问题反馈问题反馈( (二二) )Struts的概念和体系结构 Struts有一组相互协作的类、Serlvet以及Jsp TagLib组成。基于Struts构架的web应用程序基本上符合JSP Model2的设计标准,可以说是MVC设计模式的一种变化类型。根据上面对framewor
4、k的描述,我们很容易理解为什么说Struts是一个web framwork,而不仅仅是一些标记库的组合。但 Struts 也包含了丰富的标记库和独立于该框架工作的实用程序类。 Struts的概念和体系结构的概念和体系结构 Struts有其自己的控制器(Controller),同时整合了其他的一些技术去实现模型层(Model)和视图层(View)。在模型层,Struts可以很容易的与数据访问技术相结合,包括EJB,JDBC和Object Relation Bridge。在视图层,Struts能够与JSP, Velocity Templates,XSL等等这些表示层组件想结合。Struts与与We
5、b App的关系的关系Struts的体系结构的体系结构从视图角度(从视图角度(ViewView) 首先,Struts提供了Java类org.apache.struts.action.ActionForm,Java开发者将该类细分来创建表单bean。在运行时,该bean有两种用法: 当JSP准备相关的HTML,表单以进行显示时,JSP将访问该bean(它保存要放入表单中的值)。那些值是从业务逻辑或者是从先前的用户输入来提供的。 当从Web浏览器中返回用户输入时,该bean将验证并保存该输入以供业务逻辑或(如果验证失败的话)后续重新显示使用。从视图角度(从视图角度(ViewView) 其次,Str
6、uts提供了许多定制JSP标记,它们的使用简单,但是它们在隐藏信息方面功能强大。从模型角度(从模型角度(Model) Struts虽然不直接有助于模型开发。在Struts中,系统模型的状态主要由ActionForm Bean和值对象体现。从控制器角度(从控制器角度(Controller) 在Struts framework中, Controller主要是ActionServlet,但是对于业务逻辑的操作则主要由Action、ActionMapping、ActionForward这几个组件协调完成(也许这几个组件,应该划分到模型中的业务逻辑一块)。其中,Action扮演了真正的控制逻辑的实现者,
7、而ActionMapping和ActionForward则指定了不同业务逻辑或流程的运行方向。Struts 的基本组件包的基本组件包Struts的基本组件关系图的基本组件关系图 a ac ct ti io on n ( (c co or re e) ) a ac ct ti io on ns s c co on nf fi ig g t ta ag gl li iv va al li id da at to or r u ut ti il l Struts的基本组件包的基本组件包org.apache.struts.actionorg.apache.struts.action基本上,控制整个st
8、ruts framework的运行的核心类、组件都在这个包中,比如我们上面提到的控制器ActionServlet。还有Action,ActionForm,ActionMapping等等。struts1.1比1.0多了 DynaActionForm 类。增加了动态扩展生成FormBean功能org.apache.struts.actionsorg.apache.struts.actions这个包是主要作用是提供客户的http请求和业务逻辑处理之间的特定适配器转换功能,而1.0版本中的部分动态增删FromBean的类,也在struts1.1中被Action包的DynaActionForm组件所取代
9、org.apache.struts.configorg.apache.struts.config提供对配置文件struts-config.xml元素的映射。这也是sturts1.1中新增的功能org.apache.struts.utilorg.apache.struts.utilStrtuts为了更好支持web application的应用,提供了一些常用服务的支持,比如Connection Pool和Message Source。详细信息请参考/struts/api/org/apache/struts/util/package-summary.
10、htmlorg.apache.struts.tagliborg.apache.struts.taglib这不是一个包,而是一个客户标签类的集合。下面包括Bean Tags,HTML Tags,Logic Tags,Nested Tags,Template Tags这几个用于构建用户界面的标签类。org.apache.struts.validatororg.apache.struts.validatorStruts1.1 framework中增加了validator framework,用于动态的配置from表单的验证。详细信息请参阅 http:/ 1.struts与App的关系中,web Se
11、rvice Peers与struts的交互,ebxml和soap不太理解?2.Struts的简单工作原理:从一个页面跳转到另一个页面的处理过程? (1)当客户端浏览器发起请求到ActionServlet时,ActionServlet首先对请求进行一系列处理:根据请求的路径和配置信息找到对应的Action Bean 和Form Bean。 (2)在确定将要调用Action Bean和对应的Form Bean后,就将请求中包含的值填充到Form Bean中(Action可以不关联任何ActionForm,所以这一步是可选的)。在调用Action的execute方法前,ActionServlet还需要准备好ActionMapping参数,ActionMapping中包含了该Action的配置信息。问题反馈(二)问题反馈(二) (3)然后Struts将请求分发至相应的Action Bean处理,ActionMapping参数、ActionForm参数、request和respons
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论