Portal-Basic Java Web應用開發架構(簡稱 Portal-Basic)是一套功能完備的高效能Full-Stack Web應用開發架構,內建穩定高效的MVC基礎架構和DAO架構(已內建Hibernate、MyBatis和JDBC支援),整合 Action攔截、Form Bean / Dao Bean / Spring Bean裝配、國際化、檔案上傳下載和緩衝等基礎Web應用組件,提供高度靈活的純 Jsp/Servlet API 編程模型,完美整合 Spring,支援Action Convention“零配置”,能快速開發傳統風格和RESTful風格的Web應用程式,文檔和代碼清晰完善,非常容易學習。
Portal-Basic 源碼、樣本及文檔資源:請訪問項目首頁 ^_*
Portal-Basic 主要特點:
1) 功能完備:內建MVC基礎架構、支援 Action 攔截、Form Bean / Dao Bean / Spring Bean 裝配,提供可擴充的 DAO 提供者、國際化、檔案上傳下載、緩衝和頁面靜態化等常用 Web 元件,完美整合 Spring,能滿足絕大部分 Web 應用程式的需要。
2) 輕量級:Portal-Basic 並沒有對 Jsp/Servet API 進行過多的封裝,使用者仍然使用 Jsp/Servet API 進行開發,沒有過多的迂迴,因此效能方面得到保證。另外,Portal-Basic 為應用開發提供了多種 Util 類和方法,使用起來十分簡便。
3) 容易掌握:由於沒有對 Jsp/Servet API 進行過多的封裝,因此使用者只需具備一定的 Java/Jsp 知識就能很好的掌握架構的使用。另外,Portal-Basic 的 MVC 基礎架構提供類似 Struts 的應用配置方式,使用者能輕易過度到 Struts,同時也能為使用者更深入理解 MVC 架構原理提供非常有用的參考。
Portal-Basic 2.6.2 更新:
1、增加 Spring 支援:
1) 增加 Spring 外掛程式包 portal-basic-ext-spring-2.6.2.jar 用於整合 Spring
2) Action 通過 @SpringBean/@SpringBeans 註解聲明 Spring Bean
3) Action 通過攔截器 com.bruce.ext.spring.SpringInjectFilter 解析 @SpringBean/@SpringBeans 註解並注入 Spring Bean
4) Portal-Basic 的 DAO 對象能聲明為 Spring Bean,從而能在 Spring 環境下使用 Portal-Basic DAO 子架構
5) 樣本工程 MyPortal 增加 Spring 整合樣本
2、其他更新:
1) @FormBean、@DaoBean/@DaoBeans、@SpringBean/@SpringBeans 和 @Transaction 註解聲明為 '@Inherited',子類可繼承父類的註解
Portal-Basic 2.6.1 更新:
1、MVC 子架構升級:
1) 支援多入口 Action(請求格式:http://.../.../<action_name>!<entry_name>.<action_suffix>)
2) Action 攔截器的過濾規則可以細化到 Action 入口方法層級
3) @FormBean 註解可聲明在 Action 的入口方法中(覆蓋 Action 類定義中的 @FormBean 聲明)
4) @FormBean 註解支援成員變數注入(即:屬性沒有定義公用 setter 方法的成員變數也能注入)
5) 增加 @DaoBean 和 @DaoBeans, 支援 DAO 對象注入(不用顯式調用 FacadeProxy.create(...) 方法建立 DAO 代理對象)
6) 添加內建 Request Attribute -> '__base'(HTTP 要求的 BASE URL)
7) 添加內建 Application Attribute -> '__context'(Servlet Context 的 ROOT PATH)
8) 修改 base.jsp,用 {__base} 取代 {basePath}
9) MVC 設定檔支援多重“include”(即:從設定檔也可以“include”其它設定檔),並能自動過濾重複檔案
10) 最佳化 MVC 架構的緩衝機制,提升架構效能
11) 樣本工程 MyPortal 增加 Freemarker 整合樣本
2、DAO 子架構升級:
1) 增加 FacadeProxy.create(...) 系列 DAO 存取方法
2) 為 DAO 類添加 @Transaction 註解,與 FacadeProxy.create(...) 系列方法配合使用
3) FacadeProxy.create(...) 系列方法支援在 Action 中自動注入 DAO 對象(利用 @DaoBean 或 @DaoBeans 註解)
4) 最佳化 DAO 架構的緩衝機制,提升架構效能
相關連結:
Portal-Basic Java Web 應用程式開發架構 —— 概述Portal-Basic Java Web 應用程式開發架構:應用篇(一) —— 設定檔Portal-Basic Java Web 應用程式開發架構:應用篇(二) —— Action 使用Portal-Basic Java Web 應用程式開發架構:應用篇(三) —— 國際化Portal-Basic Java Web 應用程式開發架構:應用篇(四) —— 檔案上傳和下載Portal-Basic Java Web 應用程式開發架構:應用篇(五) —— DAO 架構Portal-Basic Java Web 應用程式開發架構:應用篇(六) —— 公用組件Portal-Basic Java Web 應用程式開發架構:應用篇(七) —— 頁面靜態化Portal-Basic Java Web 應用程式開發架構:應用篇(八) —— 整合 FreemarkerPortal-Basic Java Web 應用程式開發架構:應用篇(九) —— 多入口 ActionPortal-Basic Java Web 應用程式開發架構:應用篇(十) —— 新 DAO 提供者Portal-Basic Java Web 應用程式開發架構:應用篇(十一) —— 整合 Spring
開發文檔目錄:
CodeProject