Struts 框架可分为以下四个主要部分,其中三个部分和 MVC 模式紧密相关: <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

1.       模型层 (Model) ,本质上来说在 Struts Model 是一个 Action 类,开发者通过其实现商业逻辑,同时用户请求通过控制器 (Controller) Action 的转发过程是基于由 struts-config.xml 文件描述的配置信息的。 struts框架中, 模型分为两个部分: 1) 系统的内部状态, 2) 可以改变状态的操作(事务逻辑)。内部状态通常由一组 ActinForm JavaBean 表示。根据设计或应用程序复杂度的不同,这些 Bean 可以是自包含的并具有持续的状态,或只在需要时才获得数据(从某个数据库)。大型应用程序通常在方法内部封装事务逻辑(操作),这些方法可以被拥有状态信息的 bean 调用。

 

2.       视图 (View) View 是由与控制器 Servlet 配合工作的一整套 JSP 定制标签库构成,利用这些标签可以快速建立应用系统的界面。

 

3.       控制器 (Controller) ,本质上是一个 Servlet ,将客户端请求转发到相应的 Action 类。 struts 中,基本的控制器组件是 ActionServlet 类中的实例 servelet ,实际使用的 servlet 在配置文件中由一组映射(由 ActionMapping 类进行描述)进行定义。

 

4.       一堆用来做 XML 文件解析的工具包, Struts 是用 XML 来描述如何自动产生一些 JavaBean 的属性的,此外 Struts 还利用 XML 来描述在国际化应用中的用户提示信息的 ( 这样一来就实现了应用系统的国际化 )

 

使用 Struts 的主要优点:

1.       开源软件,这是它的一大优点。使开发者能更深入的了解其内部实现机制。

2.       Taglib Struts 的标记库,灵活应用,能大大提高开发效率。另外,就目前国内的 JSP 开发者而言,除了使用 JSP 自带的常用标记外,很少开发自己的标记,或许 Struts 是一个很好的起点。

3.       页面导航,使系统的脉络更加清晰。通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处。尤其是当另一批开发者接手这个项目时,这种优势体现得更加明显。

 

对于 Struts 来说, MVC 架构的使用,分工明确,逻辑清晰,加上适当的注解,通过一个配置文件,就不难做到把握整个系统各部分之间的联系,这对于后期的维护和扩展有着莫大的好处。