?WebWork ??點擊次數(shù):12661
WebWork是由OpenSymphony組織開發(fā)的,致力于組件化和代碼重用的拉出式MVC模式J2EE Web框架。WebWork目前最新版本是2.1,現(xiàn)在的WebWork2.x前身是Rickard Oberg開發(fā)的WebWork,但現(xiàn)在WebWork已經(jīng)被拆分成了Xwork1和WebWork2兩個項目。 Xwork簡潔、靈活功能強大,它是一個標準的Command模式實現(xiàn),并且完全從web層脫離出來。 Xwork提供了很多核心功能:前端攔截機(interceptor),運行時表單屬性驗證,類型轉(zhuǎn)換,強大的表達式語言(OGNL – the Object Graph Notation Language),IoC(Inversion of Control倒置控制)容器等。 WebWork2建立在Xwork之上,處理HTTP的響應(yīng)和請求。WebWork2使用ServletDispatcher將HTTP請求的變成Action(業(yè)務(wù)層Action類), session(會話)application(應(yīng)用程序)范圍的映射,request請求參數(shù)映射。WebWork2支持多視圖表示,視圖部分可以使用JSP, Velocity, FreeMarker, JasperReports,XML等。在WebWork2.2中添加了對AJAX的支持,這支持是構(gòu)建在DWR與Dojo這兩個框架的基礎(chǔ)之上.【EclipseWork:用于WebWork輔助開發(fā)的一個Eclipse插件】
?Struts ??點擊次數(shù):16052
Struts是一個基于Sun J2EE平臺的MVC框架,主要是采用Servlet和JSP技術(shù)來實現(xiàn)的。由于Struts能充分滿足應(yīng)用開發(fā)的需求,簡單易用,敏捷迅速,在過去的一年中頗受關(guān)注。Struts把Servlet、JSP、自定義標簽和信息資源(message resources)整合到一個統(tǒng)一的框架中,開發(fā)人員利用其進行開發(fā)時不用再自己編碼實現(xiàn)全套MVC模式,極大的節(jié)省了時間,所以說Struts是一個非常不錯的應(yīng)用框架。【StrutsIDE:用于Struts輔助開發(fā)的一個Eclipse插件】
?EasyJWeb ??點擊次數(shù):3293
EasyJWeb是基于java技術(shù),應(yīng)用于WEB應(yīng)用程序快速開發(fā)的MVC框架,框架設(shè)計構(gòu)思來源于國內(nèi)眾多項目實踐,框架充分借簽了當(dāng)前主要流行的開源Web框架(Struts、JSF、Tapestry 、Webwork),吸取了其優(yōu)點及精華,利用Velocity作為模板頁面引擎,是一個實現(xiàn)了頁面及代碼完全分離的MVC開發(fā)框架。是一個能實現(xiàn)中小型Web應(yīng)用系統(tǒng)快速開發(fā)的簡易Web框架。
通過EasyJWeb Tools提供的配套開發(fā)工具,可以實現(xiàn)基于EasyJWeb框架的Web應(yīng)用快速開發(fā),包括常用應(yīng)用軟件的代碼自生成、數(shù)據(jù)庫添刪改查(CRUD)代碼生成、自動頁面模版生成、配置文件管理等。
框架特點:
1、零配文件置支持。以前我們每接觸一個框架,開始總都要被他的配置文件折騰一番。EasyJWeb實現(xiàn)零配置支持,可以不寫一句配置文件就在框架基礎(chǔ)上構(gòu)建你的運用。(適合小型網(wǎng)站系統(tǒng))。
2、簡易的模板頁面設(shè)計支持:放棄使用jsp,使用簡單Velocity腳本語言作為頁面模板。
3、頁面程序完全分離:實現(xiàn)顯示頁面與程序邏輯的完全分離,克服了傳統(tǒng)jsp頁面難于維護的問題。
4、基于頁面組件的框架。靈活的頁面組件配置,可以直接通過配置文件設(shè)置字段級的事件組件。
5、快速開發(fā)支持:通過EasyJWeb Tools,可以自動生成應(yīng)用軟件模板代碼,定制并管理自己的J2EE代碼模板,代碼生成模板支持最流行的實用Java開發(fā)框架(如hibernate、Spring等)實現(xiàn)快速開發(fā)。
?Tapestry ??點擊次數(shù):5556
Tapestry是一個開源的基于servlet的應(yīng)用程序框架,它使用組件對象模型來創(chuàng)建動態(tài)的,交互的web應(yīng)用。一個組件就是任意一個帶有jwcid屬性的html標記。其中jwc的意思是Java Web Component。Tapestry使得java代碼與html完全分離,利用這個框架開發(fā)大型應(yīng)用變得輕而易舉。并且開發(fā)的應(yīng)用很容易維護和升級。Tapestry支持本地化,其錯誤報告也很詳細。Tapestry主要利用javabean和xml技術(shù)進行開發(fā)。【Spindle:Tapestry輔助開發(fā)Eclipse插件】.
?Cocoon ??點擊次數(shù):1577
Stefano Mazzocchi于1999年1月創(chuàng)建了Cocoon項目,將其作為ASF之下的開放源代碼項目。Cocoon的目標是幫助分離內(nèi)容格式、邏輯和對基于XML網(wǎng)站的管理功能。Cocoon使用XML, Extensible Stylesheet Language Transformations (XSLT), 以及 Simple API for XML (SAX) 技術(shù),以幫助創(chuàng)建、部署和維護XML服務(wù)器應(yīng)用程序。它支持大多數(shù)類型的數(shù)據(jù)源,包括RDBMS、LDAP和文件系統(tǒng)。在Eclipseh下進行開發(fā)的插件
?Echo ??點擊次數(shù):1180
Echo是為用Java開發(fā)Web應(yīng)用程序提供的一個面向?qū)ο?事件驅(qū)動的框架。使用Echo 框架來編程類似于使用Swing API來開發(fā)應(yīng)用程序或applets 。
?Turbine ??點擊次數(shù):1079
Turbine是基于Servlet的框架包,也是開放源代碼Jakarta項目。目前還沒有關(guān)于Turbine的大量文檔。它類似于Struts,但是有一些主要區(qū)別。突出的一點就是它并沒有與JSP耦合。Turbine的特點是它提供了大量可重用的組件。此框架包中包含了大量組件,但是這些組件是離散的。它似乎應(yīng)該給出更多的組件庫,但是由于它缺少文檔,所以很難掌握完整的體系結(jié)構(gòu)。
?MyFaces ??點擊次數(shù):2737
MyFaces是JavaServer(tm) Faces(JSF) Web框架 (JSR 127)的一個實現(xiàn)。JavaServer(tm) Faces Web框架是一個新的實現(xiàn)MVC模式的規(guī)范.它可以與Struts框架相媲美甚至的一些特性與觀念已經(jīng)超過了Struts.【FacesIDE:Eclipse下的一個輔助開發(fā)插件】.
?JPublish ??點擊次數(shù):1046
JPublish是一個功能強大的Web發(fā)布系統(tǒng),設(shè)計為確保開發(fā)者角色的清晰的分離。JPublish 支持多模板引擎,包括Jakarta Apache's Velocity, FreeMarker and WebMacro。JPublish支持眾多腳本語言,包括Python, BeanShell, and JavaScript。
?Japple ??點擊次數(shù):854
Japple是一個建造Web應(yīng)用程序和服務(wù)的快速應(yīng)用程序開發(fā)環(huán)境。Japple在Java2平臺和開放標準之上建造,和傳統(tǒng)方法相比可以讓你更快、更容易、更有效地開發(fā)和部署Web應(yīng)用程序。
?Jaffa ??點擊次數(shù):689
是為快速應(yīng)用程序開發(fā)提供的一個企業(yè)Java框架。JAFFA 是一個Java Web應(yīng)用程序開發(fā)框架,用基于MVC為基礎(chǔ)的Web窗口部件來擴展現(xiàn)存的項目。
?Anvil ??點擊次數(shù):606
Anvil是一個基于Java的為Web程序開發(fā)的平臺,獨立或伺服式都是可部署的。它包括大量功能齊全的面向?qū)ο蟮木幊陶Z言。語言的一個子集也可用于一個以tag為基礎(chǔ)的模板語言。所有的腳本和模板都被匯編為Java比特代碼。
?SiteMesh ??點擊次數(shù):2327
OS(OpenSymphony)的SiteMesh是一個用來在JSP中實現(xiàn)頁面布局和裝飾(layout and decoration)的框架組件,能夠幫助網(wǎng)站開發(fā)人員較容易實現(xiàn)頁面中動態(tài)內(nèi)容和靜態(tài)裝飾外觀的分離。
Barracuda是一個HTML DOM Component + Event/Listener結(jié)構(gòu)的框架。根據(jù)模板文件或配置文件生成靜態(tài)Java類,并在代碼中使用這些生成類,Barracuda需要用XMLC項目把所有的HTML或WML模板文件,靜態(tài)編譯成DOM結(jié)構(gòu)的Java類,作為頁面組件。XMLC會根據(jù)HTML元素的id定義,生成相應(yīng)DOM結(jié)點的簡便操作方法。Barracuda的事件類也需要用Barracuda Event Builder工具把event.xml編譯成Java類,引入到工程中。Barracuda直接用Java類的繼承關(guān)系映射事件之間的父子層次關(guān)系。比如,ChildEvent是ParentEvent的子類。Barracuda的事件分為兩類:Request Events(Control Events)和Response Events(View Events)。Barracuda事件處理過程類似于Windows系統(tǒng)消息隊列的處理機制。
?Maverick ??點擊次數(shù):699
Maverick是一個輕量而完備的MVC Model 2框架。Maverick的Action稱作Controller。Controller只接受一個ControllerContext參數(shù)。request,response, servlet config, servelt context等輸入信息都包裝在ControllerContext里面,而且Model也通過ControllerContext的model屬性返回。整個編程結(jié)構(gòu)清晰。但由于ControllerContext只有一個model屬性可以傳遞數(shù)據(jù),程序員必須把所有需要的數(shù)據(jù)都打包在一個對象里面設(shè)置到model屬性里。這種麻煩自然而然會導(dǎo)致這樣的可能用法,直接把Controller本身設(shè)置為model,這又回到了Controller(Action)和Model一體。
Spring MVC是結(jié)構(gòu)最清晰的MVC Model 2實現(xiàn)。它的Action也不叫Action,而是稱做Controller;Controller接收request, response參數(shù),然后返回ModelAndView(其中的Model不是Object類型,而是Map類型)。但在其它的Web Framework中,Action返回值一般都只是一個View Name;Model則需要通過其它的途徑(如request.attribute,Context參數(shù),或Action本身的屬性數(shù)據(jù))傳遞上去。
?Shocks ??點擊次數(shù):624
Shocks 是一個開放源碼的開發(fā)框架,目的是減少 Java Servlet 應(yīng)用的復(fù)雜性。Shocks 并不是 MVC 模式的開發(fā)框架,而是采用下一代的體系結(jié)構(gòu),明確分開了內(nèi)部各個組件的角色。該項目目前還不夠成熟,但值得關(guān)注。這里只是簡單介紹,如果你要快速了解 Shocks,請閱讀 Shocks 的 FAQ,里面講解了 Shocks 與 Struts,Webwork,Spring 的關(guān)系和差異。
?WebCream ??點擊次數(shù):816
WebCream提供基于Java應(yīng)用程序和Applet的web GUI,允許開發(fā)人員利用AWT和Swing實現(xiàn)GUI前端應(yīng)用程序,同時自動地使HTML訪問該應(yīng)用程序。
?AppFuse ??點擊次數(shù):6027
AppFuse是一個集成了眾多當(dāng)前最流行開源框架與工具(包括Hibernate、ibatis、Struts、Spring、DBUnit、Ant、Log4J、Struts Menu、Xdoclet、SiteMesh、OSCache、JUnit、JSTL)于一身的Web開發(fā)框架。AppFuse提供了Web系統(tǒng)開發(fā)過程中都需要開發(fā)的一些功能,如登陸、用戶密碼加密,用戶管理、根據(jù)不同的用戶可以展現(xiàn)不同的菜單.J2EE開發(fā)者也可以在此基礎(chǔ)上開發(fā)加入自己的功能模塊。利用這個框架可以大幅度的提高開發(fā)速度。
?VRaptor2 ??點擊次數(shù):678
VRaptor2是一個MVC與IOC的Web框架.它采用了許多框的思想包括:JBoss Seam,Stripes,Webwork,Hibernate Annotations等。VRaptor2充分利用Java5注釋使得可以通過簡單的方式來處理Web編程。你的商業(yè)邏輯類不需要與javax.servlet API聯(lián)系,并且與其它框架相比它只需要很少配置。
Chrysalis是一個Java Web開發(fā)框架.它有一個不同于大多數(shù)MVC Web框架的地方.Chrysalis的控制器類跟正常的Java類一樣有著多個方法,客戶端請求的URLs被映射到這些控制器方法.
?Verge ??點擊次數(shù):531
Verge框架是一個開源J2EE應(yīng)用程序框架完全采用Java開發(fā)只使用到標準的J2EE APIs.這個開源項目的目的為開發(fā)企業(yè)應(yīng)用程序提供一個非常靈活和可擴展的框架.
WebOnSwing是一個革命性的多環(huán)境應(yīng)用程序框架.它允許你創(chuàng)建web 應(yīng)用程序并可用同樣的方式開發(fā)一個桌面程序.它不需要使用Jsp文件,特殊的標簽,XML文件, requests, posts等,所有的都是Java與直接來自圖形設(shè)計的HTML文件.這個框架使用Swing組件來構(gòu)造和處理HTML頁面,并允許使用MVC設(shè)計模式.所有在Web上的工具都可以由Swing 提供.
?RIFE ??點擊次數(shù):1052
RIFE為開發(fā)和設(shè)計Web應(yīng)用程序提供了另外一種途徑。它基于Java平臺構(gòu)建,但它提供了所有需要的工具和AIPs用統(tǒng)一的風(fēng)格,快速地實現(xiàn)所有web程序各開發(fā)角色之間的任務(wù)聯(lián)系。RIFE被設(shè)計成在整個開發(fā)周期中完全分離了開發(fā)角色之間的任務(wù),每個developer,dba和designer只需關(guān)注它們自己的任務(wù),整個開發(fā)工作隨時都可以很容易的與其它團隊的工作相結(jié)合,使得這樣子開發(fā)出來的將是一個松耦合的健壯的系統(tǒng)。RIFE由許多標準的組件組成,它們包括:
*Web程序引擎
*結(jié)合Web擴展
*多格式模板引擎選擇(html, xml, sql, java, txt, ...)
*支持內(nèi)容導(dǎo)出(比如導(dǎo)出為XSLT格式)
*驗證框架
*數(shù)據(jù)庫查詢構(gòu)建器
*簡單的持久層
*JDBC優(yōu)化與連接池
*可配置框架等。
?用它可以輕松的解決Http's無狀態(tài)連接問題與CGI的接口。這個框架已經(jīng)成功的應(yīng)用在許多網(wǎng)站上如:Bla-bla List,Netwerk,Caosity,Dag Allemaal,GreenEnergy等。
?Wicket ??點擊次數(shù):1761
Wicket一個開發(fā)Java Web應(yīng)用程序框架。它使得開發(fā)web應(yīng)用程序變得容易而輕松。 Wicket利用一個POJO data beans組件使得它可以與任何持久層技術(shù)相結(jié)合。一個結(jié)合Eclipse工具的Demo可以引導(dǎo)你如何利用Wicket來發(fā)開Web應(yīng)用程序。
?Beehive ??點擊次數(shù):712
Beehive用于簡化Java 2 Platform, Enterprise Edition(J2EE)以及Web服務(wù)編程。
Apache Beehive支持以下功能:
*Java Page Flow(JPF)技術(shù),也稱為(NetUI)
*輕量級的組件框架
*基于Java Specification Request(JSR)181的Web 服務(wù)
JSPWidget是一個Jsp框架,它提供了事件驅(qū)動,視圖狀態(tài)保留(view state retained),服務(wù)端GUI控制來使得JSP開發(fā)能夠像在傳統(tǒng)的窗體客戶端與基于客戶端的web應(yīng)用程序中一樣直觀.
?JNex ??點擊次數(shù):521
JNex是實現(xiàn)MVC設(shè)計模式的純Java框架.它可以使用三種視圖(view):Swing,HTML,和Canoo ULC.
?WFNM ??點擊次數(shù):499
WebFlow Navigation Manager (WFNM)是一個輕量級的Web框架.它允許WebFlow定義,服務(wù)端歷史向?qū)?navigation history),自動動Session清除.WFNM框架把web應(yīng)用程序分離幾個WebFlow,服務(wù)端保持訪問過的頁面和WebFlow的歷史記錄,可以動態(tài)地返回到訪問過的頁面與WebFlow.
?OPS ??點擊次數(shù):645
OPS(Orbeon PresentationServer)是一個開源的基于J2EE平臺且是以XML為中心的Web框架.OPS是圍繞XHTML, XForms,XSLT,XML pipelines,與Web Services進行構(gòu)建的.可以利用OPS來開發(fā)檢索,處理,表達XML數(shù)據(jù)的應(yīng)用程序.不像其它流行Web框架如Struts或WebWork,它們都是基于Java對象與JSP的,OPS是基于XML文檔與XML技術(shù).這種結(jié)構(gòu)將為處理,表達,檢索以XML為格式的信息提供一個更好的方案,并且?guī)缀跏窃趯崿F(xiàn)你表達層的時候不需要寫任何Java代碼.