"框架"犹如滔滔江水连绵不绝, 知道有它就好,先掌握自己工作和主流的框架; 在研究好用和新框架。 主流框架教程分享在Java帮帮-免费资源网 其他教程需要时间制作,会陆续分享!!! 152款框架,你还知道其他的吗? 留言你用过的web框架 Java开源web框架汇总1:Struts2 Struts2是一个web应用框架。它不是一个Struts的新的发布版本,而是一个全新的框架。Struts2 是第二代基于Model-View-Controller (MVC)模型的web应用框架。 Struts2是java企业级web应用的可扩展性的框架。 它是WebWork和Struts社区合并后的产物。 这一版本的Struts2声称,Struts2会接近于原先版本Struts,并且会更容易使用。Struts2没有继承struts 1的血统,而是继承了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 语言进行程序设计。2:Struts Struts是一个基于Sun J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。由于Struts能充分满足应用开发的需求,简单易用,敏捷迅速,在过去的一年中颇受关注。Struts把Servlet、JSP、自定义标签和信息资源(message resources)整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大的节省了时间,所以说Struts是一个非常不错的应用框架。【StrutsIDE:用于Struts辅助开发的一个Eclipse插件】3:EasyJWeb EasyJWeb是基于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等)实现快速开发。4:Tapestrt Tapestry是一个开源的基于servlet的应用程序框架,它使用组件对象模型来创建动态的,交互的web应用。一个组件就是任意一个带有jwcid属性的html标记。其中jwc的意思是Java Web Component。Tapestry使得java代码与html完全分离,利用这个框架开发大型应用变得轻而易举。并且开发的应用很容易维护和升级。Tapestry支持本地化,其错误报告也很详细。Tapestry主要利用javabean和xml技术进行开发。【Spindle:Tapestry辅助开发Eclipse插件】5: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下进行开发的插件6:Echo Echo是为用Java开发Web应用程序提供的一个面向对象,事件驱动的框架。使用Echo 框架来编程类似于使用Swing API来开发应用程序或applets 。7:Turbine Turbine是基于Servlet的框架包,也是开放源代码Jakarta项目。目前还没有关于Turbine的大量文档。它类似于Struts,但是有一些主要区别。突出的一点就是它并没有与JSP耦合。Turbine的特点是它提供了大量可重用的组件。此框架包中包含了大量组件,但是这些组件是离散的。它似乎应该给出更多的组件库,但是由于它缺少文档,所以很难掌握完整的体系结构。8:MyFaces MyFaces是JavaServer(tm) Faces(JSF) Web框架 (JSR 127)的一个实现。JavaServer(tm) Faces Web框架是一个新的实现MVC模式的规范.它可以与Struts框架相媲美甚至的一些特性与观念已经超过了Struts.【FacesIDE:Eclipse下的一个辅助开发插件】9:JPublish JPublish是一个功能强大的Web发布系统,设计为确保开发者角色的清晰的分离。JPublish 支持多模板引擎,包括Jakarta Apache"s Velocity, FreeMarker and WebMacro。JPublish支持众多脚本语言,包括Python, BeanShell, and JavaScript。10:Japple Japple是一个建造Web应用程序和服务的快速应用程序开发环境。Japple在Java2平台和开放标准之上建造,和传统方法相比可以让你更快、更容易、更有效地开发和部署Web应用程序。11:Jaffa 是为快速应用程序开发提供的一个企业Java框架。JAFFA 是一个Java Web应用程序开发框架,用基于MVC为基础的Web窗口部件来扩展现存的项目。12:Anvil Anvil是一个基于Java的为Web程序开发的平台,独立或伺服式都是可部署的。它包括大量功能齐全的面向对象的编程语言。语言的一个子集也可用于一个以tag为基础的模板语言。所有的脚本和模板都被汇编为Java比特代码。13:SiteMesh SiteMesh 是一个网页布局和修饰的框架,利用它可以将网页的内容和页面结构分离,以达到页面结构共享的目的。Sitemesh是由一个基于Web页面布局、装饰以及与现存Web应用整合的框架。它能帮助我们在由大量页面构成的项目中创建一致的页面布局和外观,如一致的导航条,一致的banner,一致的版权,等等。 它不仅仅能处理动态的内容,如jsp,php,asp等产生的内容,它也能处理静态的内容,如htm的内容,使得它的内容也符合你的页面结构的要求。甚至于它能将HTML文件象include那样将该文件作为一个面板的形式嵌入到别的文件中去。14:Barracuda Barracuda是一个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系统消息队列的处理机制。15: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一体。16: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本身的属性数据)传递上去。17:Shocks Shocks 是一个开放源码的开发框架,目的是减少 Java Servlet 应用的复杂性。Shocks 并不是 MVC 模式的开发框架,而是采用下一代的体系结构,明确分开了内部各个组件的角色。该项目目前还不够成熟,但值得关注。这里只是简单介绍,如果你要快速了解 Shocks,请阅读 Shocks 的 FAQ,里面讲解了 Shocks 与 Struts,Webwork,Spring 的关系和差异。18:WebCream WebCream提供基于Java应用程序和Applet的web GUI,允许开发人员利用AWT和Swing实现GUI前端应用程序,同时自动地使HTML访问该应用程序。19:AppFuse AppFuse是一个集成了众多当前最流行开源框架与工具(包括Hibernate、ibatis、Struts、Spring、DBUnit、Ant、Log4J、Struts Menu、Xdoclet、SiteMesh、OSCache、JUnit、JSTL)于一身的Web开发框架。AppFuse提供了Web系统开发过程中都需要开发的一些功能,如登陆、用户密码加密,用户管理、根据不同的用户可以展现不同的菜单.J2EE开发者也可以在此基础上开发加入自己的功能模块。利用这个框架可以大幅度的提高开发速度。20:VRaptor2 VRaptor2是一个MVC与IOC的Web框架.它采用了许多框的思想包括:JBoss Seam,Stripes,Webwork,Hibernate Annotations等。VRaptor2充分利用Java5注释使得可以通过简单的方式来处理Web编程。你的商业逻辑类不需要与javax.servlet API联系,并且与其它框架相比它只需要很少配置。21:Chrysalis Chrysalis是一个Java Web开发框架.它有一个不同于大多数MVC Web框架的地方.Chrysalis的控制器类跟正常的Java类一样有着多个方法,客户端请求的URLs被映射到这些控制器方法.22:Verge Verge框架是一个开源J2EE应用程序框架完全采用Java开发只使用到标准的J2EE APIs.这个开源项目的目的为开发企业应用程序提供一个非常灵活和可扩展的框架.23:WebOnSwing WebOnSwing是一个革命性的多环境应用程序框架.它允许你创建web 应用程序并可用同样的方式开发一个桌面程序.它不需要使用Jsp文件,特殊的标签,XML文件, requests, posts等,所有的都是Java与直接来自图形设计的HTML文件.这个框架使用Swing组件来构造和处理HTML页面,并允许使用MVC设计模式.所有在Web上的工具都可以由Swing 提供.24:RIFE RIFE为开发和设计Web应用程序提供了另外一种途径。它基于Java平台构建,但它提供了所有需要的工具和AIPs用统一的风格,快速地实现所有web程序各开发角色之间的任务联系。RIFE被设计成在整个开发周期中完全分离了开发角色之间的任务,每个developer,dba和designer只需关注它们自己的任务,整个开发工作随时都可以很容易的与其它团队的工作相结合,使得这样子开发出来的将是一个松耦合的健壮的系统。RIFE由许多标准的组件组成,它们包括: *Web程序引擎 *结合Web扩展 *多格式模板引擎选择(html, xml, sql, java, txt, ...) *支持内容导出(比如导出为XSLT格式) *验证框架 *数据库查询构建器 *简单的持久层 *JDBC优化与连接池 *可配置框架等。 用它可以轻松的解决Http"s无状态连接问题与CGI的接口。这个框架已经成功的应用在许多网站上如:Bla-bla List,Netwerk,Caosity,Dag Allemaal,GreenEnergy等。25:Wicket Wicket是一个基于Java 的Web开发框架,与Struts,WebWork,Tapestry 相类似。其特点在于对Html和代码进行了有效的分离(有利于程序员和美工的合作),基于规则的配置(减少了XML 等配置文件的使用),学习曲线较低(开发方式与C/S相似),更加易于调试(错误类型比较少,而且容易定位。一个结合Eclipse工具的Demo可以引导你如何利用Wicket来发开Web应用程序。26:Beehive Beehive用于简化Java 2 Platform, Enterprise Edition(J2EE)以及Web服务编程。 Apache Beehive支持以下功能: *Java Page Flow(JPF)技术,也称为(NetUI) *轻量级的组件框架 *基于Java Specification Request(JSR)181的Web 服务27:JSPWidget JSPWidget是一个Jsp框架,它提供了事件驱动,视图状态保留(view state retained),服务端GUI控制来使得JSP开发能够像在传统的窗体客户端与基于客户端的web应用程序中一样直观.28:JNex JNex是实现MVC设计模式的纯Java框架.它可以使用三种视图(view):Swing,HTML,和Canoo ULC.29:WFNM WebFlow Navigation Manager (WFNM)是一个轻量级的Web框架.它允许WebFlow定义,服务端历史向导(navigation history),自动动Session清除.WFNM框架把web应用程序分离几个WebFlow,服务端保持访问过的页面和WebFlow的历史记录,可以动态地返回到访问过的页面与WebFlow.30:OPS OPS(Orbeon PresentationServer)是一个开源的基于J2EE平台且是以XML为中心的Web框架.OPS是围绕XHTML, XForms,XSLT,XML pipelines,与Web Services进行构建的.可以利用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是一个MVC Web框架用来简化Web应用程序的开发.它的主要特点是小(它只解决了web开发过程中碰到的最基本问题),简单(它的所有配置都是用纯Java代码实现,没有绑定额外的XML文件),灵活(整个框架容易按自己的需要进行扩展).34:Click Click一个高性能的J2EE Web应用程序框架适用商业Java开发者。它具有: ◆ 简单易学, ◆ 面向页面与组件设计, ◆ 基于事件编程模型, ◆ 自动表单验证, ◆ 使用Velocity模板作为页面视图, ◆ 漂亮的错误报告功能, ◆ 使用Rico(一个开源的JavaScript库,它提供对AJAX完全支持并可让Web应用程序支持拖放操作等其它功能)来对AJAX的支持等。35:jZonic jZonic是一个Web应用程序框架.它由许多部分组成: ◆工作流引擎, ◆ 用户管理, ◆ 访问控制与综合权限管理, ◆ 一个配置框架(jConfig), ◆ 支持JSP,XML,XSL,velocity,freemarker等, ◆ i18n支持, ◆ 用户剖析(profiling), ◆ jcron(指定在某一个时间运行Jobs)等. jzForum论坛就采用这个框架开发。36:Swingweb Swingweb是一个web框架,它能够在一个Web容器中操作AWT/Swing应用程序并把它作为一个纯HTML/CSS/javascript的Web应用程序呈现给浏览器.37:Calyxo Calyxo一个基于MVC模式的Web框架.它为开发真正模块化的应用程序提供支持.它还包括支持i18n,一个灵活视图管理器和一个强大验证引擎等.Calyxo被分成五个组件分别为:1.Calyxo Base,2.Calyxo Control,3.Calyxo Panels,4.Calyxo Forms,5.Calyxo Struts(这个组件的目的是让Calyxo的其它组件可结合到Struts框架中,比如Calyxo Panels与Calyxo Forms可被用来替代Struts Tiles与Struts Validator在Struts中的使用).38:jWic jWic是一个Java框架用于开发基于事件的Web应用程序.它能够让你的应用程序脱离与URLs和页面流(page flows)的联系.39:JVC JVC(Java View Control) 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:Java Server Faces(JSF) JavaServer(TM) Faces技术简化了JavaServer应用程序用户界面的开发.各种技术水平的开发者都能够快速创建web应用程序通过在一个页面中装配一些可重复使用UI组件;并可把这些组件与应用程序的数据源连接起来;也可把客户端产生的事件与服务端事件处理者连接起来.这个项目是Sun对JSF技术规范的最完整实现.41:XMoon XMoon扩展自Jakarta Struts框架用于开发处理基于XML或一些脚本语言(如: BeanShell, JRuby, JudoScript, Jython,Rhino)的Web应用程序.它还提供一个用于展示该框架宠物店Demo.42:Stripes Stripes是一个视图框架用于利用最新的Java技术来构建Web应用程序.它具有以下特点:不需要对每一page/action进行映射配置(ActionBeans将自动被发现,它利用注释进行配置),强大的绑定引擎用于构建复杂并脱离请求参数(request parameter)的web对象,易于使用并可本地化的验证与类型转换系统.可重复使用ActionBean作为视图帮助类.支持一个form对应多个事件.透明的文件上传能力.支持持续开发(比如在构思你的ActionBean之前可以先构建与测试JSP)等.43:PIFF/Crud RIFE/Crud是RIFE Web框架的一个扩展模块,它可以用给定的POJOs自动生成CRUD web应用程序。它没有生成任何文件所有的事件都是在运行期进行.利用RIFE提供的 site-structure可以把它与你应用程序的数据流与逻辑流相结合.44:Simple Web Framework Simple Web Framework (SWF)是一个基于事件的web框架.它很适合于那些想要开发胖客户端Web应用程序但又不想转向JSF的Struts开发人员。SWF跟Struts一样也是构建在Jakarta commons基础之上,但使用一个不同的request processor。SWF事件模型支持基于XmlHttpRequest的事件提交。45:wingS wingS是一个基于Java Servlets的Web框架,它采用类似于Swing API的MVC模式和面向事件驱动的设计原理。它利用到Swing的模型(models),事件(events),和事件监听。像在Swing中,组件被排列在一个具有分层次的容器中,而其中的root容器被挂在frame中。wingS也支持AJAX。46:JBlooming JBlooming是一个Java Web开发框架,这个框架尽可能得使用Java API和面向对象的思想来设计接口,所以没有使用标签。而是使用面向对象的Jsp模板技术。JBlooming主要的特点包括:灵活和强大:这个框架能够让你在任何情况下都可以使用java/jsp/html/js (包括AJAX)技术。 一组成熟,漂亮的html组件并且可以很方便地切换到其它皮肤。提供自身校验功能。不需要使用XML,所有的配置都放在JSP中。这个框架还易于使用,而且确实能够提高我们的开发效率和程序的可维护性。47:GenAndRun GenAndRun(Generate And Run)是一个表格驱动开发工具,它与Ruby on Rails(RoR)框架相类似。GenAndRun项目的主要目标是让Java Web开发简单化,利用这个框架来开发让我们只需关注应用程序的商业逻辑和界面,让GenAndRun生成大部份项目所需要的ORM与controller代码。GenAndRun当前使用Spring作为IOC引擎,IBatis作为ORM引擎,JSP/JSTL作为view。在将来新的版本中将会新增对现存其它技术的支持。48:Sails Sails是一个动态,开源的Web框架,采用测试驱动进行设计。它的配置,urls到Actions的映射与处理后转向的页面都是采用约定俗成的方式。Sails包括: 反转控制器Rigging, 模板语言Viento, 框架的核心Sails, Eclipse平台上的开发插件Shipyard, 范例程序Dock。49:Frame2 Frame2是一个可以代替Struts来开发Web应用程序的框架。它也支持web services在一个MVC上下文(context)中。Frame2还提供一个在Eclipse上进行开发的插件。50:Helma Helma是一个用来开发快速,稳定Web应用程序的开源框架。它使用JavaScript 来作为服务端脚本环境,从而可以除去编译周期。Helma是应用程序对象到数据库表格映射零代码化与简单化的先驱,此外一个内嵌的面向对象数据库可以完成未映射对象数据的自动持久化。Helma已被成功运用于许多大流量网站的开发如:antville.org,twoday.net,和blogger.de等网站。51:Brill Framework 这是一个让你只需用Java与XHTML技术就能够开发交互式Web站点的开源框架。它目的就是开发出一个简单,支持WYSIWYG页面编辑而不需要编写Java代码或在JSP页中使用特殊标签的框架。开发基于Java的Web应用程序通常是使用MVC设计模式和JSP技术,而Brill Framework虽然也使用MVC设计模式但在页面技术上它使用XHTML来代替JSP。XHTML的使用能够提高开发Web应用程序的效率与质量,从而减少了成本。52:XX Framework XX Framework是一个可配置,以XML为核心实现MVC开发模式的Web框架。这个框架能够让HTML表单直接映射到数据库字段来显示或更新数据而不需要编写额外的代码。它用XML文件进行配置并用XSL来显示。一些开源的工具也被运用到其中比如Hibernate和Castor。XX Framework的优势在于: 1.使用非常简单。 2.围绕一些Web标准(包括:J2EE, XHTML,XML,XSL,CSS)进行构建。 3.内置用于优化性能可配置的数据缓存和线程池功能。 4.与Web服务/本地Java class相结合。 5.使用一个基于"Portal"的方式来进行页面设置,以易于功能的划分。53:Equinox Equinox是AppFuse的一个轻量级版本。Equinox使用Spring MVC与Hibernate作为默认实现(数据库为:PostgreSQL)。但是你可以把Web框架改成JSF, Struts,Tapestry或WebWork。也可以把持久层框改成iBATIS,JDO(JPOX),Spring JDBC或OJB()。同时支持Ant和Maven2进行构建与测试。AppFuse与Equinox的不同之处在于AppFuse有以下特性: 1.使用Acegi Security进行授权和认证; 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--Pragmatic Enterprise Application KickStart and Common Library Stack,这么长的一个名字下来,不用解释大家都知道是做什么的了----以Spring Framework为core,提供一个Pragmatic的企业应用开发基础和最佳实践展示。 1.项目架构: 主要包含4部分,从脚往上扫是: 1).Common Library栈。提供一个经测试的、版本般配的Library及配置文件的组合。 2).Spring大叔一时没管到的少量必要的基类、utils类和glue code。 3).以一个Amazon式的网上书店,演示企业应用中各个主题的Best Pratice,各种框架类库组合的Config file&Sample code。 4).开发指南文档。 此部重要性不亚于上面三部,涉及企业应用开发的方方面面,将以独立版本号单独发行。 2.Featrue List mvc、orm、web service、jms、定时任务、全文索引、report & BI report、规则引擎、动态语言、安全权限管理、ajax、cache、logging、i18n....58:Groovy on Rails(Grails) Grails是一套用于快速开发Web应用系统的框架,基于Groovy动态语言。并构建在开源技术如:Spring,Hibernate和SiteMesh之上。它提供一个类似于Rails的平台可以无缝与Java平台相集成使得开发者能利用当前在Java和JDK方面的投入。Grails提供一个完整的开发平台包括内置Jetty web服务器并提供了一些强大的功能比如简单的对象关系映射(ORM),自动重新加载应用程序,为CRUD(新增,查询,修改,删除)操作提供代码自动生成支架(scaffolding)。此外Grails还提供了一些在Java中惯用的语法包括:运用AOP思想的拦截器,动态标签库,JSP和GSP(Groovy Servers Pages)支持。59:Waffle Waffle是一个类似于Rails的Web框架支持基于POJO的Actions,依赖注入,并且它没有依赖任何XML配置文件。采用waffle开发应用程序将比其它Web框架更加简单,而且易于测试。利用Waffle框架来开发Web应用程序只需要知道三件事情: *.Actions - 在Waffle框架中的action不需要继承或实现任何特定的类或接口。因为一个action就是一个(Pojo)。 *.Events - 在Waffle框架中一个事件对应Action类中的一个方法。使用任何方法可以不管它的标记(signature)或返回类型。Waffle将会根据事件的返回作出不同的响应。 *.Registrar - Registrar是你要注册Actions与其它公共组件的地方而当前大多数web框架需要你的应用程序创建特定的XML文件来做这些事件。使用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是一个开源,面向组件,事件驱动的Java MVC Web框架。它提供一种通用简单的方式来构建Web应用程序组件,复用自义定或一般的GUI逻辑,扩展该框架。Aranea强调必须使用POJOs面向对象的技术,并且提供一个Jsp标签库来帮助开发web GUI界面。62:2step 2step是一个用于开发完整Web应用程序(包括web服务)的框架。作为一个Servlet框架,它的特性有:访问控制、logging、I18N、数据库访问,XML/XSL支持等,还用到Jetty,FOP和jCharts开源项目。该框架提供一个用于辅助开发的Eclipse插件。63:Rhino in Spring Rhino in Spring这个项目把Rhino JavaScript解释器与Spring框架相结合。目的是提供一个把脚本(动态)语言快速开发的优点、灵活与Java平台和Spring框架的强大功能、高扩展性相结合的系统。这个项目发布了一个Spring MVC控制器(controller)组件用于把由Web应用程序多个web页面生成的复杂控制流用JavaScript表示成单一结构的工作流。64:Pushlets Pushlets是一个基于HTTP的发布/订阅框架,它实现了一种能够直接从服务端Java对象主动发送数据给浏览器端的HTML页面而不需要使用Java applets或插件的机制。这个框架当前使用两种方式实现:1.在servlet或jsp中将Javascript代码以流的形式传递给一个隐藏的frame。2.采用AJAX实现。65:jsf-comp jsf-comp一组JSF组件: Chart Creator用于在JSF页面中操作JFreeChart Client Validators用于JSF客户端校验 Acegi-JSFJSF版的acegi标签 Excel Creator用于导出数据到excel中 OnLoad通过页面访问代替form提交来运行JSF Action66:jbullet jbullet一个基于约定俗成没有XML的Java开源web框架,保持简单是它的原则,Struts是它的灵感,RubyOnRails是它的挑战。jbullet之所以简单是因为你所要做得只是编写简单的Java classe然后把剩下的交给该框架。约定俗成是驱动因素,JSP标签库是标准HTML标签的一个镜像,控制流非常流畅和明了。67:POMA ROMA是一个完全基于POJO的Web框架。整个框架采用Ruby On Rails的设计思想,利用该框架能够实现Ajax数据库Web Apps的快速开发。68:Shale Shale是一个基于JSF的web开发框架。Shale重用了大量的Struts基础代码,因此可以称Struts为它的"父"框架,但Shale是面向服务架构,它与Struts最大不同之处在于:Struts与JSF集成,而Shale则是建立在JSF之上。 Struts实质上是一个巨大的、复杂的请求处理器;而Shale则是一组可以以任何方式进行组合的服务。此外Shale加入了一些新的特性比如: 1.与Spring框架相集成可以使用Spring的依赖注入机制来创建JSF Managed bean。 2.提供一种可选的类似于Tapestry与Facelets使用纯HTML来定义视图。 3.提供测试框架,一组mock object和JUnit test case基类可以帮助测试自身框架的classe和在构建在该框架之上的应用组件。 4.提供AJAX的服务端支持。 5.Tiger扩展等。69:Wicket Stuff 这是一个把第三方组件集成到Wicket Web组件框架中的开源项目。这个项目当前提供的组件包括: Dojo ToolkitAJAX components integration Hibernate(2.1 and 3) components fValidate integration Groovy integration components Velocity Panel Freemarkerintegration JasperReportsintegration TinyMCEWYSIWYG JavaScript editor integration Yahoo UI componentsintegration70:Wedge Wedge是一个基于POJO面向组件的Web框架。它利用运行期代码生成和习惯命名来简化Web应用的开发。Wedge页面模板是包含一些关键字的简单xhtml文档与页面相对应的后台类是没有层次之分POJO。在运行期,wedge会生成并编译一个第三方class,这个class与页面模板和页面后台类相绑定。这个自动生成的class是在一个单独的class loader中加载,所以当页面模板或页面后台类变化时将被丢弃。Wedge在运行期能够重新加载模板和页面类的java源代码,这意味着你可以随意你页面类的java源代码(新增,修改,删除或重命名方法和属性),然后只要刷新浏览器就可以看到修改后的结果。71:OpenBlueLab OpenBlueLab是一个用于构建Web2.0 Portal系统的快速开发框架。其主页就是采用该框架开发的一个Demo。Portal布局可以通过UI进行配置。Widget将自动组装,在运行期不需要编写任何数据库交互代码就能够使它们自动实现数据感知。基于Ajax与HTML的form也将从XML widget定义自动构建。XML widget定义可以从描述信息系统设计的UML模型快速生成。这个框架让你只需关注信息系统的设计,而form和portal的系统架构将自动生成。72:ztemplates ztemplates这是一个基于Java1.5的Web框架并使用反射,注释和泛型来确保你可以基于POJO进行开发。这意味着你不需要实现任何接口或继承特殊的class。它的特点包括: 1.不需要XML配置文件,除了web.xml。 2.Type safety:在需要的地方使用泛型(generics)。 3.Url safety:Url用Java编码创建而不是在模板中,所以你不可能创建坏掉的链接。 4.灵活性:支持不同的表现层引擎如:velocity,jsp等。 5.支持i18n,form校验(利用Ajax和http),数据绑定。 6.提供安全机制,模板引擎。 7.此外ztemplates还实现了一些可扩展的Web UI组件如tree和tabpane等。73:qwicket qwicket:采用wicket+spring+hibernate搭建一个Web应用基础框架。类似于appfuse。74:Apusic OperaMasks Apusic OperaMasks包括一个提供原生Ajax支持的JSF引擎,以及在此引擎上开发的富客户端组件(Rich Component)。Apusic OperaMasks在引擎级别提供对Ajax的良好支持,并提供一组功能丰富的UI组件,旨在降低Web开发的复杂度,真正使Web开发变得轻松起来。 Apusic OperaMasks提供以下的功能特性: 标准兼容的JSF引擎 不依赖于应用服务器,在Servlet 2.5兼容的容器中均能运行。 容器级别Ajax支持 在引擎级别对Ajax予以支持,实现了对Ajax的无缝集成。 Annotation形式的ManagedBean声明 无须维护faces-config.xml文件,在POJO类上声明 @ManagedBean 即可定义一个ManagedBean,使得开发更加快捷。 统一的资源和皮肤管理 依赖于特有的资源管理机制,Apusic OperaMasks的皮肤管理独立于应用之外,灵活并具备非常好的扩展能力。 丰富的UI组件 提供一组功能丰富的UI组件(Rich Components),包括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,支持spring bean做Action(logic) 2.0配置,根据命名规范来查找Action类和view 3.和web环境松耦合,从理论上讲可以用在swing里 4.支持tdd开发,框架本身就是以tdd开发方式开发 5.代码少,一般mvc需要5个类,xyz只要3个,还可以通过GenericDAO,GenericLogic来减少重复代码 6.对开发者来说,一切实现都可以自己定制,由于hivemind支持迭代开76:Strecks 针对Java 5.0开发人员设计,扩展自Struts的一个Web框架。它的特点包括:POJO action,注释式校验,数据绑定和转换,依赖注入,拦截器等。77:Ruby on Spring Ruby on Spring是一个采用Ruby on Rails的思想与优点,集成JRuby动态语言与Spring框架而开发的开源项目。基于MIT license发布。78:Open-jACOB Open-jACOB是一个Web框架用于开发基于AJAX,数据库驱动,跨浏览器的Web应用程序。该框架设计成一个基于Eclipse的插件,可以利用该插件设计数据库,设计UI,部署/测试应用程序等。具体用法可查看其提供的一个Flash Demo。79:SpringXT SpringXT是Spring框架的一个扩展用于开发richer domain models与richer user interfaces的应用程序。采用Domain Driven Design设计原则。为此SpringXT提供两个框架SpringXT Modeling Framework:提供一些组件来开发rich domain model(它集中了所有业务逻辑,规则和约束,完全独立于应用程序的其它部分)并能够让它们与其它应用软件分层"优雅"结合。SpringXT Ajax Framework:一个完全与Spring MVC集成在一起,基于事件的Ajax框架。80:Frails Frails是基于JSF上的一个开发效率和RoR可以向媲美的Java Web框架。 Frails的特性如下: Frails 让开发者使用约定(习惯)和注解(annotations)来省略在 faces-config.xml 文件中 managed-bean 和 navigation-rule的配置. Frails 提供一个更简单的方法来使用 Faces API. Frails 重定向非 faces 请求为一个 faces 请求,这样可以避免因为URL输入的疏忽导致的异常. Frails 提供一些预定义的 Managed Bean 基类让开发者扩展 . Frails 可以让开发者在 Managed Bean 中使用注解(Annotation)来支持AOP功能 ,如 函数拦截(method interception). Frails 提供 Managed Bean 属性的injection 和 outjection Frails 中的Hibernate GenericDao 对象提供了基本的 CRUD 函数 和 其他一些有用(常用)的数据访问函数. Frails 还提供了一些有用的注解(annotations)来简化JSF的开发. Frails 完全支持 jsf 1.1 和 jsf 1.2 规范,并且可以自动的探测你使用的版本. Frails 提供了对action Method 和 Listener 函数的增强,在这些函数中现在你可以传递参数了.81:jZeno jZeno是一个用于开发web2.0应用程序的开源Java full-stack框架。类似于GWT,jZeno也能够把Java开发转换成Javascript/HTML/CSS。jZeno构建在Hibernate和Echo之上。82:Mantis Mantis是一个基于Java的小型MVC Web框架,通过Mantis,您可以快速开发一个Web系统,它具有以下特点: 封装数据库访问,事务处理,连接池集成,封装分页控制 封装数据库缓存和刷新机 基于URL反射的方法调用,避免复杂的XML配置; 简化配置文件,只需要一个配置文件即可完成web应用的灵活配置 完善的例外处理,超时处理 内置Mail, JfreeChart, JspReport及丰富的工具类 完善的认证授权机制和日志处理支持国际化 内置自定义标签和丰富的js简话页面的开发 内置丰富的js 内置Ajax83:JWC Java Web Components该项目当前开发了一些用于GWT应用程序的组件包括:GWT - Components(用于替换和增强GWT标准组件),GWT - TinyMCE (用于集成TinyMCEDHTML在线编辑器),GWT - FCK Editor (用于集成FCK EditorDHTML在线编辑器),GWT - Spring集成组件。84:Apache MyFaces Trinidad Apache MyFaces Trinidad是一个基于部分Oracle"s ADF Faces构建的JSF1.2组件库。85:WebGalileo Faces WebGalileo Faces是一组加入Ajax技术的JSF组件。组件包括:容器(container),面板(panel),左右列表(dual list),菜单(menu),日期和时间组件,流程图组件(flow chart)。WebGalileo Faces已经内建支持多种IDE包括Sun Java Studio Creator,IBM Rational Application Developer,Oracle JDeveloper和Eclipse。86:Hocate Hocate web framework是一套给予java的快速高效、构建web应用程序的框架,在框架的设计过程中,框架设计构思来源于国内众多项目实践,研究了(struts、jsf、Myface等)著名成熟的框架并继承了他们的优点,但也回避了些许他们弱点,利用FreeMarker作为页面模版解析引擎,实现一个页面及代码完全分离的简化的MVC开发框架。旨在构建一个能实现高效Web应用系统快速开发的简易Web框架87:GWT Pleso Framework GWT Pleso Framework是一个基于GWT的Web框架,主要用于开发AJAX数据库Web应用程序。它能够根据你的业务逻辑类自动生成用户界面。88:Apache Tiles Apache Tiles是一个视图框架基于"Composite View"设计模式构建,它能够把页面分割成可复用的子页面。Apache Tiles原本是Apache Struts的一部分,但是现在它已脱离自成一个完整独立的框架。此外它还能够兼容JSR-168 portlet。Struts2已经有一个基于Tiles2.0.4(最新版本为2.0.5)的插件。在不久的将来Apache Tiles还将发布用于Apache Shale/MyFaces的插件。89:krank krank是一个Java CRUD和Validation框架。校验模块能够利用Java注释(annotations)、property文件、XML文件或数据库表实现服务器端校验、Ajax校验或只有JavaScript校验。当前该模块能够集成到JSF、Spring MVC和Spring Webflow框架中使用。CRUD框架(包括新增/修改/读取/删除/过滤/排序)支持基于JPA的DAO对象。虽然默认只支持JPA,但是利用该框架提供的接口能够很容易实现对其它框架的支持如:Hibernate、Batis等。90:LazyJ LazyJ是一个Java Web应用程序开发框架。包括: 一个非常快的模板引擎,该引擎能够缓自动存编译过的模板。 提供响应缓存和数据缓存引擎。 封装常用的数据库操作功能,包括连接池。 基于数据库的Session保存机制。 提供便捷的文件上传功能。 提供通知/提醒框架,已经实现利用email和Yahoo! Messenger来发送通知。 提供一组与数据库绑定的HTML控件。91:Gwittir Gwittir项目为开发基于GWT的应用程序提供一组代码生成器,基础框架,工具类和一个MVC框架。92:jWebApp jWebApp是一个基于Servlet的MVC框架。jWebApp是当前最易于学习与使用的web框架。支持URI映射,服务器端Ajax支持和服务器端REST(RESTful web services)支持。此外一个非常高效的request缓存算法能够让jWebApp具有较高的运行速度。93:WaveMaker WaveMaker是一个Web应用程序WYSIWYG构建工具。它能够创建基于Dojo Ajax widget,Spring与Hibernate的应用程序。94:IWebMvc IWebMvc为开发基于Spring/Hibernate/dojo和DWR的Web应用程序提供一个基础框架。此外IWebMvc还支持Groovy,Spring Webflow2.0,Jasper Reports/Dynamic Jasper,多文件上传(包括一个特殊的控件)。提供Image Gallery控件,投票控件。95:SeamWebAppGen SeamWebAppGen是一个Web应用程序生成器。它生成的应用程序基于JSF2.1,JBoss SEAM,RichFaces和EJB3等技术并能够部署在JBoss Application Server (4.x)上。96:rapid-framework 一个类似ruby on rails的java web快速开发脚手架,本着不重复发明轮子的原则,框架只是将零散的struts(struts2)+spring+hibernate各个组件组装好在一起,并对struts及struts2进行改造,提供零配置编程,并内置一个强大的代码生成器及模板文件,可以生成java的hibernat model,dao,manager,struts+struts2 action类,可以生成jsp的增删改查及列表页面。 整个项目借鉴了ruby on rails,appfuse,springside 框架特性: 内置一个基于数据库的代码生成器rapid-generator,极易进行二次开发 struts1,struts2的零配置 spring集成及加强,自动搜索hibernate的entity annotation class 集成动态构造sql的工具:rapid-xsqlbuilder 集成javascript表单验证:rapid-validation 集成extremeTable分页组件,并简单扩展显示pageNumber 集成DBUnit及spring对数据库测试的支持 内置的分页查询PageInfo接口 Java日期转换的特殊处理,与My97DatePicker集成 内置最精简的ant构建脚本,简单修改即可使用 公共类库友好的包名javacommon 整个项目尽量做到最小集,无需删除任何资源,拿来即可使用. 友好的MIT-Licence97:mesir 组合各种常用的开源框架,并尽量简化这些框架的用法。为开发Web应用程序提供基础的框架。帮助开发人员快速有效的建立Web应用项目。当前组合的开源框架包括: JSF, Facelets MyFaces Orchestra Spring Hibernate (Search, Validator) Jboss Envers CXF, JAX-WS Joda Time (with Hibernate persistency support) Selenium Tests slf4j、logback98:Suco Suco是一个能够让GWT客户端实现代码简洁与模块化的框架。Suco主要关注两个方面:一.保持系统的模块化(使用IoC模式实现)。二.提供一个简单并且可扩展的publisher/subscriber(Event/Listener)机制。Suco IoC完全基于Google"s Guice IoC框架的思想,拥有Container、Provider、Factory和Scope等概念。99:PrimeFaces PrimeFaces是一个用于提高JSF Web应用程序开发效率的开源类库。主要由三个模块组成: UI Components:PrimeFaces UI模块提供了拥有Rich Web用户体验的各种JSF组件。PrimeFaces使用Yahoo UI库做为默认的客户端框架。PrimeFaces提供的JSF组件能够处理JavaScript Rendering和如何在服务器端与JSF集成。PrimeFaces UI组件包括:HtmlEditor、ImageCropper、Dialog、AutoComplete、Flash based Chart等。并支持通过Ajax更新页面。 Optimus模块提供简化JSF开发的解决方案。Optimus提供基于Google Guice IOC容器的注释来代替XML配置和一个XML-less Navigation Handler能够让你减少基于XML配置JSF Navigation的需要。此外Optimus还支持利用JPA实现数据持久化;将DataTable的内容导出成Excel与PDF。支持安全扩展。 FacesTrace模块提供跟踪JSF Web应用程序的各种工具包括:JSF LifeCycle可视化查看器;性能跟踪器; Log4J适配器;FacesMessage监听器;组件树可视化查看器。100:AribaWeb AribaWeb是一个基于组件的Web应用快速开发框架,用于创建基于Ajax的web应用程序。AribaWeb集成了开发数据库应用所需的全部功能,提供丰富的Rich Widgets(forms、pivot、tables、charts、rich text editors等)并且与一个ORM数据库框相绑定。AribaWeb开发的Web应用支持部署在不同的J2EE运行环境中。101:Jspresso Jspresso是一个full-stack Java RIA框架,用于开发N层分布式desktop-like应用程序。基于Jspresso开发的应用程序可以部署成Adobe"s Flex、Ajax (WingS)、ULC与Swing,并且是不需要改动任何GUI代码。102:Joindesk Joindesk是一个建立在Ext JS, Velocity and Spring基础上的J2EE Web应用框架。 Joindesk能够加速使用Ext组件的J2EE Web应用开发。不用编写一句JavaScript就可以在Java代码中直接响应来自Ext组件的事件。你在处理AJAX请求时也不必关心JSON或XML数据格式。 使用Joindesk框架开发Web应用UI交互,就像使用VB/VC开发桌面应用UI交互一样方便快捷。 在Joindesk中,相关的表单定义(JS)、页面模板(HTML)和页面处理逻辑(class)可以打包在一个文件中发布,使web应用模块化开发部署更方便。103:GWTruts GWTruts是一个易于使用的GWT MVC和依赖注入框架。它将GWT module分割成view、controller和validation等部分类似于传统Web MVC框架如Apache Struts。GWTruts使用XML配置文件来配置视图,控制器和其它属性。此外GWTruts还提供一个依赖注入机制类似于Spring能够让你自由定制你的视图和控制器。GWTruts完全采用GWT开发,因此能够很好地与任意GWT插件/扩展结合使用。104:Nutz Nutz是一组轻巧的开源框架,内容涵盖了: 1.数据持久化(Data Persistence) 2.反转控制(Ioc) 3.Web框架(MVC) Nutz所有的功能均不依赖第三方的jar包,上面三个部分可以独立使用。105:JQuery4jsf JQuery4jsf是一个开源JSF组件库。这些组件基于jQuery框架开发,当前可用的组件包括: Accordion Panel Datepicker Dialog Progressbar Slider Tabs Draggable Draggable Resizable Effect Autocomplete Carousel。106:vaadin vaadin是一个用于创建胖客户端Web应用程序的Java框架。拥有基于GWT实现的各种控件,所有代码全部采用纯Java实现,不需要编写任何JavaScript代码,没有复杂的配置,快速,易于扩展和维护。107:etmvc etmvc是基于Java技术,为WEB开发提供的一套简易MVC框架。简易但不简单,其设计和实现借鉴业界众多的优秀框架,如struts,spring mvc,ror,grails等,力图为Java开发人员提供一套高效的开发框架。 基于java技术开发,继承其强大、稳定、安全、高效、跨平台等多方面的优点 约定优于配置,免除开发过程中的配置之苦 具有良好的自我扩展能力 易于同spring等IOC框架进行集成 从实用的角度出发,精益求精,从实际开发经验中提取有用的模型 设计专门同EXTJS等框架进行整合的机制108:Induction Induction是一个强大,高性能的Java MVC Web应用开发框架。支持动态重新加载。基于类型的依赖注入。模型、视图、控制器之间的依赖分析。Induction的目标是简化开发复杂、高性能、可维护的Web应用。109:Play Framework Play Framework是一个功能完整的Java Web开发框架。采用RESTful架构设计,简便灵活。Play Framework使用MVC模式作为Web层,集成Hibernate管理持久层,Play Framework还使用一个基于Groovy的模板引擎。 Play Framework让开发者无须重新编译打包发布应用,即可看到修改后的效果,方便开发人员调试应用。 Play Framework采用了无状态模型,是一个真正意义上的"无共享"系统,能够在多个服务器上部署多个Play Framework的实例,所有实例都不会互相干扰。 Play Framework采用了Groovy作为模板引擎,让表示层真正做到了开发高效简洁 Play Framework拥有精确的错误定位机制,当错误发生的时候,可以精确的定位到错误代码的位置。 Play Framework的速度很快,启动快,运行的速度也十分快。110:ExpressWind ExpressWind是一个REST风格的MVC Web开发框架,与传统MVC框架(如Struts、WebWork)完全不一样。支持直观友好的URL如"/blog/display/20090909"这样更利于搜索引擎收录。能够在Java类方法中定义HTTP请求。支持用拦截器来处理事务、日志和其它事情。支持用ExceptionHandler来集中处理和控制异常。支持文件上传。111:Rose Rose是由人人网提供的、基于Servlet规范、Spring"规范"的开放源代码WEB开发框架。 Rose是面向使用Java开发的同仁们的。Rose 提供的各种特性和约束惯例,目的就是为了使您在能够轻松地开发web程序。如果您觉得Grails的想法很好,您不必转向它,Rose可以给您这种感觉,同时基于您对Java的熟悉,您又能更好地控制Rose。 我们希望Rose对各种技术的整合和规范,能使您摆脱犹豫,摆脱选择的困难,规避没有经验带来的开发风险。Rose不仅整合技术,同时还强调最佳实践,甚至包括名称规范。我们不仅仅只是提供技术,我们还会引导您应该如何使用好技术。 Rose规范了对Spring的使用,虽然大部分时间之内,您可能只是使用 @Autowired 即可,大多数时候的确这样也就够了。但 Rose 也允许您放置applicationContext-xxx.xml文件来扩展Rose。112:Simpleframework Simpleframework是基于 Intercepting-Filter模式和MVC2模式(我们称之为:后处理模式,After-Processing Pattern),基于"应用即组件,组件即应用(Application are components,component can be a application)"理念采用Java 技术实现的Web应用级框架。 其核心价值在于提供了以声明方式来描述组件行为的机制,该机制有效整合了客户端的UI视图、处理逻辑、存取访问控制策略、校验规则,以及服务器端的数据持久化、分布式缓存、业务规则等的一体化应用 提供一套完整的Web UI组件来简化和加快AJAX/富Web应用(Rich Internet Application)的构建、部署及维护进程,从而达到降低Web应用开发成本、缩短开发周期和提高应用效能的目的。113:jdonmvc 一个站在Jdon框架上面向DDD,DCI,CQRS等架构风格的表现层开发框架。框架特点:超级易用,易扩展,默认会使用Jdon作为领域模型管理框架。114:J-HI J-HI是一款JAVA WEB应用软件快速开发开源平台,主要服务于软件企业和传统行业企事业单位信息中心的开发人员,为他们提供一套完整的一站式的JAVA WEB应用软件快速开发解决方案。平台包括如下几个部分: 1、J-HI平台集成环境:J-HI团队开发了一个集成开发环境J-HI Studio,在此集成开发环境之上,开发人员能够快速搭建自己的开发环境,创建自己的模型,快速生成代码。 2、核心框架:平台为Java代码与js代码之间提供了一套完整的面向对象的核心框架支撑系统,可以认为这是一个抽象层,无论是在页面表现上,还是在CURD的任意一层,平台均提供了最大限度的抽象。用以保证平台本身的可扩展性、稳定性及灵活性。J-HI平台中提供了大量的API(java与js),为用户在开发过程中随需调用,从而进一步加快开发速度,保证代码质量。 3、业务平台功能:包括权限管理、组织结构、枚举管理等。 4、工作流:包括工作流引擎及流程编辑器等。 平台主要致力于解决如下问题:: 1.高效: 在J-HI中,有对业务对象和业务流程的图形化设计工具,能快速的生成一套完整的应用程序。 2.高质: 从业务层面上说,利用J-HI产品的业务对象和业务流程设计器能以图形化的方式直观描述业务需求,快速生成代码完全开放的完整应用,满足了客户的业务需求;。 3.变化: 利用J-HI的业务对象设计器可随时修改对象属性,快速应对客户的需求变化,并且源码可重复生成,不影响手写的代码。115:Summer Summer是下一代Spring MVC的表现层框架。它提供了最好的HTML5模板引擎并利用了许多Spring3的特性如内容协商(Content negotiation),REST支持,资源处理等。此外它还支持一些开箱即用的JavaEE6规范如Servlet3.0,JPA2.0,Bean Validation和EL2.2。116:dispatcher 一个简单的MVC框架或者不能算是MVC 作用:通过URL直接将请求转发到具体的方法上。 配置:唯一的配置文件为config.properties,暂时里面只需要配置一句url.suffix=com.wenbin.action(就是需要进行转发的类的包路径,多个路径用逗号隔开)。解决的问题:简化配置,去除配置文件,尽可能的使得软件的维护成本降低。并且降低学习成本。117:SoybeanMilk SoybeanMilk是一个极其简易、友好、且零侵入的Java MVC实现框架: 它几乎没有学习成本,你只需要熟悉jsp和servlet技术 也不需要你遵从任何代码编写模式 你的代码中找不到任何这个框架的踪迹 使用它,您仅需要指定URL和参数值便可以执行任何Java对象的任何方法并控制和取得其返回结果。 如果你是一个WEB开发者,并且已经有点厌烦现有的WEB开发框架所固有的开发方式(固定的代码编写模式、芝麻点的小功能也要写一堆接口),应该考虑了解下这个框架。 还有,这个框架并不是仅能应用于WEB程序,你也可以在桌面程序中使用它。118:GWT Portlets GWT Portlets是一个开源Web框架用于开发GWT(Google Web Toolkit)应用程序。它定义了一种非常简单、高效、强大的编程模型来构建好看和模块化的GWT应用。编程模型有点类似于为Liferay, JBoss Portal等portal服务器编写一个JSR168 portlets。119:Spring Mobile Spring Mobile 是 Spring MVC 的扩展,用来简化手机上的Web应用开发。120:SerfJ SerfJ提供了一种最简便的方式来开发Java REST Web应用程序。它能够帮助你开发一个基于优雅MVC模式的应用程序,采用某些约束习惯来代替配置文件,所以不需要用配置或注释来指定哪个视图对应控制器中的哪个方法。121:GrailsUI GrailsUI(GUI)是一个Grails插件,封装了YUI和 YUI 扩展(Bubbling),将二者的组件以Taglib的形式提供给用户,让Web页面UI的开发变得方便快捷。122:Pandora Pandora是一个易于使用、快速和轻量级的Web应用开发框架。Pandora使用Velocity模板作为前台页面视图,Ebean ORM作为持久层来操作数据库。123:eRedG4 eRedG4(易道系统集成与应用开发平台)是一个开放源代码的、面向企业计算环境下异构系统集成与行业应用快速二次开发的平台。它包括:基础类库、业务模型框架、富浏览器端开发框架、富桌面端开发框架、权限参考模型、平台代码生成器六大组成部分。Demo124:Tobago Tobago:目标是提供一套基于JSF以及myfaces的良好设计的UI组件。Tobago不仅仅只是一套标签库。下面的几点让它与其它框架不同: - 无需HTML设计,聚焦于商业应用程序的开发。开发者可以将精力集中在用户界面上,而不是网页。 - UI组件是对HTML的抽象,它不仅仅可以用于HTML页面,它的输出格式可以定制。 - "主题"机制,使得可以很容易切换应用程序的外观。 - 布局管理器可以自动排列组件,这就意味着无需使用HTML表格或其它技术来手工管理组件的布局。125:full-hibernate-plugin-for-struts2 这是一个能够将Hibernate完全整合至Struts2中的插件。包括:Hibernate Validator整合,Hibernate Core Sessions注入,事务注入和Hibernate Core配置管理Web工具。126:Prism 三棱镜 (Prism)是一个由JAVA开发的超轻量的开源框架,其目标是实现WEB系统的页面与代码分离,并且不需要书写大量的配置文件。 同时,三棱镜 (Prism)还是一个非常简单的框架,稍有基础的人都可以在10分钟之内了解开发中的全部规范,1小时之内就可以灵活应用。 三棱镜 (Prism)框架设计构思来源于众多项目实践,框架充分借签了当前非常流行的开源Web框架 Struts,吸取了其优点及精华,并尽力简化了需要学习的新内容,在实现了页面及代码完全分离的前提下,充分利用开发人员已掌握的开发知识。127:OpenHandX OpenHandX前身是我个人长期工作积累的复用代码,因为工作原因这些代码长期不使用、不整理久而久之就会被遗弃掉,实在可惜。终于有一天下定决心将这些复用代码重构、重新组织、工具化、并补充文档,就产生了OpenHandX。如果只是将OpenHandX工具化容易造成每个工具之间割裂,很难形成一揽子解决方案,OpenHandX的作用大打折扣。这就需要OpenHandX继续产品化、平台化。OpenHandX包括web开发、异步批量开发、报表工具、工作流、规则引擎等。128:Apache Wicket visural-wicket是一组开源的Apache Wicket组件和工具。他们被设计成重量轻,松散耦合,并很容易以最小依赖与任意现有Wicket应用程序相集成。组件包括: 下拉框-一个组合框组件,允许用户从一个值列表中选择一个项。也可以用作"建议"框,不强制选择列表值中的一个。 FancyBox -"灯箱"部分将显示一个图像,一个图像组,另一个Web容器或在一个有吸引力的模态窗口iframe画廊。基于FancyBox 富文本编辑器-一个WYSIWYG HTML编辑器中的文本区小门更换下降。基于NicEdit codebox -语法高亮显示组件的源代码。基于谷歌美化。 "指示"链接——两种类型的提交和常规链接组件。有模态链接,在处理表单或动作时显示模式"等待"(或自定义)消息,以及"指示"链接,在处理请求时使用"Ajax样式"指示符图像(或自定义内容)替换某些DOM元素。也许最好检查一下这些人的演示。 dateinput -一个新的行为提供了一个弹出JavaScript日期选择器 inputhint -一个新的行为提供了"提示文本"里面输入字段,它消失时,用户关注的领域 美丽秘诀-一个新的行为,提供了丰富的、有吸引力的、可设置样式的工具提示的任何组件 "保兑"–提示/确认对话框,可以用于任何链接或提交型导作用 对话框-一个灵活的模态对话框组件,可以通过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应用程序可运行在任意Java servlet服务器上,并可以使用所有Java类库,服务器等。Scala是一种比Java更高级和更易于编写的开发语言。131:Webx Webx是建立在Java Servlet API基础上的的通用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通用快速开发平台(The Rapid Platform For J2EE Development) 1、Wabacus框架是一个JAVA开发框架,提供完整的前后台服务,所以与JQuery,Ext等纯客户端框架不同,它能实现完整的SSH框架实现的功能,但是开发效率比SSH框架快好几倍; 2、Wabacus框架对项目没有任何侵入,因此可以与任意框架(包括SSH)共存于一个项目,也就是说部分用Wabacus快速开发,部分Wabacus目前不支持的(比如webservice、全文检索等) 则用SSH或其它框架开发。 3、这里广泛使用的"报表"术语,不是指真正意义上的报表,只是一个习惯称呼,Wabacus框架也不仅仅是一个报表工具,而是一个JAVA开发框架,或称快速开发平台。Wabacus框架主要特点: 支持热部署,增、删、改应用后,无需重启服务或redeploy,只需访问/ShowReport.wx?ACTIONTYPE=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虽然不如java web一样支持jsp动态页面,但是集成了velocity作为动态页面解析语言. 工作原理:joywindow原理是java内嵌浏览器做界面展示,通过一个simpleServer来作为传递资源,响应事件的中间处理,在base版本中,simpleServer也是开发的重点.136:XEO(eXtensible Enterprise Objects) XEO是一个敏捷开发框架设计用于构建企业Web应用系统。XEO是围绕面向对象的概念和模型驱动开发(MDD)实现。利用XEO,你模型的业务实体(包括它们的属性和方法)都当成XEO模型,然后交由该框架的"Builder"来生成应用程序的支撑架构比如:数据库表格(持久化数据)和Java类(提供对象-关系映射和方法)。创建好XEO模型之后就可以生成基于这个模型的Web页面(包含查询,修改,列表等功能)。137:Beangle Beangle立足Java企业软件开发,提供敏捷、基于约定(Convention Over Configuration)的脚手架和工具包。着力以简化项目构建,并规范项目开发习惯,形成易于管理的最佳实践.(Introduction) 子模块 1、Commons提供字符串、压缩、再配置、csv等基础api的辅助方法 2、Model提供对实体映射、查询存储、转换的基础api 3、Rule 对规则定义、使用和存储的api 4、Spring支持基于spring的再配置和自动配置 5、Struts2 Coc提供struts2的约定优先配置和基础Action 6、Struts2 Tag提供常见的web组件 7、Security Core 提供简化的权限控制框架 8、Security Web 提供web应用上的权限集成 9、Security Bluepring 提供基于数据存储的默认权限实现 10、Security Cas Support支持cas集成 11、Security Ldap Support支持Ldap集成 12、Webapp System 提供了样例应用 scala实现的database程序库https://github.com/beangle/beangle-scala 1、Database Meta 数据库原信息支持包 2、Database Replication数据库复制工具138:WEB4J WEB4J是个极度简化、特色十足、一站式的Java Web框架。WEB4J框架的创建者John O"Hanley说到:WEB4J在提升Java开发生产力的同时又消除了各种痛苦,因为其非常精简且能显著地加快应用开发的速度。 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、Web Services及依赖注入的内置支持 3、支持JSP/JSTL,但却没有像Velocity那样的标记库139:Spack Spark是一个源于Sinatra的微型Web开发框架,用于以最小的代价快速开发Web应用。 Sinatra是一个基于Ruby语言,以最小精力为代价快速创建web应用为目的的DSL( 领域专属语言)。140:Spring4Me Spring4Me是从另一个开源项目Enterprise Connect中提炼出来的,以 Spring 为核心,在 Spring MVC 的基础上实现了一套基于组件的编程模型。 Spring4Me 的未来发展方向主要是以 Spring MVC, Spring, JPA 为主, 并以 Demo 工程的形式来展示 Spring MVC, Spring, JPA 的整合方式,以及基于 Spring4Me 的组件开发方式。141:douyu 一种新的Java开发平台,将编译器、Http服务器、MVC、权限完美整合在一起,实现了ORM的自动化。142:Easy Java Websites Easy Java Websites (EJW)是一个基于Java Servlet实现的MVC Web应用程序开发框架。它专门为能够以非常简单的方式来开发Web应用程序而设计。EJW简单到可以在几分钟内学会。143:JBob JBob是基于Java和AJAX的平台系统,采用Ext JS作为前端用户界面,Et-mvc作为后台支持框架,主要用于快速开发企业级信息管理系统。 平台集成了开发环境、运行框架,主要实现了用户组织、资源与权限管理、通用操作、国际化语言处理、枚举管理、运行监控等通用应用。平台从设计到开发都坚持简约实用和约定优于配置的原则,致力于精简的配置、高效的开发模式和稳定的性能,让你集中精力解决客户需求,快乐地开发WEB项目。 用户和权限控制是JBob平台系统的核心功能之一,从用户角度出发,以简易实用和高效稳定的方式实现权限配置。144:Cetia4 Cetia4是一个对REST提供完善支持的Web开发框架。 Cetia4特点:基于Servlet API开发,可以运行于所有的Web容器中。 优点: 1. 可以充分利用Servlet API和JSP等资源,需要额外学习的概念较少,学习成本较低。 2. 对于传统的Web应用,可以使用服务器端HTTP Session;对于Web服务类应用,不使用HTTP Session,基于无状态服务器模型做开发。 3. 自身包括了对于Web MVC的支持,熟悉Web MVC框架的开发者很容易理解。还内建了参数映射、参数验证等等传统Web MVC框架所支持的功能。 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扩展 ,对JavaServer Faces– JSF 1.1, 1.2和2.0提供了增强支持。能够用于创建便于书签收藏、搜索引擎友好的网址。PrettyFaces优雅地解决了"RESTful URL" 问题,包括这样一些特性如: 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是google code项目库中一个开源的basedao,我灰常喜欢,因为我找不到更好更适合我的)。147:Gaelyk Gaelyk是一个专门针对 Google App Engine 设计的轻量级 Groovy 框架。提供URL路由系统。Google App Engine是Google提供的基于Google数据中心的开发、托管网络应用程序的平台,每个 Google App Engine 应用程序都可使用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是一个JSP WEB项目,提供了几个JSP例子。150:EWeb4j EWeb4j,一个JavaEE的开源框架,全栈式Web框架。支持REST,事务模板,MVC,ORM,IOC等功能。 主要特性: Component组件支持 DWZ组件 分页组件 …… MVC 约定由于配置,可零配置。 两种配置方式(xml,注解)供您选择 更加灵活方便的url mapping 两种参数绑定方式(类属性、方法参数)供您选择 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。Spring MVC的速度也好快,但不喜欢它基于元数据的配置。于是想找一个同struts2一样有先进的设计思想,身躯小,速度和servlet差不多的框架,google了,但没有找到,于是就动手自己写了一个,于是有了dingframework MVC的延生。 dingframework MVC是一个轻量的,速度极快的MVC框架。它只有几十K大小,功能和使用同struts2差不多,基于XML配置,配置文件分模块化,自动类型转换,声明式表单校验,国际化,自定义拦截器,自动化文件上专,防止重复提交等。dingframework MVC极其简单,有struts2的大部分功能,完全基于拦截器设计,如果去掉MVC中的拦截器,就变成了一个原生servlet应用。152:Nibiru Framework Nibiru是一个Java服务器端开发框架,以方便模块化应用程序的创建为目标。它的特性包括: 为不同的技术提供了一个抽象层,以避免耦合 提供一些常用的共同服务组件比如:CRUDs,报表,工作流,事务管理,安全和国际化 系统提供动态更新机制,以允许热插拔。 实施有利于在一个结构化的方式解决问题的模式。不过要避免强制用户执行一个给定的解决方案。 促进解耦模块之间的通信。 避免推倒重来。创建抽象层,但尽可能使用现有的技术。 其实现基于现有的许多技术,比如:OSGi, Vaadin, Spring和Hibernate 152款框架,你还知道其他的吗? 留言你用过的web框架