简单做一个SimpleFramework和Struts的比较

13年前

比较项

SimpleFramework

Structs

实现模式

Filter-based MVC2

MVC

实现方式

基于组件,每一个组件派生出不同的业务接口

基于请求,仅提供请求Action接口

页面技术

支持纯HTML、主流页面技术(JSP、标签库等)

 

通过CSS Selector实现页面元素和后台组件Render产生的代码绑定

每一Action类定义了一Abstraction,但该Abstraction是由HTTP协议的请求机制决定的。

输出HTML需掌握主流的页面技术(JSP/JSF/自定义标签等)

Servlet API和HTTP协议抽象

包装成ComponentParameter对象,由ComponentParameter对象和组件交互

 

ComponentParameter对象中含有HTTPServletRequest和HttpServletResponse

 

围绕组件业务接口建立应用

未隐藏Servlet API和HTTP协议细节。Action须和HTTPServletRequest、HttpServletResponse 和HttpSession类交互。

 

围绕请求和响应建立应用

配置方法

组件声明以配置文件的形式存在,可以理解为把标签库单独拿出作为一个独立的文件

一个或多个配置文件或注释

标签库

无标签

Struts+JSTL标签库

AJAX支持

内嵌AJAX引擎

不支持;可整合其他AJAX框架

开放性

可和其它Web框架组合应用

可与第三方Taglib组合使用

可结合客户端框架使用

可结合第三方Taglib

可结合客户端框架使用

可扩展性

可自定义或扩展组件

可按照一定规范整合第三方组件资源

 

可积累性

可整合既有应用资源

可将模块/某类应用封装为组件