没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
附件 1:外文资料翻译译文
Struts——一种开源 MVC 的实现
这篇文章介绍 Struts , 一 个 使用 servlet 和 JavaServer Pages 技 术 的一种
Model-View-Controller 的实现。Struts 可以帮助你控制 Web 项目中的变化并提高专
业化。即使你可能永远不会用 Struts 实现一个系统,你可以获得一些想法用于你未
来的 servlet 和 JSP 网页的实现中。
简介
在小学校园里的小孩子们都可以在因特网上发布 HTML 网页。然而,有一个
重大的不同在一个小学生和一个专业人士开发的网站之间。网页设计师(或者
HTML 开发人员)必须理解颜色、用户、生产流程、网页布局、浏览器兼容性、
图像创建、JavaScript 等等。设计漂亮的网站需要做大量的工作,大多数 Java 开发
人员更注重创建优美的对象接口,而不是用户界面。JavaServer Pages (JSP) 技术为
网页设计人员和 Java 开发人员提供了一种联系钮带。
如果你开发过大型 Web 应用程序,你就理解“变化”这个词语。“模型-视图-控
制器”(MVC) 就是用来帮助你控制变化的一种设计模式。MVC 减弱了业务逻辑接
口和数据接口之间的耦合。Struts 是一种 MVC 实现,它将 Servlet 2.2 和 JSP 1.1 标
记(属于 J2EE 规范)用作实现的一部分。你可能永远不会用 Struts 实现一个系统,
但了解一下 Struts 或许使你能将其中的一些思想用于你以后的 Servlet 和 JSP 实现
中。
模型-视图-控制器 (MVC)
JSP 标签只解决了我们问题中的一部分。我们依然有验证、流控制、以及更新
应用程序结构的问题。这就是 MVC 从哪儿来以及来干嘛的。MVC 通过把问题分
成三类来帮助解决一些与单模块相关的问题:
Model(模型)
模块包括应用程序功能的核心。模型封装着应用程序的各个结构。有时它
所包含的唯一功能就是结构。它对于视图或者控制器一无所知。
View(视图)
视图提供了模型的演示。它是应用程序的外表。视图可以进入模型获得者,
但是它对于设置者一无所知。除此之外,它对于控制器也是一无所知。视
图仅仅当模型发生改变的时候才被通知。
Controller(控制器)
控制器对于用户的输入做出反应。它创造和设置模型。
MVC 模型 2
Web 给软件开发人员带来了一些独特的挑战,最显著的就是客户端和服务器
端的无结构连接。这种无结构连接行为使得模型很难知道视图的改变。在 Web 上,
浏览器必须重复询问服务器端以此来发现应用程序结构的改变。
另外一个显而易见的改变就是相对于模型或者控制器,视图采用了不同的技
术。当然,我们可以使用 Java(或者 PERL、C/C++ 或之前的其他代码)代码来生
成 HTML。这种方法存在一些弊端:
Java 程序员应该开发服务,而不是 HTML。
布局的改变将需要改变代码。
服务的客户将有能力去创造一些页面去满足他们的一些特殊需求。
页面设计人员将不能直接介入到页面的开发中。
嵌入在代码中的 HTML 将会变得丑陋。
对于 Web,MVC 的经典形式将需要改变。图 4 展示了 MVC 的 Web 适应,也
就是通常所说的 MVC 模型 2 或者 MVC 2。.
图 4. MVC 模型 2
Struts,MVC 2 的一种实现
Struts 是一组相互协作的类、servlet 和 JSP 标记,它们组成一个可重用的
MVC 2 设计。这个定义表示 Struts 是一个框架,而不是一个库,但 Struts 也包含
了丰富的标记库和独立于该框架工作的实用程序类。图 5 显示了 Struts 的一个概览。
图 5. Struts 概览
Struts 概览
客户端浏览器
一个来自客户端浏览器的 HTTP 创建一个事件。Web 容器将会用一个 HTTP
响应来作出响应。
控制器
控制器接收来自浏览器的请求,并决定发送请求到何处。就 Struts 而言,控
制器就是一个以 servlet 执行的一个命令设计模式。 struts-config.xml 文件配
置控制器。
业务逻辑
业务逻辑更新模型的状态,并帮助控制应用程序的流。就 Struts 而言,这就
是通过作为实际业务逻辑“瘦”包装的 Action 类完成的。
模型状态
模型代表了应用程序的状态。业务对象更新应用程序的状态。ActionForm
bean 在会话级或请求级表示模型的状态,而不是在持久级。JSP 文件使用
JSP 标记读取来自 ActionForm bean 的信息。
视图
视图就是一个 JSP 文件。其中没有流程逻辑,没有业务逻辑,也没有模型
信息 -- 只有标记。标记是使 Struts 有别于其他框架(如 Velocity)的因素之
一。
Struts 详细资料
在图 6 中展示了一个无其他附属设备的阿帕奇 struts 的 action 包的 UML 图表。
图 6 显示了 ActionServlet (Controller)、 ActionForm (Form State) 和 Action (Model
Wrapper) 之间的最小关系。
图 6. 命令(ActionServlet) 与 模型 (Action & ActionForm) 之间的关系
剩余16页未读,继续阅读
bloody_monday
- 粉丝: 1
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
- 5
- 6
前往页