Portal-Basic 是一套功能完備的高性能 Full-Stack Web 應用開發框架,內置可擴展的 MVC Web 基礎架構和 DAO 數據庫訪問組件(內部已提供了 Hibernate、MyBatis 與 JDBC DAO 組件),集成了 Action 攔截、Form / Dao / Spring Bean 裝配、國際化、文件上傳下載和頁面靜態化等基礎 Web 應用組件,提供高效靈活的純 Jsp/Servlet API 編程模型,可完美整合 Spring,支持 Action Convention,能快速開發傳統風格和 RESTful 風格應用程序,文檔和示例完善,非常容易學習。
Portal-Basic 源碼、示例及文檔資源:請訪問項目主頁 ^_*
Portal-Basic在設計之初就充分注重功能、性能與使用體驗。Portal-Basic主要特點:
★ 功能全面:內置穩定高效的MVC基礎架構和DAO框架,支持Action攔截、Form Bean / Dao Bean / Spring Bean裝配和聲明式事務,提供國際化、文件上傳下載、緩存和頁面靜態化等常用Web組件,能滿足絕大部分Web應用的需要。
★ 高度擴展:Portal-Basic通過的plug-in機制可以靈活擴展,Portal-Basic發布包中自帶的portal-basic-ext-rest和portal-basic-ext-spring均以插件的形式提供,用戶可根據需要加載或卸載這些插件。應用程序開發者也可以根據實際需要編寫自定義插件來擴展Portal-Basic。
★ 強大的整合能力:Portal-Basic是一個Full-Stack框架,同時也是一個開放式框架,可以以非常簡單的方式整合第三方組件。本開發手冊會詳細闡述如何在Portal-Basic中整合FreeMarker、Velocity、UrlRewrite、EHCache-Web、Spring、Hibernate和MyBaits等常用框架和組件。
★ 高性能:性能要求是Portal-Basic的硬性指標,從每個模塊的設計到每行代碼的實現都力求簡潔高效。另外,Portal-Basic并沒有對JSP/Servet API進行過多封裝,開發者仍然使用JSP/Servet API開發應用程序,沒有過多的迂回,性能得到保證。
★ 優秀的使用體驗:Portal-Basic的設計目標之一是提供良好的開發體驗,盡量減少應用程序開發者的工作,API的設計力求簡單、完整、明確。同時,Portal-Basic為應用開發提供了大量Util工具,用來處理應用程序開發過程中通常會遇到的一般性問題,進一步減少應用程序開發者的工作負擔。
★ 平緩的學習曲線:平緩的學習曲線:學習使用Portal-Basic只需掌握一定的Core Java與JSP/Servlet知識,本開發手冊會循序漸進闡述每個知識點,每個知識點都會結合完整的示例進行講述,知識點之間前后呼應,確保學習者在學習時溫故知新,融會貫通。
★ 完善的技術支持:除了提供完善的開發手冊和示例代碼以外,還提供博客和QQ群用于解答使用Portal-Basic過程中碰到的所有問題。
* Portal-Basic 總體架構

* Portal-Basic 應用程序依賴關系

Portal-Basic 3.1.1 更新:
1、支持異步 Action(“異步處理” 是 Servlet 3.0 的新特性之一):
1) com.bruce.mvc 包中增加異步任務接口 AsyncTask 及實現類 AbstractAsyncTask、ActionTask
2) com.bruce.mvc.ActionSupport 增加異步處理相關方法:startAsync(...)
2、支持異步 REST Action(在 portal-basic-exe-rest-3.1.1 插件中實現):
1) com.bruce.ext.rest 包中增加 REST 異步任務實現類 RestActionTask
2) com.bruce.ext.rest.RestActionSupport 增加異步處理支持
3、增加兩個 JDBC SessionMgr:
1) com.bruce.dao.jdbc.DruidSessionMgr :使用 Druid 連接池連接數據庫
2) com.bruce.dao.jdbc.JndiSessionMgr :使用 JNDI 連接池連接數據庫
4、其它更新:
1) 測試工程 MyPortal 加入異步處理 Action 請求和異步 Rest Action 請求示例
2) 測試工程 MyPortal 的所有 Hibernate 和 JDBC 示例都使用 Druid 取代原來的 Proxool 連接池
3) 開發手冊《Portal-Basic Java Web 應用開發框架(v3.1.20130420)》加入 “異步 Action” 章節
4) Portal-Basic 的依賴庫 “portal-basic-lib” 和 “spring-lib” 中的所有 jar 包更新到最新版本
5、應用程序升級說明:
1) Portal-Basic 3.1.1 的 “異步處理” 功能只適用于支持 Servlet 3.0 的應用環境(如:JaveEE 6 / Tomcat 7)
2) 如果應用環境不支持 Servlet 3.0(如:JaveEE 5 / Tomcat 6),則只能使用原有功能
3) Portal-Basic 3.1.1 不再提供 JDK 1.5 的兼容版本
4) Portal-Basic 3.1.1 完全兼容 Portal-Basic 3.0.1 (非 JDK 1.5 版本)
Portal-Basic 3.0.1 更新:
1、增加 Action Convention,支持“Action 零配置”:
1) 根據 Action 請求的地址信息自動加載 Action,并調用相應的入口方法處理請求
2) 根據 Action 請求的地址信息和 Action Result 自動組合出輸出頁面的地址并轉發
3) 通過 @Result/@Results 和 @ExceptionMapping/@ExceptionMappings 注解自定義 Result 和 Exception 處理策略
2、增加 REST 支持:
1) 增加 REST 插件包 portal-basic-ext-rest-3.0.1.jar 用于支持 REST
2) portal-basic-ext 通過 com.bruce.ext.rest.RestDispatcher 過濾器把 REST 請求轉換為 Action 請求
3) portal-basic-ext 提供 com.bruce.ext.rest.RestActionSupport 作為處理 REST 請求的 Action 基類
4) Action 的 REST 請求處理方法通過聲明 @Get/@Post/@Put/@Delete 注解來匹配 REST 地址格式,并注入參數
5) 內置 Rails-style REST 標準方法
6) 同時支持 HTML/XML/JSON 三種視圖格式,應用程序也可以擴展自己的視圖格式
7) portal-basic-ext 與 Action Convention 結合使用能實現“零配置”處理 REST 請求
開發文檔目錄:

相關鏈接:
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 應用開發框架:應用篇(十一) —— 整合 SpringPortal-Basic Java Web 應用開發框架:應用篇(十二) —— Action Convention
Portal-Basic Java Web 應用開發框架:應用篇(十三) —— REST Convention
Portal-Basic Java Web 應用開發框架:應用篇(十四) —— 異步 Action
CodeProject
原文出處:怪獸的博客 怪獸的微博 怪獸樂園Q群