我来我网
https://5come5.cn
 
您尚未 登录  注册 | 菠菜 | 软件站 | 音乐站 | 邮箱1 | 邮箱2 | 风格选择 | 更多 » 
 

本页主题: 通过Struts应用MVC设计模型 显示签名 | 打印 | 加为IE收藏 | 收藏主题 | 上一主题 | 下一主题

klo



性别: 帅哥 状态: 该用户目前不在线
等级: 品行端正
家族: YD一族
发贴: 473
威望: 0
浮云: 1105
在线等级:
注册时间: 2007-01-10
最后登陆: 2008-06-30

5come5帮你背单词 [ father /'fa:ðə/ n. 父亲,创始人,发明者,神父,上帝 ]


通过Struts应用MVC设计模型

模型--视图--控制器(Model-View-Controller,MVC)体系突出了Servlets和JSP的优点,同时也令它们的缺点最小化。在实现中,用户请求被发送到一个控制器servlet,该servlet决定请求的性质,并且根据请求的类型传送给适合的处理器。每个处理器都和一个特别的模型相关,里面封装有商业逻辑来执行一些特别的函数集合。处理完毕后,结果会发送回处理器,处理器选择适合的视图显示它。

   Struts最早于2002年5月作为Jakarta项目的组成部分问世,Jakata项目由Apache Foundation.运做。项目的创立者希望该项目的研究改进和提高Java Server Pages (JSPs)、servlet、标签库以及面向对象的技术水准。Struts为使用MVC体系来编写应用提供了一个架构。Struts使用“ActionMapping”,它允许servlet将用户的请求转变为应用行为。ActionMapping通常指定一个请求的路径、在请求上进行动作的对象类型,以及指定其它需要的属性。

   Action对象作为ActionMapping的一个部分使用,负责处理请求,并且发送响应回适合的视图(通常是一个Web浏览器),或者传送请求至适合的模型。

   在模型和视图间的桥是一个form bean,它可以通过继承org.apache.struts.action.ActionForm得到。form bean用来保存处理前的用户数据,或者显示返回给用户的模型数据。Struts包含有自定义的标签,它可以由创建的form bean中自动组合字段。

   在实践中用户请求JSP页面,控制器servlet接收请求并决定由哪个应用处理它。Action对象传送该请求到包含有接收商业逻辑的JavaBean中。商业逻辑bean将连接数据库并进行查询,接收结果,然后返回结果给Action对象。Action对象将结果作为请求的一部分存放到一个form bean中。一旦收集完请求的全部数据,就可以格式化结果并且显示。最后是JavaServer Page以HTML表格的形式将结果显示出来。

   模型,控制器和视图

   Struts中的控制器的基本组件是ActionServlet类中定义的servlet,它是由ActionMappings定义的。ActionMapping类表示的是Action对象的名字和位置。当一个请求进入控制器时,它将请求的路径映射到Action的位置,并且将请求传送给Action。Struts的ActionMapping类还可能包含有其它的信息,这些信息可能只是与你的应用相关,例如本地变量,环境变量或者其它URIs。

   Struts的关键是控制器周围的活动。Struts控制器servlet映射事件到类(一个事件通常是一个HTTP POST, GET,或者类似的请求)。ActionServlet是MVC设计模型的司令部,也是Structs架构的核心。ActionServlet创建和使用Action,一个ActionForm和ActionForward。struts-config.xml是用来设置Action的。在创建Web应用期间,采用扩展Action和ActionForm来解决如何响应用户请求的问题。struts-config.xml则是告诉ActionServlet如何使用扩展类。也可扩展ActionServlet以令Structs应用带有一些自定义的特性。

   这个方法有几个优点。首先,应用的整个逻辑流都是在一个分等级的文本文件中。这样就可以比较容易地查看、理解应用,特别是大的应用。第二,编写网页的人在修改网页时就无需遍历Java代码来理解应用的流程,而Java开发者在改变流程的时候也无需重新编译代码。

   ActionForm为Web应用维护session状态。ActionForm是一个抽象类,它可以被每个输入表格模型扩展。它代表数据的一般概念,可以被HTML表格设置或者更新。例如,你的应用也许拥有一个被HTML表格设置的UserActionForm。Struts的架构将检查UserActionForm是否存在,如果不存在,就会创建一个该类的实例。Structs将会使
顶端 Posted: 2007-08-10 19:14 | [楼 主]
我来我网·5come5 Forum » 程序员之家

Total 0.007940(s) query 4, Time now is:11-23 12:19, Gzip enabled
Powered by PHPWind v5.3, Localized by 5come5 Tech Team, 黔ICP备16009856号