Java企业软件教程系列

Struts专题

Struts是Apache上的一个著名的开放源代码项目。Struts是最早的MVC模式Java实现,是表现层应用最早也是最广泛的开源MVC框架,Struts分1.0和2.0两个版本,Struts最初受到广泛欢迎是1.0版本,但是2.0版本并不1.0版本兼容,这也是开源领域的一个特点吧,2.0结合了依赖注入等特点更加灵活强大,但是性能有所缺失。

  Struts是基于JSP的框架软件,有大量文章和参考资料面世,其中《Strutss in Action》一书非常值得一读。 Struts + Spring + Hibernate 号称SSH框架。

  表现层涉及很多用户界面的元素,因此比较难以实现重用。但是,有一个宗旨是:不能将功能性的代码与显示性的代码混合在一起,否则,当需要更改页面或者扩展新功能时会带来很大的修改量,甚至破坏原有系统的稳定性。
  因此,需要对表现层进行细化,可以将表现层分3个部分:
  视图(View)负责显示功能。
  控制器(Controller)根据Model处理结果,调节控制视图View的输出。
  业务对象模型(Business Object Model)是对真实世界实体的抽象,可以是一些数据,也可以是一些处理对象或事件对象。在本项目中,业务对象就是那些包含状态和行为的Javabeans

  Struts框架是结合JSP、JSP 标签库以及Servlets的MVC模式实现。MVC模式的实现核心是控制器(Controller)部分,ActionServlet是Struts的控制器的核心,它将根据来自用户的请求,调用在Strutss-config.xml中配置好的ActionMapping,从其中寻找到相应Action具体实现类。具体实现类所要做的就是要继承实现Action类中的Execute方法(已经不推荐使用perform()方法)。

  在Action类的Execute方法中,要实现两个功能:
  将用户输入的数据传递到后台处理,Struts已经把用户输入的数据封装在ActionForm类中,只要从其中读取数据,形成新的数据对象,递交给逻辑处理层来处理。 在后台处理完成后,需要根据使用Struts提供的ActionMapping来指定输出的视图(View)。