下一页 1 2 3 4
一、概述
在Struts 架构中,Controller主要是ActionServlet,但是对于业务逻辑的操作则主要由Action、ActionMapping、ActionForward这几个组件协调完成。
其中,Action扮演了真正的业务逻辑的实现者,而ActionMapping和ActionForward则指定了不同业务逻辑或流程的运行方向。
应用程序的 Controller 部分集中于从客户端接收请求(典型情况下是一个运行浏览器的用户),决定执行什么商业逻辑功能,然后将产生下一步用户界面的责任委派给一个适当的View组件。在Struts中,controller的基本组件是一个 ActionServlet 类的servlet。这个servlet通过定义一组映射(由Java接口 ActionMapping 描述)来配置。每个映射定义一个与所请求的URI相匹配的路径和一个 Action 类(一个实现 Action 接口的类)完整的类名,这个类负责执行预期的商业逻辑,然后将控制分派给适当的View组件来创建响应。
Struts也支持使用包含有运行框架所必需的标准属性之外的附加属性的 ActionMapping 类的能力。这允许我们保存特定于我们的应用程序的附加信息,同时仍可利用框架其余的特性。另外,Struts允许我们定义控制将重定向到的逻辑名,这样一个行为方法可以请求"主菜单"页面,而不需要知道相应的JSP页面的实际名字是什么。这个功能极大地帮助我们分离控制逻辑(下一步做什么)和显示逻辑(相应的页面的名称是什么)。下图1是Struts的controller组件示意图: