1. Spring
Spring框架是壹款功能強大的輕量級Web應用開發框架。面對需要高性能的復雜Web應用需求,Spring能夠提供出色的開發服務,因此它在各個框架中能夠脫穎而出。Spring框架的核心宗旨是使得Java開發人員可以輕松地創建出企業級的應用程序。
Spring提供了包括:Spring MVC、Spring Core、Spring Security、Spring Transaction、Spring Boost、以及Spring ORM在內的許多模塊,以方便企業應用根據實際情況靈活選用。如果您想深入了解其具體的使用場景和用法的話,可以參見《Spring框架註釋指南(A Guide to Spring Framework Annotations)》。
優點
它提供了壹個輕量級的容器,用戶無需使用Web服務器、或應用服務器軟件,即可啟動之。
由於支持JDBC,因此可提高實際應用的生產率,並減少錯誤率。
Spring能夠同時支持XML,以及基於註釋的配置。
它提供了代碼的向後兼容性,和可測試性。
2. JSF(Java Server Faces)
由Oracle開發的Java Server Faces(JSF),可用於創建企業級的應用程序、各種原生應用、以及Web應用的開發。它往往也被用於為基於Java的應用開發用戶界面。
作為壹款穩定的、且基於組件的MVC框架,JSF具有壹種清晰的體系結構,用戶可以用它來明確地區分出目標應用的邏輯和表示。
JSF只需通過拖放UI組件,即可幫助開發人員創建用戶界面。開發者無需掌握諸如:HTML、CSS、JavaSript之類的高級客戶端技術知識,便可用它來簡化應用程序的表示層,並進行開發。
優點
JSF是Java EE的組成部分。
它提供了出色的工具和豐富的庫。
由於允許用戶使用Web界面,來擴展現有的後端Java代碼,因此用戶不必通過引入新的框架,來更改基本的應用程序。
3. Google Web Toolkit
Google Web Toolkit(GWT)是壹個完全免費的,流行且開源的Web框架。它可以幫助開發人員針對Java Ajax應用進行開發和調試。
借助GWT,您可以編寫出各種復雜的、基於瀏覽器的應用程序,而無需具備JavaScript等前端技術方面的專業知識。
當然,GWT也有壹些獨特的功能,其中包括:跨瀏覽器的可移植性、歷史記錄的管理、國際化、以及書簽。許多Google產品,包括:AdSense、Google Wallet、以及Blogger都是使用GWT編寫的。
優點
開源且完全免費。
對開發人員十分友好。
支持常見的Web開發任務重用。
Google API可以在GWT應用程序中被使用。
提供國際化、跨瀏覽器的可移植性、UI抽象、書簽、以及歷史記錄管理。
4. Vaadin
Vaadin是壹種用於簡化Java開發的Web應用框架。它能夠方便開發人員構建出自定義的Web開發服務。
該框架的主要優勢在於客戶端與服務器端之間可以流暢地通信。Vaadin可以從Java虛擬機處直接訪問DOM。作為壹個輕量級的框架,Vaadin Flow可被用於處理服務器端和客戶端之間的路由通信。Vaadin允許開發者將Vaadin組件集成到他們正在使用的任何壹款IDE中。由於Vaadin是跨平臺類型的框架,因此用戶無需將代碼遷移到其他的平臺上。
在使用Vaadin的過程中,開發人員不需要具有豐富的HTML、CSS、以及JavaScript經驗。Vaadin會自動將Java轉換為標記。
優點
通過支持拖放、以及其他出色的功能,它簡化了Java應用單頁UI的創建。
具有WebSocket支持的自動化“服務器端-客戶端”通信方式。
使用MVC(Model-View-Controller)或MVP(Model-View-Presenter),來進行數據綁定。
帶有嵌套路由和參數支持的路由器。
支持包括Kotlin和Scala在內的JVM語言。
內置了對於Spring的支持。
5. Hibernate
Hibernate是壹個對象關系映射(Object-Relational Mapping,ORM)型數據庫,可被用於開發出穩定的Java框架。對象關系映射往往被用於橫跨兩個不兼容的系統,以連接數據。Hibernate在關系數據庫管理系統(relational database management systems,RDBMS)和Java應用程序之間,提供了良好的通信。它非常適合工作在復雜的生態系統中,並對數據流實現無縫化。
在使用諸如Java之類的面向對象的語言時,開發人員往往會遇到被稱為“對象關系阻抗不匹配”或“範例不匹配”的問題。Hibernate為開發人員提供了壹個可以克服此類問題的框架。
Hibernate的查詢與SQL類似,稱為HQL(Hibernate查詢語言)。Hibernate可以直接將Java類映射到相應的數據庫表上,反之亦然。Hibernate在其主文件--hibernate.cfg.xml中,提供了使用數據庫配置映射的各種Java類信息。
優點
壹種強大的跨數據庫解決方案。
可擴展。
數據可以輕松地實現轉換。
可配置。
總結
希望上面介紹到的各種最受歡迎的、使用最廣泛的Web應用開發Java框架,能夠幫助您從易用性、配套文檔、以及技術支持等需求維度,選出適合自己實際項目的框架。當然如果您是壹名新手,那麽我建議從《Java信息圖(Java Infographic)》壹文,快速熟悉並上手Java。