WebWork
WebWork 是由 OpenSymphony 组织开发的, 致力于组件化和代码重用的拉出式 MVC 模式 J2EE Web框架。 WebWork 目前最新版本是 2.1, 现在的 WebWork2.x 前身是 Rickard Oberg开发的 WebWork ,但现在 WebWork 已经被拆分成了 Xwork1和 WebWork2两个项目。 Xwork 简洁、灵活功能强大,它是一个标准的 Command 模式实现,并且完全从 web 层脱 离出来。 Xwork 提供了很多核心功能:前端拦截机(interceptor ,运行时表单属性验证, 类型转换,强大的表达式语言(OGNL – the Object Graph Notation Language , IoC (Inversion of Control倒置控制 容器等。 WebWork2建立在 Xwork 之上, 处理 HTTP 的 响应和请求。 WebWork2使用 ServletDispatcher 将 HTTP 请求的变成 Action(业务层 Action 类 , session(会话 application (应用程序 范围的映射, request 请求参数映射。 WebWork2支持多视图表示,视图部分可以使用 JSP , Velocity, FreeMarker, JasperReports, XML 等。 在 WebWork2.2中添加了对 AJAX 的支持,这支持 ?**菇ㄔ贒 WR 与 Dojo 这两个框架的基 础之上 . 【 EclipseWork :用于 WebWork 辅助开发的一个 Eclipse 插件】
Struts
Struts 是一个基于 Sun J2EE平台的 MVC 框架, 主要是采用 Servlet 和 JSP 技术来实现的。 由于 Struts 能充分满足应用开发的需求,简单易用,敏捷迅速,在过去的一年中颇受关注。 Struts 把 Servlet 、 JSP 、自定义标签和信息资源 (message resources 整合到一个统一的框 架中, 开发人员利用其进行开发时不用再自己编码实现全套 MVC 模式, 极大的节省了时间, 所以说 Struts 是一个非常不错的应用框架。 【 StrutsIDE :用于 Struts 辅助开发的一个 Eclipse 插件】
EasyJWeb
EasyJWeb 是基于 java 技术, 应用于 WEB 应用程序快速开发的 MVC 框架, 框架设计构思 来源于国内众多项目实践,框架充分借签了当前主要流行的开源 Web 框架(Struts 、 JSF 、 Tapestry 、 Webwork ,吸取了其优点及精华,利用 Velocity 作为模板页面引擎,是一个实 现了页面及代码完全分离的 MVC 开发框架。是一个能实现中小型 Web 应用系统快速开发 的简易 Web 框架。java和jsp
通过 EasyJWeb Tools提供的配套开发工具,可以实现基于 EasyJWeb 框架的 Web 应 用快速开发,包括常用应用软件的代码自生成、数据库添删改查(CRUD 代码生成、自动 页面模
版生成、配置文件管理等。
框架特点:
1、 零配文件置支持。 以前我们每接触一个框架, 开始总都要被他的配置文件折腾一番。 EasyJWeb 实现零配置支持,可以不写一句配置文件就在框架基础上构建你的运用。 (适合 小型网站系统 。
2、 简易的模板页面设计支持:放弃使用 jsp , 使用简单 Velocity 脚本语言作为页面模板。
3、页面程序完全分离:实现显示页面与程序逻辑的完全分离,克服了传统 jsp 页面难 于维护的问题。
4、基于页面组件的框架。灵活的页面组件配置,可以直接通过配置文件设置字段级的 事件组件。
5、快速开发支持:通过 EasyJWeb Tools ,可以自动生成应用软件模板代码,定制并 管理自己的 J2EE 代码模板, 代码生成模板支持最流行的实用 Java 开发框架 (如 hibernate 、 Spring 等 实现快速开发。
Tapestry Tapestry是一个开源的基于 servlet 的应用程序框架,它使用组件对象模型来创建 动态的,交互的 web 应用。一个组件就是任意一个带有 jwcid 属性的 html 标记。其中 jwc 的意思是 Java Web Component。 Tapestry 使得 java 代码与 html 完全分离, 利用这个框架 开发大型应用变得轻而易举。 并且开发的应用很容易维护和升级。 Tapestry 支持本地化, 其 错误报告也很详细。 Tapestry 主要利用 javabean 和 xml 技术进行开发。 【 Spindle:Tapestry辅助开发 Eclipse 插件】 .
Cocoon
Stefano Mazzocchi于 1999年 1月创建了 Cocoon 项目, 将其作为 ASF 之下的开放源代码 项目。 Cocoon 的目标是帮助分离内容格式、逻辑和对基于 XML 网站的管理功能。 Cocoon 使用 XML, Extensible Stylesheet Language Transformations (XSLT, 以及 Simple API for XML (SAX 技术, 以帮助创建、 部署和维护 XML 服务器应用程序。 它支持大多数类型的数 据源,包括 RDBMS 、 LDAP 和文件系统。在 Eclipseh 下进行开发的插件
Echo Echo 是为用 Java 开发 Web 应用程序提供的一个面向对象 , 事件驱动的框架。使用 Echo 框架来编程类似于使用 Swing API来开发应用程序或 applets 。
Turbine
Turbine 是基于 Servlet 的框架包,也是开放源代码 Jakarta 项目。目前还没有关于 Turbine 的大量文档。它类似于 Struts ,但是有一些主要区别。突出的一点就是它并没有与 JSP 耦 合。 Turbine 的特点是它提供了大量可重用的组件。此框架包中包含了大量组件,但是这些 组件是离散的。 它似乎应该给出更多的组件库, 但是由于它缺少文档, 所以很难掌握完整的 体系结构。
MyFaces
MyFaces 是 JavaServer(tm Faces(JSF Web框架 (JSR 127的一个实现。 JavaServer(tm Faces Web 框架是一个新的实现 MVC 模式的规范 . 它可以与 Struts 框架相媲美甚至的一些 特性与观念已经超过了 Struts. 【 FacesIDE :Eclipse 下的一个辅助开发插件】 .
JPublish
JPublish 是一个功能强大的 Web 发布系统, 设计为确保开发者角的清晰的分离。 JPublish 支持多模板引擎,包括 Jakarta Apache's Velocity, FreeMarker and WebMacro。 J
Publish 支持众多脚本语言,包括 Python, BeanShell, and JavaScript。
Japple
Japple 是一个建造 Web 应用程序和服务的快速应用程序开发环境。 Japple 在 Java2平 台和开放标准之上建造, 和传统方法相比可以让你更快、 更容易、 更有效地开发和部署 Web
应用程序。
Jaffa 是为快速应用程序开发提供的一个企业 Java 框架。 JAFFA 是一个 Java Web 应 用程序开发框架,用基于 MVC 为基础的 Web 窗口部件来扩展现存的项目。
Anvil
Anvil 是一个基于 Java 的为 Web 程序开发的平台,独立或伺服式都是可部署的。它包括 大量功能齐全的面向对象的编程语言。 语言的一个子集也可用于一个以 tag 为基础的模板语 言。所有的脚本和模板都被汇编为 Java 比特代码。
SiteMesh
OS(OpenSymphony的 SiteMesh 是一个用来在 JSP 中实现页面布局和装饰 (layout and decoration 的框架组件,能够帮助网站开发人员较容易实现页面中动态内容和静态装饰外 观的分离。
Barracuda
Barracuda 是一个 HTML DOM Component + Event/Listener结构的框架。根据模板文件 或配置文件生成静态 Java 类,并在代码中使用这些生成类, Barracuda 需要用 XMLC 项目 把所有的 HTML 或 WML 模板文件, 静态编译成 DOM 结构的 Java 类, 作为页面组件。 XMLC 会根据 HTML 元素的 id 定义,生成相应 DOM 结点的简便操作方法。 Barracuda 的事件类 也需要用 Barracuda Event Builder 工具把 l 编译成 Java 类,引入到工程中。 Barracuda 直接用 Java 类的继承关系映射事件之间的父子层次关系。比如, ChildEvent 是 ParentEvent 的子类。 Barracuda 的事件分为两类:Request Events (Control Events 和 Response Events (View Events 。 Barracuda 事件处理过程类似于 Windows 系统消息队 列的处理机制。
Maverick
Maverick 是一个轻量而完备的 MVC Model 2框架。 Maverick 的 Action 称作 Controller 。 Controller 只接受一个 ControllerContext 参数。 request , response, servlet config, servelt context 等输入信息都包装在 ControllerContext 里面, 而且 Model 也通过 ControllerContext 的 model 属性返回。整个编程结构清晰。但由于 ControllerContext 只有一个 model 属性可 以传递数据,程序员必须把所有需要的数据都打包在一个对象里面设置到 model 属性里。 这种麻烦自然而然会导致这样的可能用法, 直接把 Controller 本身设置为 model , 这又回到 了 Controller(Action和 Model 一体。
Spring MVC
Spring MVC是结构最清晰的 MVC Model 2实现。它的 Action 也不叫 Action ,而是称做 Controller ; Controller 接收 request, response参数, 然后返回 ModelAndView (其中的 Model 不是 Object 类型,而是 Map 类型 。但在其它的 Web Framework 中, Action 返回值一般 都只是一个 View Name; Model 则需要通过其它的途径(如 request.attribute , Context 参 数,或 Action 本身的属性数据传递上去。
Shocks
Shocks 是一个开放源码的开发框架,目的是减少 Java Servlet 应用的复杂性。 Shocks
并不是 MVC 模式的开发框架,而是采用下一代的体系结构,明确分开了内部各个组件的 角。 该项目目前还不够成熟, 但值得关注。 这里只是简单介绍, 如果你要快速了解 Shocks , 请阅读 Shocks 的 FAQ ,里面讲解了 Shocks 与 Struts , Webwork , Spring 的关系和差 异。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论