JAVA各大框架解释
- 格式:pdf
- 大小:189.72 KB
- 文档页数:10
J2EE表示层技术JSFJavaServer Faces(JSF)是一种用于构建Web应用程序的新标准Java框架。
它提供了一种以组件为中心来开发Java Web用户界面的方法,从而简化了开发。
JavaServer Faces还引起了广大Java/Web开发人员的兴趣。
“企业开发人员”和Web设计人员将发现JSF开发可以简单到只需将用户界面(UI)组件拖放到页面上,而“系统开发人员”将发现丰富而强健的JSF API为他们提供了无与伦比的功能和编程灵活性。
JSF还通过将良好构建的模型-视图-控制器(MVC)设计模式集成到它的体系结构中,确保了应用程序具有更高的可维护性。
最后,由于JSF是通过Java Community Process(JCP)开发的一种Java标准,因此开发工具供应商完全能够为JavaServer Faces提供易于使用的、高效的可视化开发环境。
Struts2Struts2是一个web应用框架。
它不是一个Struts的新的发布版本,而是一个全新的框架。
Struts2是第二代基于Model-View-Controller(MVC)模型的web应用框架。
Struts2是java企业级web应用的可扩展性的框架。
它是WebWork和Struts社区合并后的产物。
这一版本的Struts2声称,Struts2会接近于原先版本Struts,并且会更容易使用。
Struts2没有继承struts1的血统,而是继承了webwork的血统。
Struts2和Struts的构建是社区开发模式的最好实践和证明。
事实上,第一版本的Struts设计的第一目标就是使MVC模式应用于web程序设计。
在过去10年,Struts在更好的web应用方面所做的工作是值得肯定的。
在某些方面,Struts社区注意到这一框架的局限性,但在这个活跃的社区里,自动识别弱点和顽强不屈的精神,使得克服这些弱点是不困难的。
在深入学习MVC运行模式并同时引入一些新的建筑学方面的设计理念后,新的Struts2框架结构更清晰,使用更灵活方便。
这一新的结构包含应用逻辑的横切面拦截器,基于注释的配置以减少和去除XML形式的配置文件,功能强大的表达式语言,支持可更改、可重用UI组件的基于微MVC的标签库。
Struts2有两方面的技术优势,一是所有的Struts2应用程序都是基于client/server HTTP交换协议,The Java Servlet API揭示了Java Servlet只是Java API的一个很小子集,这样我们可以在业务逻辑部分使用功能强大的Java语言进行程序设计。
更多Struts2信息StrutsStruts是一个基于Sun J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。
由于Struts能充分满足应用开发的需求,简单易用,敏捷迅速,在过去的一年中颇受关注。
Struts把Servlet、JSP、自定义标签和信息资源(message resources)整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大的节省了时间,所以说Struts是一个非常不错的应用框架。
【StrutsIDE:用于Struts辅助开发的一个Eclipse插件】更多Struts信息EasyJWebEasyJWeb是基于java技术,应用于WEB应用程序快速开发的MVC框架,框架设计构思来源于国内众多项目实践,框架充分借签了当前主要流行的开源Web框架(Struts、JSF、Tapestry、Webwork),吸取了其优点及精华,利用Velocity作为模板页面引擎,是一个实现了页面及代码完全分离的MVC开发框架。
是一个能实现中小型Web应用系统快速开发的简易Web框架。
通过EasyJWeb Tools提供的配套开发工具,可以实现基于EasyJWeb框架的Web 应用快速开发,包括常用应用软件的代码自生成、数据库添删改查(CRUD)代码生成、自动页面模版生成、配置文件管理等。
框架特点:1、零配文件置支持。
以前我们每接触一个框架,开始总都要被他的配置文件折腾一番。
EasyJWeb实现零配置支持,可以不写一句配置文件就在框架基础上构建你的运用。
(适合小型网站系统)。
2、简易的模板页面设计支持:放弃使用jsp,使用简单Velocity脚本语言作为页面模板。
3、页面程序完全分离:实现显示页面与程序逻辑的完全分离,克服了传统jsp页面难于维护的问题。
4、基于页面组件的框架。
灵活的页面组件配置,可以直接通过配置文件设置字段级的事件组件。
5、快速开发支持:通过EasyJWeb Tools,可以自动生成应用软件模板代码,定制并管理自己的J2EE代码模板,代码生成模板支持最流行的实用Java开发框架(如hibernate、Spring等)实现快速开发。
更多EasyJWeb信息TapestryTapestry是一个开源的基于servlet的应用程序框架,它使用组件对象模型来创建动态的,交互的web应用。
一个组件就是任意一个带有jwcid属性的html标记。
其中jwc的意思是Java Web Component。
Tapestry使得java代码与html完全分离,利用这个框架开发大型应用变得轻而易举。
并且开发的应用很容易维护和升级。
Tapestry支持本地化,其错误报告也很详细。
Tapestry主要利用javabean和xml技术进行开发。
【Spindle:Tapestry 辅助开发Eclipse插件】.更多Tapestry信息CocoonStefano Mazzocchi于1999年1月创建了Cocoon项目,将其作为ASF之下的开放源代码项目。
Cocoon的目标是帮助分离内容格式、逻辑和对基于XML网站的管理功能。
Cocoon 使用XML,Extensible Stylesheet Language Transformations(XSLT),以及Simple API for XML(SAX)技术,以帮助创建、部署和维护XML服务器应用程序。
它支持大多数类型的数据源,包括RDBMS、LDAP和文件系统。
在Eclipseh下进行开发的插件更多Cocoon信息EchoEcho是为用Java开发Web应用程序提供的一个面向对象,事件驱动的框架。
使用Echo框架来编程类似于使用Swing API来开发应用程序或applets。
更多Echo信息TurbineTurbine是基于Servlet的框架包,也是开放源代码Jakarta项目。
目前还没有关于Turbine 的大量文档。
它类似于Struts,但是有一些主要区别。
突出的一点就是它并没有与JSP耦合。
Turbine的特点是它提供了大量可重用的组件。
此框架包中包含了大量组件,但是这些组件是离散的。
它似乎应该给出更多的组件库,但是由于它缺少文档,所以很难掌握完整的体系结构。
更多Turbine信息MyFacesMyFaces是JavaServer(tm)Faces(JSF)Web框架(JSR127)的一个实现。
JavaServer(tm)Faces Web框架是一个新的实现MVC模式的规范.它可以与Struts框架相媲美甚至的一些特性与观念已经超过了Struts.【FacesIDE:Eclipse下的一个辅助开发插件】.更多MyFaces信息JPublishJPublish是一个功能强大的Web发布系统,设计为确保开发者角色的清晰的分离。
JPublish 支持多模板引擎,包括Jakarta Apache's Velocity,FreeMarker and WebMacro。
JPublish支持众多脚本语言,包括Python,BeanShell,and JavaScript。
更多JPublish信息JappleJapple是一个建造Web应用程序和服务的快速应用程序开发环境。
Japple在Java2平台和开放标准之上建造,和传统方法相比可以让你更快、更容易、更有效地开发和部署Web 应用程序。
更多Japple信息Jaffa是为快速应用程序开发提供的一个企业Java框架。
JAFFA是一个Java Web应用程序开发框架,用基于MVC为基础的Web窗口部件来扩展现存的项目。
更多Jaffa信息AnvilAnvil是一个基于Java的为Web程序开发的平台,独立或伺服式都是可部署的。
它包括大量功能齐全的面向对象的编程语言。
语言的一个子集也可用于一个以tag为基础的模板语言。
所有的脚本和模板都被汇编为Java比特代码。
更多Anvil信息SiteMeshSiteMesh是一个网页布局和修饰的框架,利用它可以将网页的内容和页面结构分离,以达到页面结构共享的目的。
Sitemesh是由一个基于Web页面布局、装饰以及与现存Web应用整合的框架。
它能帮助我们在由大量页面构成的项目中创建一致的页面布局和外观,如一致的导航条,一致的banner,一致的版权,等等。
它不仅仅能处理动态的内容,如jsp,php,asp等产生的内容,它也能处理静态的内容,如htm的内容,使得它的内容也符合你的页面结构的要求。
甚至于它能将HTML文件象include那样将该文件作为一个面板的形式嵌入到别的文件中去。
更多SiteMesh信息BarracudaBarracuda是一个HTML DOM Component+Event/Listener结构的框架。
根据模板文件或配置文件生成静态Java类,并在代码中使用这些生成类,Barracuda需要用XMLC项目把所有的HTML或WML模板文件,静态编译成DOM结构的Java类,作为页面组件。
XMLC会根据HTML元素的id定义,生成相应DOM结点的简便操作方法。
Barracuda的事件类也需要用Barracuda Event Builder工具把event.xml编译成Java类,引入到工程中。
Barracuda直接用Java类的继承关系映射事件之间的父子层次关系。
比如,ChildEvent是ParentEvent的子类。
Barracuda的事件分为两类:Request Events (Control Events)和Response Events(View Events)。
Barracuda事件处理过程类似于Windows系统消息队列的处理机制。
更多Barracuda信息MaverickMaverick是一个轻量而完备的MVC Model2框架。
Maverick的Action称作Controller。
Controller只接受一个ControllerContext参数。
request,response,servlet config, servelt context等输入信息都包装在ControllerContext里面,而且Model也通过ControllerContext的model属性返回。