Struts Framework 作为著名的SSH三大框架之一,自然而然的也具有这些开源框架的的优势。
1)• 良好的架构和设计
2)• 可重用,模块化,扩展性好
3)• Open source
•Struts有其自己的控制器(Controller),同时整合了其他的一些技术去实现模型层(Model)和视图层(View)。在模型层,Struts可以很容易的与数据访问技术相结合,包括EJB,JDBC等。在视图层,Struts能够与JSP表示层组件相结合。
•Struts有一组相互协作的类、Servlet以及Jsp TagLib组成。基于Struts构架的web应用程序基本上符合JSP Model2的设计标准,可以说是MVC设计模式的一种变化类型。根据上一篇文章对Framework的描述,我们很容易理解为什么说Struts是一个web framework,而不仅仅是一些标记库的组合。
•说到jsp Model,我们就要说到java web应用结构的发展
1)• 阶段1:JSP是一个独立的、自主完成所有任务的模块
2)• 阶段2:JSP Model1
3)• 阶段3:JSP Model2
• 早期的Java Web应用中,JSP文件同时负责生成网页、控制到下一个网页的流程,以及负责业务逻辑,这给Web开发带来一系列问题:
–HTML 和 Java 强耦合在一起,JSP 文件的编写者必须既是网页设计者,又是 Java 开发者。
–可读性差。
–调试困难。
–不利于维护,更改业务逻辑或数据可能牵涉相关的多个网页。
• 等到发展到jsp Model 2的时候
-JSP负责生成动态网页
- Servlet负责流程控制
- JavaBean负责业务逻辑
其架构就比较的清晰了,已经符合了我们现在所说的MVC设计模式,这也是我们现在一直在用的这种设计模式。
最后一点:Struts和Web App的关系
既然struts叫做web framework,那么其肯定主要基于web层的应用系统开发。按照J2EEArchitecture 的标准,struts 应当和jsp/servlet一样,存在于web container一层,实际上也是这样的。
struts的一些基本知识今天就说到这,下一篇讲开始介绍struts在实际开发中的应用。