Struts是一个WebFramework那么什么是Framework?
Framework概念并不是很新了伴随着软件开发的发展在多层的软件开发项目中可重用易扩展的而且是经过良好测试的软件组件越来越为人们所青睐这意味着人们可以将充裕的时间用来分析构建业务逻辑的应用上而非繁杂的代码工程于是人们将相同类型问题的解决途径进行抽象抽取成一个应用框架这也就是我们所说的Framework
Framework的体系提供了一套明确机制从而让开发人员很容易的扩展和控制整个framework开发上的结构通常framework的结构中都有一个命令和控制组件
常见的B/SWebFramework已经有很多了其中不少也是很成功优秀作品下面列举一部分
Struts主要关注于Controller流程基于JSP与Taglib实现的View
Cocoonjakarta出品的用于处理XML的框架将XML作为View并可以良好结合XSLT
Webworkjive论坛采用的框架采用command模式进行action的转发并可结合多种view模型
Turbine同样是jakarta出品是一个基于Servlet的Framework使得java开发者可以快速安全的构建自己的网络应用采用Velocity作为表现层(Velocity一个基于Java的模版引擎)
Tapestry:一个优秀的framwork类似于dotNet中的winform使用html和一个servlet共同生成一个View
SpringSpring是一个服务于所有层面的applicationframework:提供了bean的配置基础AOP的支持JDBC的提取框架抽象事务支持等等它有一个非常显着的特点在某个层面上如果你不需要Spring的支持你就可以不使用String的class只使用它的某一部分的功能
JSFJavaServerFaces它并不算是Framework但JSF同样提供了一种不同的View生成方式它可以和多种Framework整合在JEE中JSP规范就包含了JSF标准
Framework有很多种Struts并不是我们唯一的选择我们可以根据具体的项目来选择不同的framework
之所以struts现在比较流行其主要原因是它推出的比较早版本较稳定并且是MVC及coreJEEpatterns的标准实现
将来的发展趋势很有可能是JSF+Struts+Spring+Hibernate/JDO的开发模式