知道有它就好,先掌握自己工作和主流的框架;
在研究好用和新框架。
152款框架,你还知道其他的吗?
留言你用过的web框架
Java开源web框架汇总
1
Struts2
Struts2是一个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/serverHTTP交换协议,TheJavaServletAPI揭示了JavaServlet只是JavaAPI的一个很小子集,这样我们可以在业务逻辑部分使用功能强大的Java语言进行程序设计。
2
Struts
3
EasyJWeb
通过EasyJWebTools提供的配套开发工具,可以实现基于EasyJWeb框架的Web应用快速开发,包括常用应用软件的代码自生成、数据库添删改查(CRUD)代码生成、自动页面模版生成、配置文件管理等。
框架特点:
1、零配文件置支持。以前我们每接触一个框架,开始总都要被他的配置文件折腾一番。EasyJWeb实现零配置支持,可以不写一句配置文件就在框架基础上构建你的运用。(适合小型网站系统)。
2、简易的模板页面设计支持:放弃使用jsp,使用简单Velocity脚本语言作为页面模板。
3、页面程序完全分离:实现显示页面与程序逻辑的完全分离,克服了传统jsp页面难于维护的问题。
4、基于页面组件的框架。灵活的页面组件配置,可以直接通过配置文件设置字段级的事件组件。
5、快速开发支持:通过EasyJWebTools,可以自动生成应用软件模板代码,定制并管理自己的J2EE代码模板,代码生成模板支持最流行的实用Java开发框架(如hibernate、Spring等)实现快速开发。
4
Tapestrt
Tapestry是一个开源的基于servlet的应用程序框架,它使用组件对象模型来创建动态的,交互的web应用。一个组件就是任意一个带有jwcid属性的html标记。其中jwc的意思是JavaWebComponent。Tapestry使得java代码与html完全分离,利用这个框架开发大型应用变得轻而易举。并且开发的应用很容易维护和升级。Tapestry支持本地化,其错误报告也很详细。Tapestry主要利用javabean和xml技术进行开发。【Spindle:Tapestry辅助开发Eclipse插件】
5
Cocoon
StefanoMazzocchi于1999年1月创建了Cocoon项目,将其作为ASF之下的开放源代码项目。Cocoon的目标是帮助分离内容格式、逻辑和对基于XML网站的管理功能。Cocoon使用XML,ExtensibleStylesheetLanguageTransformations(XSLT),以及SimpleAPIforXML(SAX)技术,以帮助创建、部署和维护XML服务器应用程序。它支持大多数类型的数据源,包括RDBMS、LDAP和文件系统。在Eclipseh下进行开发的插件
6
Echo
Echo是为用Java开发Web应用程序提供的一个面向对象,事件驱动的框架。使用Echo框架来编程类似于使用SwingAPI来开发应用程序或applets。
7
Turbine
Turbine是基于Servlet的框架包,也是开放源代码Jakarta项目。目前还没有关于Turbine的大量文档。它类似于Struts,但是有一些主要区别。突出的一点就是它并没有与JSP耦合。Turbine的特点是它提供了大量可重用的组件。此框架包中包含了大量组件,但是这些组件是离散的。它似乎应该给出更多的组件库,但是由于它缺少文档,所以很难掌握完整的体系结构。
8
MyFaces
MyFaces是JavaServer(tm)Faces(JSF)Web框架(JSR127)的一个实现。JavaServer(tm)FacesWeb框架是一个新的实现MVC模式的规范.它可以与Struts框架相媲美甚至的一些特性与观念已经超过了Struts.【FacesIDE:Eclipse下的一个辅助开发插件】
9
JPublish
10
Japple
Japple是一个建造Web应用程序和服务的快速应用程序开发环境。Japple在Java2平台和开放标准之上建造,和传统方法相比可以让你更快、更容易、更有效地开发和部署Web应用程序。
11
Jaffa
是为快速应用程序开发提供的一个企业Java框架。JAFFA是一个JavaWeb应用程序开发框架,用基于MVC为基础的Web窗口部件来扩展现存的项目。
12
Anvil
Anvil是一个基于Java的为Web程序开发的平台,独立或伺服式都是可部署的。它包括大量功能齐全的面向对象的编程语言。语言的一个子集也可用于一个以tag为基础的模板语言。所有的脚本和模板都被汇编为Java比特代码。
13
SiteMesh
它不仅仅能处理动态的内容,如jsp,php,asp等产生的内容,它也能处理静态的内容,如htm的内容,使得它的内容也符合你的页面结构的要求。甚至于它能将HTML文件象include那样将该文件作为一个面板的形式嵌入到别的文件中去。
14
Barracuda
Barracuda是一个HTMLDOMComponent+Event/Listener结构的框架。根据模板文件或配置文件生成静态Java类,并在代码中使用这些生成类,Barracuda需要用XMLC项目把所有的HTML或WML模板文件,静态编译成DOM结构的Java类,作为页面组件。XMLC会根据HTML元素的id定义,生成相应DOM结点的简便操作方法。Barracuda的事件类也需要用BarracudaEventBuilder工具把event.xml编译成Java类,引入到工程中。Barracuda直接用Java类的继承关系映射事件之间的父子层次关系。比如,ChildEvent是ParentEvent的子类。Barracuda的事件分为两类:RequestEvents(ControlEvents)和ResponseEvents(ViewEvents)。Barracuda事件处理过程类似于Windows系统消息队列的处理机制。
15
Maverick
Maverick是一个轻量而完备的MVCModel2框架。Maverick的Action称作Controller。Controller只接受一个ControllerContext参数。request,response,servletconfig,serveltcontext等输入信息都包装在ControllerContext里面,而且Model也通过ControllerContext的model属性返回。整个编程结构清晰。但由于ControllerContext只有一个model属性可以传递数据,程序员必须把所有需要的数据都打包在一个对象里面设置到model属性里。这种麻烦自然而然会导致这样的可能用法,直接把Controller本身设置为model,这又回到了Controller(Action)和Model一体。
16
SpringMVC
SpringMVC是结构最清晰的MVCModel2实现。它的Action也不叫Action,而是称做Controller;Controller接收request,response参数,然后返回ModelAndView(其中的Model不是Object类型,而是Map类型)。但在其它的WebFramework中,Action返回值一般都只是一个ViewName;Model则需要通过其它的途径(如request.attribute,Context参数,或Action本身的属性数据)传递上去。
17
Shocks
18
WebCream
WebCream提供基于Java应用程序和Applet的webGUI,允许开发人员利用AWT和Swing实现GUI前端应用程序,同时自动地使HTML访问该应用程序。
19
AppFuse
AppFuse是一个集成了众多当前最流行开源框架与工具(包括Hibernate、ibatis、Struts、Spring、DBUnit、Ant、Log4J、StrutsMenu、Xdoclet、SiteMesh、OSCache、JUnit、JSTL)于一身的Web开发框架。AppFuse提供了Web系统开发过程中都需要开发的一些功能,如登陆、用户密码加密,用户管理、根据不同的用户可以展现不同的菜单.J2EE开发者也可以在此基础上开发加入自己的功能模块。利用这个框架可以大幅度的提高开发速度。
20
VRaptor2
VRaptor2是一个MVC与IOC的Web框架.它采用了许多框的思想包括:JBossSeam,Stripes,Webwork,HibernateAnnotations等。VRaptor2充分利用Java5注释使得可以通过简单的方式来处理Web编程。你的商业逻辑类不需要与javax.servletAPI联系,并且与其它框架相比它只需要很少配置。
21
Chrysalis
Chrysalis是一个JavaWeb开发框架.它有一个不同于大多数MVCWeb框架的地方.Chrysalis的控制器类跟正常的Java类一样有着多个方法,客户端请求的URLs被映射到这些控制器方法.
22
Verge
Verge框架是一个开源J2EE应用程序框架完全采用Java开发只使用到标准的J2EEAPIs.这个开源项目的目的为开发企业应用程序提供一个非常灵活和可扩展的框架.
23
WebOnSwing
WebOnSwing是一个革命性的多环境应用程序框架.它允许你创建web应用程序并可用同样的方式开发一个桌面程序.它不需要使用Jsp文件,特殊的标签,XML文件,requests,posts等,所有的都是Java与直接来自图形设计的HTML文件.这个框架使用Swing组件来构造和处理HTML页面,并允许使用MVC设计模式.所有在Web上的工具都可以由Swing提供.
24
RIFE
*Web程序引擎
*结合Web扩展
*多格式模板引擎选择(html,xml,sql,java,txt,...)
*支持内容导出(比如导出为XSLT格式)
*验证框架
*数据库查询构建器
*简单的持久层
*JDBC优化与连接池
*可配置框架等。
25
Wicket
Wicket是一个基于Java的Web开发框架,与Struts,WebWork,Tapestry相类似。其特点在于对Html和代码进行了有效的分离(有利于程序员和美工的合作),基于规则的配置(减少了XML等配置文件的使用),学习曲线较低(开发方式与C/S相似),更加易于调试(错误类型比较少,而且容易定位。一个结合Eclipse工具的Demo可以引导你如何利用Wicket来发开Web应用程序。
26
Beehive
Beehive用于简化Java2Platform,EnterpriseEdition(J2EE)以及Web服务编程。
ApacheBeehive支持以下功能:
*JavaPageFlow(JPF)技术,也称为(NetUI)
*轻量级的组件框架
*基于JavaSpecificationRequest(JSR)181的Web服务
27
JSPWidget
JSPWidget是一个Jsp框架,它提供了事件驱动,视图状态保留(viewstateretained),服务端GUI控制来使得JSP开发能够像在传统的窗体客户端与基于客户端的web应用程序中一样直观.
28
JNex
JNex是实现MVC设计模式的纯Java框架.它可以使用三种视图(view):Swing,HTML,和CanooULC.
29
WFNM
WebFlowNavigationManager(WFNM)是一个轻量级的Web框架.它允许WebFlow定义,服务端历史向导(navigationhistory),自动动Session清除.WFNM框架把web应用程序分离几个WebFlow,服务端保持访问过的页面和WebFlow的历史记录,可以动态地返回到访问过的页面与WebFlow.
30
OPS
OPS(OrbeonPresentationServer)是一个开源的基于J2EE平台且是以XML为中心的Web框架.OPS是围绕XHTML,XForms,XSLT,XMLpipelines,与WebServices进行构建的.可以利用OPS来开发检索,处理,表达XML数据的应用程序.不像其它流行Web框架如Struts或WebWork,它们都是基于Java对象与JSP的,OPS是基于XML文档与XML技术.这种结构将为处理,表达,检索以XML为格式的信息提供一个更好的方案,并且几乎是在实现你表达层的时候不需要写任何Java代码.
31
Aurora
Aurora是一个开源的,可配置的,完全面向对象的MVC框架。Aurora的form控制器用的是Spring框架.
32
Pustefix
Pustefix是一个web应用程序框架.它包含一个基于XML/XSLT的视图生成系统与一个清晰MVC模式的后端系统.前台UI可以利用XSLT模板构建并可包含部分的HTML或XML代码.
33
Mentawai
Mentawai是一个MVCWeb框架用来简化Web应用程序的开发.它的主要特点是小(它只解决了web开发过程中碰到的最基本问题),简单(它的所有配置都是用纯Java代码实现,没有绑定额外的XML文件),灵活(整个框架容易按自己的需要进行扩展).
34
Click
Click一个高性能的J2EEWeb应用程序框架适用商业Java开发者。它具有:
◆简单易学,
◆面向页面与组件设计,
◆基于事件编程模型,
◆自动表单验证,
◆使用Velocity模板作为页面视图,
◆漂亮的错误报告功能,
◆使用Rico(一个开源的JavaScript库,它提供对AJAX完全支持并可让Web应用程序支持拖放操作等其它功能)来对AJAX的支持等。
35
jZonic
jZonic是一个Web应用程序框架.它由许多部分组成:
◆工作流引擎,
◆用户管理,
◆访问控制与综合权限管理,
◆一个配置框架(jConfig),
◆支持JSP,XML,XSL,velocity,freemarker等,
◆i18n支持,
◆用户剖析(profiling),
jzForum论坛就采用这个框架开发。
36
Swingweb
Swingweb是一个web框架,它能够在一个Web容器中操作AWT/Swing应用程序并把它作为一个纯HTML/CSS/javascript的Web应用程序呈现给浏览器.
37
Calyxo
Calyxo一个基于MVC模式的Web框架.它为开发真正模块化的应用程序提供支持.它还包括支持i18n,一个灵活视图管理器和一个强大验证引擎等.Calyxo被分成五个组件分别为:1.CalyxoBase,2.CalyxoControl,3.CalyxoPanels,4.CalyxoForms,5.CalyxoStruts(这个组件的目的是让Calyxo的其它组件可结合到Struts框架中,比如CalyxoPanels与CalyxoForms可被用来替代StrutsTiles与StrutsValidator在Struts中的使用).
38
jWic
jWic是一个Java框架用于开发基于事件的Web应用程序.它能够让你的应用程序脱离与URLs和页面流(pageflows)的联系.
39
JVC
JVC(JavaViewControl)Java(视图-控制)开发框架的目的是构建一个快速开发、可维护的、稳定的web开发框架,并开放源代码,互相促进开发技术。目前比较流行的web开发框架有WebWork、Struts、Spring,这几个都是非常好的开发框架,都能实现MVC模式.参考上述几个框架的思想,开发简化了的视图-控制框架,弱化了模型层,为什么要弱化模型层,这是因为往往在模型中大部分是重复的工作。项目主要的特点是
1.开发简单快速:大部分开发不需要写javabean,系统自带的Action能满足90%需求,只需要编写page文件(控制文件)与视图jsp。
2.提供了Web系统开发过程中都需要开发的通用用户权限管理:可以控制角色对每个Command的访问权
3.提供功能强大的验证框架:使用表达式编写验证公式,支持所有逻辑表达式,并且前台jsp(生成javascript脚本)和后台Servlet(提交到后台的request参数)均可以调用。
4.可维护性:一般修改了数据库表需要同时修改M、V,需要重新编译,虽然简单,但带来了繁琐的操作,而且有可能引起其他错误,而jvc框架弱化了M,不需要编写对象关系映射的类,而是用命名规范使得对于大部分的修改只是需要修改V(jsp页面)。
5.自定义Action可独立调试,一般Action由于需要从requset得到参数而无法进行独立调试,而jvc框架借鉴了WebWork方法把HTTP请求的封装为ActionContent类,除了交互和使用上的方便外,实现了往往开发web比较困难的独立调试。并且为下一步升级到Web+EJB或其他分布式架构做好准备。
40
JavaServerFaces(JSF)
JavaServer(TM)Faces技术简化了JavaServer应用程序用户界面的开发.各种技术水平的开发者都能够快速创建web应用程序通过在一个页面中装配一些可重复使用UI组件;并可把这些组件与应用程序的数据源连接起来;也可把客户端产生的事件与服务端事件处理者连接起来.这个项目是Sun对JSF技术规范的最完整实现.
41
XMoon
XMoon扩展自JakartaStruts框架用于开发处理基于XML或一些脚本语言(如:BeanShell,JRuby,JudoScript,Jython,Rhino)的Web应用程序.它还提供一个用于展示该框架宠物店Demo.
42
Stripes
Stripes是一个视图框架用于利用最新的Java技术来构建Web应用程序.它具有以下特点:不需要对每一page/action进行映射配置(ActionBeans将自动被发现,它利用注释进行配置),强大的绑定引擎用于构建复杂并脱离请求参数(requestparameter)的web对象,易于使用并可本地化的验证与类型转换系统.可重复使用ActionBean作为视图帮助类.支持一个form对应多个事件.透明的文件上传能力.支持持续开发(比如在构思你的ActionBean之前可以先构建与测试JSP)等.
43
PIFF/Crud
RIFE/Crud是RIFEWeb框架的一个扩展模块,它可以用给定的POJOs自动生成CRUDweb应用程序。它没有生成任何文件所有的事件都是在运行期进行.利用RIFE提供的site-structure可以把它与你应用程序的数据流与逻辑流相结合.
44
SimpleWebFramework
SimpleWebFramework(SWF)是一个基于事件的web框架.它很适合于那些想要开发胖客户端Web应用程序但又不想转向JSF的Struts开发人员。SWF跟Struts一样也是构建在Jakartacommons基础之上,但使用一个不同的requestprocessor。SWF事件模型支持基于XmlHttpRequest的事件提交。
45
wingS
wingS是一个基于JavaServlets的Web框架,它采用类似于SwingAPI的MVC模式和面向事件驱动的设计原理。它利用到Swing的模型(models),事件(events),和事件监听。像在Swing中,组件被排列在一个具有分层次的容器中,而其中的root容器被挂在frame中。wingS也支持AJAX。
46
JBlooming
JBlooming是一个JavaWeb开发框架,这个框架尽可能得使用JavaAPI和面向对象的思想来设计接口,所以没有使用标签。而是使用面向对象的Jsp模板技术。JBlooming主要的特点包括:灵活和强大:这个框架能够让你在任何情况下都可以使用java/jsp/html/js(包括AJAX)技术。一组成熟,漂亮的html组件并且可以很方便地切换到其它皮肤。提供自身校验功能。不需要使用XML,所有的配置都放在JSP中。这个框架还易于使用,而且确实能够提高我们的开发效率和程序的可维护性。
47
GenAndRun
48
Sails
Sails是一个动态,开源的Web框架,采用测试驱动进行设计。它的配置,urls到Actions的映射与处理后转向的页面都是采用约定俗成的方式。Sails包括:
反转控制器Rigging,
模板语言Viento,
框架的核心Sails,
Eclipse平台上的开发插件Shipyard,
范例程序Dock。
49
Frame2
Frame2是一个可以代替Struts来开发Web应用程序的框架。它也支持webservices在一个MVC上下文(context)中。Frame2还提供一个在Eclipse上进行开发的插件。
50
Helma
Helma是一个用来开发快速,稳定Web应用程序的开源框架。它使用JavaScript来作为服务端脚本环境,从而可以除去编译周期。Helma是应用程序对象到数据库表格映射零代码化与简单化的先驱,此外一个内嵌的面向对象数据库可以完成未映射对象数据的自动持久化。Helma已被成功运用于许多大流量网站的开发如:antville.org,twoday.net,和blogger.de等网站。
51
BrillFramework
这是一个让你只需用Java与XHTML技术就能够开发交互式Web站点的开源框架。它目的就是开发出一个简单,支持WYSIWYG页面编辑而不需要编写Java代码或在JSP页中使用特殊标签的框架。开发基于Java的Web应用程序通常是使用MVC设计模式和JSP技术,而BrillFramework虽然也使用MVC设计模式但在页面技术上它使用XHTML来代替JSP。XHTML的使用能够提高开发Web应用程序的效率与质量,从而减少了成本。
52
XXFramework
XXFramework是一个可配置,以XML为核心实现MVC开发模式的Web框架。这个框架能够让HTML表单直接映射到数据库字段来显示或更新数据而不需要编写额外的代码。它用XML文件进行配置并用XSL来显示。一些开源的工具也被运用到其中比如Hibernate和Castor。XXFramework的优势在于:
1.使用非常简单。
2.围绕一些Web标准(包括:J2EE,XHTML,XML,XSL,CSS)进行构建。
3.内置用于优化性能可配置的数据缓存和线程池功能。
4.与Web服务/本地Javaclass相结合。
5.使用一个基于"Portal"的方式来进行页面设置,以易于功能的划分。
53
Equinox
Equinox是AppFuse的一个轻量级版本。Equinox使用SpringMVC与Hibernate作为默认实现(数据库为:PostgreSQL)。但是你可以把Web框架改成JSF,Struts,Tapestry或WebWork。也可以把持久层框改成iBATIS,JDO(JPOX),SpringJDBC或OJB()。同时支持Ant和Maven2进行构建与测试。AppFuse与Equinox的不同之处在于AppFuse有以下特性:
2.用户管理;
3.为基于增删改查(CRUD)的应用程序自动生成代码;
4.文件上传;
54
Facelets
Facelets是一种表现层/视图技术,它使用Tapestry用户所熟悉的概念来构建JSF组件树。
55
Millstone
Millstone是一个Web用户界面组件包。用户界面完全采用面向对象服务端编程方式实现。利用这个包你就可以开发出高质量基于Web的UI而不需要关心XHTML,CSS,JavaScript,浏览器兼容等问题。可通其提供的一个在线Demo来了解各个UI组件的特性。Millstone还提供一个可在Eclipse平台上创建和运行Millstone项目的插件。
56
SOFIA
SOFIA是为J2EE提供的一个快速应用程序开发工具。它集成了各种优秀的Java框架来为开发高质量的数据库驱动的Web应用程序提供一个解决方案。
57
SpringSide
SpringSide--PragmaticEnterpriseApplicationKickStartandCommonLibraryStack,这么长的一个名字下来,不用解释大家都知道是做什么的了----以SpringFramework为core,提供一个Pragmatic的企业应用开发基础和最佳实践展示。
1.项目架构:
主要包含4部分,从脚往上扫是:
1).CommonLibrary栈。提供一个经测试的、版本般配的Library及配置文件的组合。
2).Spring大叔一时没管到的少量必要的基类、utils类和gluecode。
3).以一个Amazon式的网上书店,演示企业应用中各个主题的BestPratice,各种框架类库组合的Configfile&Samplecode。
4).开发指南文档。
此部重要性不亚于上面三部,涉及企业应用开发的方方面面,将以独立版本号单独发行。
2.FeatrueList
mvc、orm、webservice、jms、定时任务、全文索引、report&BIreport、规则引擎、动态语言、安全权限管理、ajax、cache、logging、i18n....
58
GroovyonRails(Grails)
Grails是一套用于快速开发Web应用系统的框架,基于Groovy动态语言。并构建在开源技术如:Spring,Hibernate和SiteMesh之上。它提供一个类似于Rails的平台可以无缝与Java平台相集成使得开发者能利用当前在Java和JDK方面的投入。Grails提供一个完整的开发平台包括内置Jettyweb服务器并提供了一些强大的功能比如简单的对象关系映射(ORM),自动重新加载应用程序,为CRUD(新增,查询,修改,删除)操作提供代码自动生成支架(scaffolding)。此外Grails还提供了一些在Java中惯用的语法包括:运用AOP思想的拦截器,动态标签库,JSP和GSP(GroovyServersPages)支持。
59
Waffle
Waffle是一个类似于Rails的Web框架支持基于POJO的Actions,依赖注入,并且它没有依赖任何XML配置文件。采用waffle开发应用程序将比其它Web框架更加简单,而且易于测试。利用Waffle框架来开发Web应用程序只需要知道三件事情:
*.Actions-在Waffle框架中的action不需要继承或实现任何特定的类或接口。因为一个action就是一个(Pojo)。
*.Events-在Waffle框架中一个事件对应Action类中的一个方法。使用任何方法可以不管它的标记(signature)或返回类型。Waffle将会根据事件的返回作出不同的响应。
还可以很方便地扩展Waffle来添加对AJAX的支持。
60
Tasian
使用Tasian框架可以使得J2EE的开发人员可以开发出类似桌面应用具有丰富UI的B/S应用程序,具有高性能、友好、快捷的特点。该框架2.0版本之前主要是面向企业级应用程序的开发,而非网站应用,该框架将会在3.0版融入Web开放接口,以满足网站应用的开发,当然这并不是说Tasian当然的版本不能开发出类似的网站应用,实际上通过Tasian当前的API仍然能做出类似网站的应用。同时,Tasian也将慢慢向J2ee等主流开放框架靠近,使得用户在使用时不必担心其以后的扩展性。Tasian框架提供给开发人员一个面向对象的、事件驱动的Web应用开发的体系架构,它使得开发人员不需要考虑以页面为中心的应用程序,他们只需象开发C/S应用程序一样关心组件及应用逻辑,而不必关心HTML、HTTP以JavaScript等网络技术,所有的这些都在框架内部为开发人员实现了。Tasian目前也提供了一个非常简单的IDE开发环境,是一个Eclipse插件,也是属于开源代码,在一定程度上提高了开发效率。Tasian框架是一个轻量级的框架,在设计之初就考虑到Tasian将会运用于网站,将会有大量的用户访问,所以,它不会占用服务器资源,完全是客户端状态保存机制,而没有采用Session机制。
61
Aranea
Aranea是一个开源,面向组件,事件驱动的JavaMVCWeb框架。它提供一种通用简单的方式来构建Web应用程序组件,复用自义定或一般的GUI逻辑,扩展该框架。Aranea强调必须使用POJOs面向对象的技术,并且提供一个Jsp标签库来帮助开发webGUI界面。
62
2step
2step是一个用于开发完整Web应用程序(包括web服务)的框架。作为一个Servlet框架,它的特性有:访问控制、logging、I18N、数据库访问,XML/XSL支持等,还用到Jetty,FOP和jCharts开源项目。该框架提供一个用于辅助开发的Eclipse插件。
63
RhinoinSpring
RhinoinSpring这个项目把RhinoJavaScript解释器与Spring框架相结合。目的是提供一个把脚本(动态)语言快速开发的优点、灵活与Java平台和Spring框架的强大功能、高扩展性相结合的系统。这个项目发布了一个SpringMVC控制器(controller)组件用于把由Web应用程序多个web页面生成的复杂控制流用JavaScript表示成单一结构的工作流。
64
Pushlets
Pushlets是一个基于HTTP的发布/订阅框架,它实现了一种能够直接从服务端Java对象主动发送数据给浏览器端的HTML页面而不需要使用Javaapplets或插件的机制。这个框架当前使用两种方式实现:1.在servlet或jsp中将Javascript代码以流的形式传递给一个隐藏的frame。2.采用AJAX实现。
65
jsf-comp
jsf-comp一组JSF组件:
ChartCreator
用于在JSF页面中操作JFreeChart
ClientValidators
用于JSF客户端校验
Acegi-JSF
JSF版的acegi标签
ExcelCreator
用于导出数据到excel中
OnLoad
通过页面访问代替form提交来运行JSFAction
66
jbullet
jbullet一个基于约定俗成没有XML的Java开源web框架,保持简单是它的原则,Struts是它的灵感,RubyOnRails是它的挑战。jbullet之所以简单是因为你所要做得只是编写简单的Javaclasse然后把剩下的交给该框架。约定俗成是驱动因素,JSP标签库是标准HTML标签的一个镜像,控制流非常流畅和明了。
67
POMA
ROMA是一个完全基于POJO的Web框架。整个框架采用RubyOnRails的设计思想,利用该框架能够实现Ajax数据库WebApps的快速开发。
68
Shale
Shale是一个基于JSF的web开发框架。Shale重用了大量的Struts基础代码,因此可以称Struts为它的"父"框架,但Shale是面向服务架构,它与Struts最大不同之处在于:Struts与JSF集成,而Shale则是建立在JSF之上。Struts实质上是一个巨大的、复杂的请求处理器;而Shale则是一组可以以任何方式进行组合的服务。此外Shale加入了一些新的特性比如:
1.与Spring框架相集成可以使用Spring的依赖注入机制来创建JSFManagedbean。
2.提供一种可选的类似于Tapestry与Facelets使用纯HTML来定义视图。
3.提供测试框架,一组mockobject和JUnittestcase基类可以帮助测试自身框架的classe和在构建在该框架之上的应用组件。
4.提供AJAX的服务端支持。
5.Tiger扩展等。
69
WicketStuff
这是一个把第三方组件集成到WicketWeb组件框架中的开源项目。这个项目当前提供的组件包括:
DojoToolkitAJAXcomponentsintegration
Hibernate(2.1and3)components
fValidateintegration
Groovyintegrationcomponents
VelocityPanel
Freemarkerintegration
JasperReportsintegration
TinyMCEWYSIWYGJavaScripteditorintegration
YahooUIcomponentsintegration
70
Wedge
Wedge是一个基于POJO面向组件的Web框架。它利用运行期代码生成和习惯命名来简化Web应用的开发。Wedge页面模板是包含一些关键字的简单xhtml文档与页面相对应的后台类是没有层次之分POJO。在运行期,wedge会生成并编译一个第三方class,这个class与页面模板和页面后台类相绑定。这个自动生成的class是在一个单独的classloader中加载,所以当页面模板或页面后台类变化时将被丢弃。Wedge在运行期能够重新加载模板和页面类的java源代码,这意味着你可以随意你页面类的java源代码(新增,修改,删除或重命名方法和属性),然后只要刷新浏览器就可以看到修改后的结果。
71
OpenBlueLab
72
ztemplates
ztemplates这是一个基于Java1.5的Web框架并使用反射,注释和泛型来确保你可以基于POJO进行开发。这意味着你不需要实现任何接口或继承特殊的class。它的特点包括:
1.不需要XML配置文件,除了web.xml。
2.Typesafety:在需要的地方使用泛型(generics)。
3.Urlsafety:Url用Java编码创建而不是在模板中,所以你不可能创建坏掉的链接。
4.灵活性:支持不同的表现层引擎如:velocity,jsp等。
6.提供安全机制,模板引擎。
7.此外ztemplates还实现了一些可扩展的WebUI组件如tree和tabpane等。
73
qwicket
qwicket:采用wicket+spring+hibernate搭建一个Web应用基础框架。类似于appfuse。
74
ApusicOperaMasks
ApusicOperaMasks包括一个提供原生Ajax支持的JSF引擎,以及在此引擎上开发的富客户端组件(RichComponent)。ApusicOperaMasks在引擎级别提供对Ajax的良好支持,并提供一组功能丰富的UI组件,旨在降低Web开发的复杂度,真正使Web开发变得轻松起来。ApusicOperaMasks提供以下的功能特性:
标准兼容的JSF引擎
不依赖于应用服务器,在Servlet2.5兼容的容器中均能运行。
容器级别Ajax支持
在引擎级别对Ajax予以支持,实现了对Ajax的无缝集成。
统一的资源和皮肤管理
依赖于特有的资源管理机制,ApusicOperaMasks的皮肤管理独立于应用之外,灵活并具备非常好的扩展能力。
丰富的UI组件
提供一组功能丰富的UI组件(RichComponents),包括BorderLayout,Menu,Tree,DataGrid,DataView,ComboBox,DateFiled,CaculatorField等。
75
jxyz
pojo的mvc框架,使用java注解,使用ognl传输上下文,使用hivemind做ioc容器,使用spring简化hibernate操作,使用泛型来减少重复代码。有以下几个特点。
1.Pojo。任何一个java类都可以做Action(logic),为了改造现在常用的ssh,tsh,wsh框架成sh,支持springbean做Action(logic)
2.0配置,根据命名规范来查找Action类和view
3.和web环境松耦合,从理论上讲可以用在swing里
4.支持tdd开发,框架本身就是以tdd开发方式开发
5.代码少,一般mvc需要5个类,xyz只要3个,还可以通过GenericDAO,GenericLogic来减少重复代码
6.对开发者来说,一切实现都可以自己定制,由于hivemind支持迭代开
76
Strecks
针对Java5.0开发人员设计,扩展自Struts的一个Web框架。它的特点包括:POJOaction,注释式校验,数据绑定和转换,依赖注入,拦截器等。
77
RubyonSpring
RubyonSpring是一个采用RubyonRails的思想与优点,集成JRuby动态语言与Spring框架而开发的开源项目。基于MITlicense发布。
78
Open-jACOB
Open-jACOB是一个Web框架用于开发基于AJAX,数据库驱动,跨浏览器的Web应用程序。该框架设计成一个基于Eclipse的插件,可以利用该插件设计数据库,设计UI,部署/测试应用程序等。具体用法可查看其提供的一个FlashDemo。
79
SpringXT
SpringXT是Spring框架的一个扩展用于开发richerdomainmodels与richeruserinterfaces的应用程序。采用DomainDrivenDesign设计原则。为此SpringXT提供两个框架SpringXTModelingFramework:提供一些组件来开发richdomainmodel(它集中了所有业务逻辑,规则和约束,完全独立于应用程序的其它部分)并能够让它们与其它应用软件分层"优雅"结合。SpringXTAjaxFramework:一个完全与SpringMVC集成在一起,基于事件的Ajax框架。
80
Frails
Frails是基于JSF上的一个开发效率和RoR可以向媲美的JavaWeb框架。Frails的特性如下:
Frails让开发者使用约定(习惯)和注解(annotations)来省略在faces-config.xml文件中managed-bean和navigation-rule的配置.
Frails提供一个更简单的方法来使用FacesAPI.
Frails重定向非faces请求为一个faces请求,这样可以避免因为URL输入的疏忽导致的异常.
Frails提供一些预定义的ManagedBean基类让开发者扩展.
Frails可以让开发者在ManagedBean中使用注解(Annotation)来支持AOP功能,如函数拦截(methodinterception).
Frails提供ManagedBean属性的injection和outjection
Frails中的HibernateGenericDao对象提供了基本的CRUD函数和其他一些有用(常用)的数据访问函数.
Frails还提供了一些有用的注解(annotations)来简化JSF的开发.
Frails完全支持jsf1.1和jsf1.2规范,并且可以自动的探测你使用的版本.
Frails提供了对actionMethod和Listener函数的增强,在这些函数中现在你可以传递参数了.
81
jZeno
jZeno是一个用于开发web2.0应用程序的开源Javafull-stack框架。类似于GWT,jZeno也能够把Java开发转换成Javascript/HTML/CSS。jZeno构建在Hibernate和Echo之上。
82
Mantis
Mantis是一个基于Java的小型MVCWeb框架,通过Mantis,您可以快速开发一个Web系统,它具有以下特点:
封装数据库访问,事务处理,连接池集成,封装分页控制
封装数据库缓存和刷新机
基于URL反射的方法调用,避免复杂的XML配置;
简化配置文件,只需要一个配置文件即可完成web应用的灵活配置
完善的例外处理,超时处理
内置Mail,JfreeChart,JspReport及丰富的工具类
内置自定义标签和丰富的js简话页面的开发
内置丰富的js
内置Ajax
83
JWC
JavaWebComponents该项目当前开发了一些用于GWT应用程序的组件包括:GWT-Components(用于替换和增强GWT标准组件),GWT-TinyMCE(用于集成TinyMCEDHTML在线编辑器),GWT-FCKEditor(用于集成FCKEditorDHTML在线编辑器),GWT-Spring集成组件。
84
ApacheMyFacesTrinidad
85
WebGalileoFaces
86
Hocate
87
GWTPlesoFramework
GWTPlesoFramework是一个基于GWT的Web框架,主要用于开发AJAX数据库Web应用程序。它能够根据你的业务逻辑类自动生成用户界面。
88
ApacheTiles
ApacheTiles是一个视图框架基于“CompositeView”设计模式构建,它能够把页面分割成可复用的子页面。ApacheTiles原本是ApacheStruts的一部分,但是现在它已脱离自成一个完整独立的框架。此外它还能够兼容JSR-168portlet。Struts2已经有一个基于Tiles2.0.4(最新版本为2.0.5)的插件。在不久的将来ApacheTiles还将发布用于ApacheShale/MyFaces的插件。
89
krank
krank是一个JavaCRUD和Validation框架。校验模块能够利用Java注释(annotations)、property文件、XML文件或数据库表实现服务器端校验、Ajax校验或只有JavaScript校验。当前该模块能够集成到JSF、SpringMVC和SpringWebflow框架中使用。CRUD框架(包括新增/修改/读取/删除/过滤/排序)支持基于JPA的DAO对象。虽然默认只支持JPA,但是利用该框架提供的接口能够很容易实现对其它框架的支持如:Hibernate、Batis等。
90
LazyJ
LazyJ是一个JavaWeb应用程序开发框架。包括:
一个非常快的模板引擎,该引擎能够缓自动存编译过的模板。
提供响应缓存和数据缓存引擎。
封装常用的数据库操作功能,包括连接池。
基于数据库的Session保存机制。
提供便捷的文件上传功能。
提供通知/提醒框架,已经实现利用email和Yahoo!Messenger来发送通知。
提供一组与数据库绑定的HTML控件。
91
Gwittir
Gwittir项目为开发基于GWT的应用程序提供一组代码生成器,基础框架,工具类和一个MVC框架。
92
jWebApp
jWebApp是一个基于Servlet的MVC框架。jWebApp是当前最易于学习与使用的web框架。支持URI映射,服务器端Ajax支持和服务器端REST(RESTfulwebservices)支持。此外一个非常高效的request缓存算法能够让jWebApp具有较高的运行速度。
93
WaveMaker
WaveMaker是一个Web应用程序WYSIWYG构建工具。它能够创建基于DojoAjaxwidget,Spring与Hibernate的应用程序。
94
IWebMvc
IWebMvc为开发基于Spring/Hibernate/dojo和DWR的Web应用程序提供一个基础框架。此外IWebMvc还支持Groovy,SpringWebflow2.0,JasperReports/DynamicJasper,多文件上传(包括一个特殊的控件)。提供ImageGallery控件,投票控件。
95
SeamWebAppGen
SeamWebAppGen是一个Web应用程序生成器。它生成的应用程序基于JSF2.1,JBossSEAM,RichFaces和EJB3等技术并能够部署在JBossApplicationServer(4.x)上。
96
rapid-framework
一个类似rubyonrails的javaweb快速开发脚手架,本着不重复发明轮子的原则,框架只是将零散的struts(struts2)+spring+hibernate各个组件组装好在一起,并对struts及struts2进行改造,提供零配置编程,并内置一个强大的代码生成器及模板文件,可以生成java的hibernatmodel,dao,manager,struts+struts2action类,可以生成jsp的增删改查及列表页面。
整个项目借鉴了rubyonrails,appfuse,springside
框架特性:
内置一个基于数据库的代码生成器rapid-generator,极易进行二次开发
struts1,struts2的零配置
spring集成及加强,自动搜索hibernate的entityannotationclass
集成动态构造sql的工具:rapid-xsqlbuilder
集成javascript表单验证:rapid-validation
集成extremeTable分页组件,并简单扩展显示pageNumber
集成DBUnit及spring对数据库测试的支持
内置的分页查询PageInfo接口
Java日期转换的特殊处理,与My97DatePicker集成
内置最精简的ant构建脚本,简单修改即可使用
公共类库友好的包名javacommon
整个项目尽量做到最小集,无需删除任何资源,拿来即可使用.
友好的MIT-Licence
97
mesir
组合各种常用的开源框架,并尽量简化这些框架的用法。为开发Web应用程序提供基础的框架。帮助开发人员快速有效的建立Web应用项目。当前组合的开源框架包括:
JSF,Facelets
MyFacesOrchestra
Spring
Hibernate(Search,Validator)
JbossEnvers
CXF,JAX-WS
JodaTime(withHibernatepersistencysupport)
SeleniumTests
slf4j、logback
98
Suco
99
PrimeFaces
PrimeFaces是一个用于提高JSFWeb应用程序开发效率的开源类库。主要由三个模块组成:
UIComponents:PrimeFacesUI模块提供了拥有RichWeb用户体验的各种JSF组件。PrimeFaces使用YahooUI库做为默认的客户端框架。PrimeFaces提供的JSF组件能够处理JavaScriptRendering和如何在服务器端与JSF集成。PrimeFacesUI组件包括:HtmlEditor、ImageCropper、Dialog、AutoComplete、FlashbasedChart等。并支持通过Ajax更新页面。
Optimus模块提供简化JSF开发的解决方案。Optimus提供基于GoogleGuiceIOC容器的注释来代替XML配置和一个XML-lessNavigationHandler能够让你减少基于XML配置JSFNavigation的需要。此外Optimus还支持利用JPA实现数据持久化;将DataTable的内容导出成Excel与PDF。支持安全扩展。
FacesTrace模块提供跟踪JSFWeb应用程序的各种工具包括:JSFLifeCycle可视化查看器;性能跟踪器;Log4J适配器;FacesMessage监听器;组件树可视化查看器。
100
AribaWeb
AribaWeb是一个基于组件的Web应用快速开发框架,用于创建基于Ajax的web应用程序。AribaWeb集成了开发数据库应用所需的全部功能,提供丰富的RichWidgets(forms、pivot、tables、charts、richtexteditors等)并且与一个ORM数据库框相绑定。AribaWeb开发的Web应用支持部署在不同的J2EE运行环境中。
101
Jspresso
102
Joindesk
Joindesk是一个建立在ExtJS,VelocityandSpring基础上的J2EEWeb应用框架。
Joindesk能够加速使用Ext组件的J2EEWeb应用开发。不用编写一句JavaScript就可以在Java代码中直接响应来自Ext组件的事件。你在处理AJAX请求时也不必关心JSON或XML数据格式。
使用Joindesk框架开发Web应用UI交互,就像使用VB/VC开发桌面应用UI交互一样方便快捷。
103
GWTruts
GWTruts是一个易于使用的GWTMVC和依赖注入框架。它将GWTmodule分割成view、controller和validation等部分类似于传统WebMVC框架如ApacheStruts。GWTruts使用XML配置文件来配置视图,控制器和其它属性。此外GWTruts还提供一个依赖注入机制类似于Spring能够让你自由定制你的视图和控制器。GWTruts完全采用GWT开发,因此能够很好地与任意GWT插件/扩展结合使用。
104
Nutz
Nutz是一组轻巧的开源框架,内容涵盖了:
1.数据持久化(DataPersistence)
2.反转控制(Ioc)
3.Web框架(MVC)
Nutz所有的功能均不依赖第三方的jar包,上面三个部分可以独立使用。
105
JQuery4jsf
JQuery4jsf是一个开源JSF组件库。这些组件基于jQuery框架开发,当前可用的组件包括:
AccordionPanel
Datepicker
Dialog
Progressbar
Slider
Tabs
Draggable
Resizable
Effect
Autocomplete
Carousel。
106
vaadin
vaadin是一个用于创建胖客户端Web应用程序的Java框架。拥有基于GWT实现的各种控件,所有代码全部采用纯Java实现,不需要编写任何JavaScript代码,没有复杂的配置,快速,易于扩展和维护。
107
etmvc
etmvc是基于Java技术,为WEB开发提供的一套简易MVC框架。简易但不简单,其设计和实现借鉴业界众多的优秀框架,如struts,springmvc,ror,grails等,力图为Java开发人员提供一套高效的开发框架。
基于java技术开发,继承其强大、稳定、安全、高效、跨平台等多方面的优点
约定优于配置,免除开发过程中的配置之苦
具有良好的自我扩展能力
易于同spring等IOC框架进行集成
从实用的角度出发,精益求精,从实际开发经验中提取有用的模型
设计专门同EXTJS等框架进行整合的机制
108
Induction
Induction是一个强大,高性能的JavaMVCWeb应用开发框架。支持动态重新加载。基于类型的依赖注入。模型、视图、控制器之间的依赖分析。Induction的目标是简化开发复杂、高性能、可维护的Web应用。
109
PlayFramework
PlayFramework是一个功能完整的JavaWeb开发框架。采用RESTful架构设计,简便灵活。PlayFramework使用MVC模式作为Web层,集成Hibernate管理持久层,PlayFramework还使用一个基于Groovy的模板引擎。
PlayFramework让开发者无须重新编译打包发布应用,即可看到修改后的效果,方便开发人员调试应用。
PlayFramework采用了无状态模型,是一个真正意义上的“无共享”系统,能够在多个服务器上部署多个PlayFramework的实例,所有实例都不会互相干扰。
PlayFramework采用了Groovy作为模板引擎,让表示层真正做到了开发高效简洁
PlayFramework拥有精确的错误定位机制,当错误发生的时候,可以精确的定位到错误代码的位置。
PlayFramework的速度很快,启动快,运行的速度也十分快。
110
ExpressWind
111
Rose
Rose是由人人网提供的、基于Servlet规范、Spring“规范”的开放源代码WEB开发框架。
Rose是面向使用Java开发的同仁们的。Rose提供的各种特性和约束惯例,目的就是为了使您在能够轻松地开发web程序。如果您觉得Grails的想法很好,您不必转向它,Rose可以给您这种感觉,同时基于您对Java的熟悉,您又能更好地控制Rose。
我们希望Rose对各种技术的整合和规范,能使您摆脱犹豫,摆脱选择的困难,规避没有经验带来的开发风险。Rose不仅整合技术,同时还强调最佳实践,甚至包括名称规范。我们不仅仅只是提供技术,我们还会引导您应该如何使用好技术。
112
Simpleframework
Simpleframework是基于Intercepting-Filter模式和MVC2模式(我们称之为:后处理模式,After-ProcessingPattern),基于“应用即组件,组件即应用(Applicationarecomponents,componentcanbeaapplication)”理念采用Java技术实现的Web应用级框架。
提供一套完整的WebUI组件来简化和加快AJAX/富Web应用(RichInternetApplication)的构建、部署及维护进程,从而达到降低Web应用开发成本、缩短开发周期和提高应用效能的目的。
113
jdonmvc
一个站在Jdon框架上面向DDD,DCI,CQRS等架构风格的表现层开发框架。框架特点:超级易用,易扩展,默认会使用Jdon作为领域模型管理框架。
114
J-HI
J-HI是一款JAVAWEB应用软件快速开发开源平台,主要服务于软件企业和传统行业企事业单位信息中心的开发人员,为他们提供一套完整的一站式的JAVAWEB应用软件快速开发解决方案。平台包括如下几个部分:
1、J-HI平台集成环境:J-HI团队开发了一个集成开发环境J-HIStudio,在此集成开发环境之上,开发人员能够快速搭建自己的开发环境,创建自己的模型,快速生成代码。
2、核心框架:平台为Java代码与js代码之间提供了一套完整的面向对象的核心框架支撑系统,可以认为这是一个抽象层,无论是在页面表现上,还是在CURD的任意一层,平台均提供了最大限度的抽象。用以保证平台本身的可扩展性、稳定性及灵活性。J-HI平台中提供了大量的API(java与js),为用户在开发过程中随需调用,从而进一步加快开发速度,保证代码质量。
3、业务平台功能:包括权限管理、组织结构、枚举管理等。
4、工作流:包括工作流引擎及流程编辑器等。
平台主要致力于解决如下问题::
1.高效:在J-HI中,有对业务对象和业务流程的图形化设计工具,能快速的生成一套完整的应用程序。
2.高质:从业务层面上说,利用J-HI产品的业务对象和业务流程设计器能以图形化的方式直观描述业务需求,快速生成代码完全开放的完整应用,满足了客户的业务需求;。
3.变化:利用J-HI的业务对象设计器可随时修改对象属性,快速应对客户的需求变化,并且源码可重复生成,不影响手写的代码。
115
Summer
Summer是下一代SpringMVC的表现层框架。它提供了最好的HTML5模板引擎并利用了许多Spring3的特性如内容协商(Contentnegotiation),REST支持,资源处理等。此外它还支持一些开箱即用的JavaEE6规范如Servlet3.0,JPA2.0,BeanValidation和EL2.2。
116
dispatcher
一个简单的MVC框架或者不能算是MVC作用:通过URL直接将请求转发到具体的方法上。配置:唯一的配置文件为config.properties,暂时里面只需要配置一句url.suffix=com.wenbin.action(就是需要进行转发的类的包路径,多个路径用逗号隔开)。解决的问题:简化配置,去除配置文件,尽可能的使得软件的维护成本降低。并且降低学习成本。
117
SoybeanMilk
SoybeanMilk是一个极其简易、友好、且零侵入的JavaMVC实现框架:
它几乎没有学习成本,你只需要熟悉jsp和servlet技术
也不需要你遵从任何代码编写模式
你的代码中找不到任何这个框架的踪迹
使用它,您仅需要指定URL和参数值便可以执行任何Java对象的任何方法并控制和取得其返回结果。
如果你是一个WEB开发者,并且已经有点厌烦现有的WEB开发框架所固有的开发方式(固定的代码编写模式、芝麻点的小功能也要写一堆接口),应该考虑了解下这个框架。
还有,这个框架并不是仅能应用于WEB程序,你也可以在桌面程序中使用它。
118
GWTPortlets
GWTPortlets是一个开源Web框架用于开发GWT(GoogleWebToolkit)应用程序。它定义了一种非常简单、高效、强大的编程模型来构建好看和模块化的GWT应用。编程模型有点类似于为Liferay,JBossPortal等portal服务器编写一个JSR168portlets。
119
SpringMobile
SpringMobile是SpringMVC的扩展,用来简化手机上的Web应用开发。
120
SerfJ
SerfJ提供了一种最简便的方式来开发JavaRESTWeb应用程序。它能够帮助你开发一个基于优雅MVC模式的应用程序,采用某些约束习惯来代替配置文件,所以不需要用配置或注释来指定哪个视图对应控制器中的哪个方法。
121
GrailsUI
GrailsUI(GUI)是一个Grails插件,封装了YUI和YUI扩展(Bubbling),将二者的组件以Taglib的形式提供给用户,让Web页面UI的开发变得方便快捷。
122
Pandora
Pandora是一个易于使用、快速和轻量级的Web应用开发框架。Pandora使用Velocity模板作为前台页面视图,EbeanORM作为持久层来操作数据库。
123
eRedG4
eRedG4(易道系统集成与应用开发平台)是一个开放源代码的、面向企业计算环境下异构系统集成与行业应用快速二次开发的平台。它包括:基础类库、业务模型框架、富浏览器端开发框架、富桌面端开发框架、权限参考模型、平台代码生成器六大组成部分。Demo
124
Tobago
Tobago:目标是提供一套基于JSF以及myfaces的良好设计的UI组件。Tobago不仅仅只是一套标签库。下面的几点让它与其它框架不同:
-无需HTML设计,聚焦于商业应用程序的开发。开发者可以将精力集中在用户界面上,而不是网页。
-UI组件是对HTML的抽象,它不仅仅可以用于HTML页面,它的输出格式可以定制。
-“主题”机制,使得可以很容易切换应用程序的外观。
-布局管理器可以自动排列组件,这就意味着无需使用HTML表格或其它技术来手工管理组件的布局。
125
full-hibernate-plugin-for-struts2
这是一个能够将Hibernate完全整合至Struts2中的插件。包括:HibernateValidator整合,HibernateCoreSessions注入,事务注入和HibernateCore配置管理Web工具。
126
Prism
三棱镜(Prism)是一个由JAVA开发的超轻量的开源框架,其目标是实现WEB系统的页面与代码分离,并且不需要书写大量的配置文件。同时,三棱镜(Prism)还是一个非常简单的框架,稍有基础的人都可以在10分钟之内了解开发中的全部规范,1小时之内就可以灵活应用。
127
OpenHandX
OpenHandX前身是我个人长期工作积累的复用代码,因为工作原因这些代码长期不使用、不整理久而久之就会被遗弃掉,实在可惜。终于有一天下定决心将这些复用代码重构、重新组织、工具化、并补充文档,就产生了OpenHandX。如果只是将OpenHandX工具化容易造成每个工具之间割裂,很难形成一揽子解决方案,OpenHandX的作用大打折扣。这就需要OpenHandX继续产品化、平台化。OpenHandX包括web开发、异步批量开发、报表工具、工作流、规则引擎等。
128
ApacheWicket
visural-wicket是一组开源的ApacheWicket组件和工具。他们被设计成重量轻,松散耦合,并很容易以最小依赖与任意现有Wicket应用程序相集成。组件包括:
下拉框-一个组合框组件,允许用户从一个值列表中选择一个项。也可以用作“建议”框,不强制选择列表值中的一个。
FancyBox-“灯箱”部分将显示一个图像,一个图像组,另一个Web容器或在一个有吸引力的模态窗口iframe画廊。基于FancyBox
富文本编辑器-一个WYSIWYGHTML编辑器中的文本区小门更换下降。基于NicEdit
codebox-语法高亮显示组件的源代码。基于谷歌美化。
“指示”链接——两种类型的提交和常规链接组件。有模态链接,在处理表单或动作时显示模式“等待”(或自定义)消息,以及“指示”链接,在处理请求时使用“Ajax样式”指示符图像(或自定义内容)替换某些DOM元素。也许最好检查一下这些人的演示。
dateinput-一个新的行为提供了一个弹出JavaScript日期选择器
美丽秘诀-一个新的行为,提供了丰富的、有吸引力的、可设置样式的工具提示的任何组件
“保兑”–提示/确认对话框,可以用于任何链接或提交型导作用
对话框-一个灵活的模态对话框组件,可以通过ajax或客户端JavaScript打开/关闭。
lesscss-lesscss和检票一体化,所以你可以用“不”文件像他们“.css”
jsr303验证的形式,结合行为和形式验证的注释自动转账JSR-303便门形式
129
MinuteProject
MinuteProject是一个逆向工程工具,它能够根据数据库结构生成由:spring、hibernate、jpa、ibatis、FitNesse、VAADIN、OpenXava、Roo、Grails、Playframework等技术组合而成的应用程序框架。
130
Sweet
Sweet是一个基于Scala实现的Web开发框架。利用其开发的Web应用程序可运行在任意Javaservlet服务器上,并可以使用所有Java类库,服务器等。Scala是一种比Java更高级和更易于编写的开发语言。
131
Webx
Webx是建立在JavaServletAPI基础上的的通用WEB框架。用Webx搭建的应用可以运行在任何一个标准的WEB应用服务器上面:Tomcat、Jetty、Jboss、Weblogic……。是一个在阿里巴巴集团内部广泛使用的,层次化、模块化的一个Web框架。
Webx是基于经典MVC设计模式的WEB框架,推崇页面驱动和约定胜于配置的理念。
Webx是一个基于Spring的组件框架。组件是一个软件包,它可以被其它组件扩展,也可以扩展其它组件。利用这些特性,Webx不仅能够用来开发高度可定制的Web应用(这是它的主要功能),也能够用来帮助你开发高度可扩展的非WEB的应用。
132
firefly
精于心,简于形。firefly应用程序框架。
firefly是一个追求高性能的应用程序框架,性能大幅超越spring3、struts2等,详情请看性能测试报告
零依赖,仅仅依赖于jdk
精简、轻量、无侵入
core包含IOC、MVC、Interceptor等常用功能
使用简单,基于约定优于配置的思想,可完全使用Annotation方式或Annotation和XML混合方式进行配置
133
jibeframework
Jibe是一个现代框架基于Java和Web技术。这个框架提供了一个简单,但高效的机制来构建动态Web应用,表现层采用ExtJS实现。
134
wabacus
JAVA通用快速开发平台(TheRapidPlatformForJ2EEDevelopment)
1、Wabacus框架是一个JAVA开发框架,提供完整的前后台服务,所以与JQuery,Ext等纯客户端框架不同,它能实现完整的SSH框架实现的功能,但是开发效率比SSH框架快好几倍;
2、Wabacus框架对项目没有任何侵入,因此可以与任意框架(包括SSH)共存于一个项目,也就是说部分用Wabacus快速开发,部分Wabacus目前不支持的(比如webservice、全文检索等)
则用SSH或其它框架开发。
3、这里广泛使用的“报表”术语,不是指真正意义上的报表,只是一个习惯称呼,Wabacus框架也不仅仅是一个报表工具,而是一个JAVA开发框架,或称快速开发平台。Wabacus框架主要特点:
支持热部署,增、删、改应用后,无需重启服务或redeploy,只需访问/ShowReport.wxACTIONTYPE=updateconfig即可。
提供搜索、翻页、列过滤、列排序、列拖动,调整列宽,下载Excel等功能
支持任意复杂表头应用的配置,支持数据细览报表
全程ajax加载,支持IE、Firefox、Chrome、Opera等多浏览器。
支持多数据源,多数据库类型(sqlserver2000、sqlserver2005、mysql、oracle、DB2等)
支持国际化,支持客户和服务器端的校验配置
支持数据行分组、列分组、树形表格,数据统计功能
支持横向滚动条及表头固定的垂直滚动条
支持任意层级的主子报表,主从报表
支持常用输入框类型,且支持输入联想、下拉框关联、文件上传等功能
支持数据编辑功能、支持各种表单的配置
杜绝SQL注入和XSS攻击
135
joywindow
joywindow是的目标是用java语言与HTML显示来构建桌面应用程序.通过它,开发者可以用WEB开发的MVC模式构建桌面应用程序,可以有效提升开发速度.
它实现了模型,控制,显示层的分离,可以让界面设计者与程序开发者的分工.并且在界面设计上,可以充分利用web开发的javascript,css,flash,HTML等技术,实现丰富多彩的界面效果.
joywindow内置一个类struts2.0的基础框架(wox),可以自动封装输入值,并通过配置进行逻辑跳转.joywindow虽然不如javaweb一样支持jsp动态页面,但是集成了velocity作为动态页面解析语言.
工作原理:joywindow原理是java内嵌浏览器做界面展示,通过一个simpleServer来作为传递资源,响应事件的中间处理,在base版本中,simpleServer也是开发的重点.
136
XEO(eXtensibleEnterpriseObjects)
XEO是一个敏捷开发框架设计用于构建企业Web应用系统。XEO是围绕面向对象的概念和模型驱动开发(MDD)实现。利用XEO,你模型的业务实体(包括它们的属性和方法)都当成XEO模型,然后交由该框架的“Builder”来生成应用程序的支撑架构比如:数据库表格(持久化数据)和Java类(提供对象-关系映射和方法)。创建好XEO模型之后就可以生成基于这个模型的Web页面(包含查询,修改,列表等功能)。
137
Beangle
Beangle立足Java企业软件开发,提供敏捷、基于约定(ConventionOverConfiguration)的脚手架和工具包。着力以简化项目构建,并规范项目开发习惯,形成易于管理的最佳实践.(Introduction)
子模块
1、Commons提供字符串、压缩、再配置、csv等基础api的辅助方法
2、Model提供对实体映射、查询存储、转换的基础api
3、Rule对规则定义、使用和存储的api
4、Spring支持基于spring的再配置和自动配置
5、Struts2Coc提供struts2的约定优先配置和基础Action
6、Struts2Tag提供常见的web组件
7、SecurityCore提供简化的权限控制框架
8、SecurityWeb提供web应用上的权限集成
9、SecurityBluepring提供基于数据存储的默认权限实现
10、SecurityCasSupport支持cas集成
11、SecurityLdapSupport支持Ldap集成
12、WebappSystem提供了样例应用
1、DatabaseMeta数据库原信息支持包
2、DatabaseReplication数据库复制工具
138
WEB4J
WEB4J具有如下特性:
1、拥抱约定优于配置(类似于Rails)
2、数据为王,而不是代码
3、不会强迫开发者穿新鞋走老路
4、不依赖于JavaScript、客户化的XML和注解以及对象关系映射
5、不会对你所编写的类施加线程安全的约束
6、可以用普通的HTML编写表单
WEB4J最吸引人的一个地方就是它可以将SQL放到纯文本文件中且游离于代码之外,之后就可以在代码中通过特殊的对象引用这些SQL,这样DAO类就变得非常紧凑了。
WEB4J个头很小,一共才88个类,而Rails中却有346个类、Struts中有720个类、Spring中有2400多个类。John说WEB4J的学习要比其他框架容易的多。
其站点对WEB4J的薄弱之处也毫不掩饰:
1、没有用户界面widgets库
2、未提供对AJAX、WebServices及依赖注入的内置支持
3、支持JSP/JSTL,但却没有像Velocity那样的标记库
139
Spack
Spark是一个源于Sinatra的微型Web开发框架,用于以最小的代价快速开发Web应用。Sinatra是一个基于Ruby语言,以最小精力为代价快速创建web应用为目的的DSL(领域专属语言)。
140
Spring4Me
Spring4Me是从另一个开源项目EnterpriseConnect中提炼出来的,以Spring为核心,在SpringMVC的基础上实现了一套基于组件的编程模型。
Spring4Me的未来发展方向主要是以SpringMVC,Spring,JPA为主,并以Demo工程的形式来展示SpringMVC,Spring,JPA的整合方式,以及基于Spring4Me的组件开发方式。
141
douyu
一种新的Java开发平台,将编译器、Http服务器、MVC、权限完美整合在一起,实现了ORM的自动化。
142
EasyJavaWebsites
EasyJavaWebsites(EJW)是一个基于JavaServlet实现的MVCWeb应用程序开发框架。它专门为能够以非常简单的方式来开发Web应用程序而设计。EJW简单到可以在几分钟内学会。
143
JBob
JBob是基于Java和AJAX的平台系统,采用ExtJS作为前端用户界面,Et-mvc作为后台支持框架,主要用于快速开发企业级信息管理系统。
平台集成了开发环境、运行框架,主要实现了用户组织、资源与权限管理、通用操作、国际化语言处理、枚举管理、运行监控等通用应用。平台从设计到开发都坚持简约实用和约定优于配置的原则,致力于精简的配置、高效的开发模式和稳定的性能,让你集中精力解决客户需求,快乐地开发WEB项目。
用户和权限控制是JBob平台系统的核心功能之一,从用户角度出发,以简易实用和高效稳定的方式实现权限配置。
144
Cetia4
Cetia4是一个对REST提供完善支持的Web开发框架。
Cetia4特点:基于ServletAPI开发,可以运行于所有的Web容器中。
优点:
1.可以充分利用ServletAPI和JSP等资源,需要额外学习的概念较少,学习成本较低。
2.对于传统的Web应用,可以使用服务器端HTTPSession;对于Web服务类应用,不使用HTTPSession,基于无状态服务器模型做开发。
3.自身包括了对于WebMVC的支持,熟悉WebMVC框架的开发者很容易理解。还内建了参数映射、参数验证等等传统WebMVC框架所支持的功能。
4.内建了自己特有的导航对象栈的概念,对于支持传统的Web应用的开发(基于浏览器的导航)非常有帮助。
5.提供了JSP标签库,对于传统的基于HTML表单的Web开发非常有帮助。
6.支持与SiteMesh相配合,由SiteMesh来支持页面布局的重用。
7.内建有与Spring的集成,集成起来非常容易。
8.配置文件完全基于标准的web.xml,不需要额外的配置文件。大量使用默认配置,一般情况下足以满足常见的需求。
9.拥有很好的文档。
10.有内建的国际化支持。
缺点:
1.没有内建的HTTP认证机制,需要自行开发安全机制。
2.对于内容协商的支持比较弱,仅支持HTML和XML格式的表现。需要加以扩展才能支持其他格式的表现。
145
PrettyFaces
PrettyFaces是一个开源基于过滤器(Filter)的Servlets扩展,对JavaServerFaces–JSF1.1,1.2和2.0提供了增强支持。能够用于创建便于书签收藏、搜索引擎友好的网址。PrettyFaces优雅地解决了“RESTfulURL”问题,包括这样一些特性如:
URL重写-替换丑陋的URL:具有漂亮的,搜索引擎友好的,人的URL:“/页/JSF”:“/优化/页/”;客户端浏览器从未看到您的原始URL,甚至在源HTML中。
动态视图ID-现在对URL进行动态视图ID映射(通过EL方法表达式),您可以基于运行时条件显示不同的视图,有效地将URL从JSF视图中解耦。
页面加载操作-在呈现视图之前调用一个或多个操作方法,在一个或多个阶段。
管理参数解析HTTP参数解析URL存储在托管豆,只是得到一个参考参数豆从其他java类方便。
通过ID导航——在一个地方定义页面ID,使用标准的JSF导航技术轻松地在操作方法和组件中引用它们。
集成验证URL和查询参数,能够重新使用现有的验证器对象。
易于配置-需要绝对最小的配置;可以使用XML或注释启用。
146
基于全注解方式的SHH基础框架ssh-base-framework
基于struts2.23+spring2.5.6+hibernate3.6.4+hibernate-generic-dao1.0(除了spring,我整合的都是最新的GA包,hibernate-generic-dao是googlecode项目库中一个开源的basedao,我灰常喜欢,因为我找不到更好更适合我的)。
147
Gaelyk
Gaelyk是一个专门针对GoogleAppEngine设计的轻量级Groovy框架。提供URL路由系统。GoogleAppEngine是Google提供的基于Google数据中心的开发、托管网络应用程序的平台,每个GoogleAppEngine应用程序都可使用500MB存储空间,以及可支持每月约500万页面浏览量的CPU和宽带。目前每个用户可以免费创建十个应用
148
EShow
采用流行的J2EE轻量级框架(Struts2+Spring+Hibernate),基于国外开源框架Appfuse,我们可以简称Appfuse中文加强版…简单易用Java新手和入门SSH框架着,非常简单,非常易用!快速开发使用基于SSH框架的EShow平台,可以快速开发出中小型企业网站和社区门户!完全开源完全开放EShow的每一个细节!更新迅速到群软件团队会每一天更新EShow平台,使得EShow越来越好理想远大让EShow平台成为Java入门者的必备学习框架,成为一个流行的J2EE框架。
149
topaz-turquoise
Topaz是一个用于开发EJB+JSP程序的小型框架,为了演示开发使用方式,还提供了一个名为Turquoise的WEB程序例子。并附带了我在开发中使用的MySql数据库。(数据库文件使用Navicat导出)我是用的Eclipse版本为3.6英文版。提供的程序,分为topaz、turquoiseEJB和turquoiseWAR这三个项目。请在Eclipse中使用Ant编译这三个项目。(需要根据你的目录,修改Ant文件!)其中,topaz是核心框架,提供了一些Java包以供继承开发之用,并提供了名为"cn.com.topaz.servlet.ControllerServlet"的一个核心类,实现一个简单的控制器。turquoiseEJB是一个EJB项目,继承了topaz的部分类,实现EJB例子。turquoiseWAR是一个JSPWEB项目,提供了几个JSP例子。
150
EWeb4j
EWeb4j,一个JavaEE的开源框架,全栈式Web框架。支持REST,事务模板,MVC,ORM,IOC等功能。
主要特性:
Component组件支持
DWZ组件
分页组件
……
MVC
约定由于配置,可零配置。
两种配置方式(xml,注解)供您选择
更加灵活方便的urlmapping
两种参数绑定方式(类属性、方法参数)供您选择
RESTful
Json渲染
URL拦截器
action验证器
IOC
基本数据类型注入
无限制嵌套Pojo注入
setter方法注入和构造方法注入
ORM
两种配置方式(xml、注解),供您选择
简单的DAOFactory,提供InsertDAO、DeleteDAO、UpdateDAO、SelectDAO、DivPageDAO、SearchDAO、CascadeDAO接口。
支持表关系、级联操作
事务模板
JdbcTemplate
支持多个数据源
无缓存,无懒加载,主动级联操作,纯粹的ORM
各种Util工具类
BeanXMLUtil,一个pojo序列化和反序列化到xml的工具类,基于注解
FileUtil,一个文件操作工具类
JsonConverter,JSON转换工具类
ReflectUtil,一个反射工具类,能获取setter、getter,使反射获取方法,属性更简易,支持父类的反射
151
MVC框架dingframework
使用java有多年了,一直以来使用java就是用来做web开发,学习java是从servlet和jsp学起,刚开始感觉到serlvet,jsp好复杂,好强大,jsp强大到可以在页面里写java代码,随心所欲,无所不能。java代码和HTML代码结合在一起好乱,后来慢慢地接触了MVC的框架,先是struts,webwork,再到struts2,特别是struts2先进的设计理念,struts2无比的强大,但它的身躯也庞大,如此庞大的东西跑起来速度也就没那么快了,struts2的运行速度远比不上servlet。SpringMVC的速度也好快,但不喜欢它基于元数据的配置。于是想找一个同struts2一样有先进的设计思想,身躯小,速度和servlet差不多的框架,google了,但没有找到,于是就动手自己写了一个,于是有了dingframeworkMVC的延生。
152
NibiruFramework
Nibiru是一个Java服务器端开发框架,以方便模块化应用程序的创建为目标。它的特性包括:
为不同的技术提供了一个抽象层,以避免耦合
提供一些常用的共同服务组件比如:CRUDs,报表,工作流,事务管理,安全和国际化
系统提供动态更新机制,以允许热插拔。
实施有利于在一个结构化的方式解决问题的模式。不过要避免强制用户执行一个给定的解决方案。
促进解耦模块之间的通信。
避免推倒重来。创建抽象层,但尽可能使用现有的技术。
其实现基于现有的许多技术,比如:OSGi,Vaadin,Spring和Hibernate