簡單做一個SimpleFramework和Struts的比較
比較項 |
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 可結合客戶端框架使用 |
可擴展性 |
可自定義或擴展組件 可按照一定規范整合第三方組件資源 |
|
可積累性 |
可整合既有應用資源 可將模塊/某類應用封裝為組件 |
|