随着Web开发技术的日益成熟,在Web开发领域总出现了许多软件开发框架,Struts就是一种基于MVC经典设计模式的框架,也是目前Web开发中比较成熟的一种开发框架。要使用Struts框架,首先需要了解Struts的工作原理。
   
    Struts是对JSP Model2设计标准的一种实现,下面分别从模型(Model)、试图(View)和控制器(Controller)3个部分介绍Struts的体系结构和工作原理。一般情况,Struts框架中的模型是有JavaBean或者EJB构成,视图是由JSP页面组成,控制器是由ActionServlet和Action实现。
   
    1.模型
   
    模型表示应用程序的状态和业务逻辑的处理,在一般的Web应用程序中,用JavaBean或EJB来实现系统的业务逻辑,在Struts框架中,模型层也是用JavaBean或EJN实现的。
   
    2.视图
   
    在Struts中,视图层广义上包括两个部分,即JSP页面和ActionForm.ActionForm封装了用户提交的表单信息,其实ActionForm在本质上就是JavaBean,在这些JavaBean中没有具体的业务逻辑。只提供了所有属性的getter和setter方法,这些属性和用户表单中的输入项是一一对应的。在Struts中就是通过ActionForm把用户的表单信息提交给控制器的。
   
    Struts中的视图组件包括JSP页面,这也是经典MVC模式中主要的视图组件,这些JSP页面承担了信息展示和控制器处理结果显示的功能。
   
    3.控制器
   
    Struts框架中主要的控制器是ActionServlet,它处理用户端发送过来的所有请求。当ActionServlet接受到来自浏览器端的请求以后,会根据struts-config.xml这个配置文件寻求匹配的URL,然后把用户的请求发送到合适的控制器中。
   
    Struts框架就是通过控制器ActionServlet完成模型层和业务逻辑层的分离,从而降低了Web应用程序的耦合度,实现了MVC的经典架构。