Java Web应用开发框架:Portal-Basic

jopen 12年前

Portal-Basic Web应用开发框架(简称 Portal-Basic)是一套功能完备的超轻量级Web应用开发框架,内置 MVC Web 基础架构,支持可扩展的数据访问接口(已内置 Hibernate、Mybatis 和 JDBC 支持),集成 Action 拦截、Form Bean / Dao Bean 装配、国际化、文件上传下载、页面静态化和缓存等基础 Web 应用组件,提供纯 Jsp/Servlet API 的使用接口,非常容易学习和使用。

源代码地址:http://portal-basic.googlecode.com/svn/

Porta-Basic 的诞生源于当时实际的需要。那一年公司有几个 Java 项目急需上马,而我们的技术团队很年轻,很多成员的工作经验都不超过2年,更有不少应届毕业生和实习生,也有刚从PHP等其它语言转到 Java 开发的。如果采用 SSH 等现成框架进行开发是有危险的,框架有很多好处,也能提高工作效率,但前提是 —— 只是对熟练掌握该框架的人来说的,Struts 的 request 与 Jsp 的 request 有何区别,Spring 的声明式事务是如何变成 Java 代码并插入到程序的哪个位置,Hibernate配置文件某处加上 fetch/lazy/inverse/cascade 与不加会有什么不同效果?…… 这一系列的问题常常 令初学者心生畏惧。而框架通常都会对 Java/Jsp/JDBC 等基础技术均进行了高度封装,要真正掌握它们并熟练运用需要不少时间,而时间又是所有项目最缺的,另外,我始终认为团队不应该把自己不熟识的技术用于重大的商业项目中,即使这些技术已被证明是行之有效的;而另一方面,如果采用未经任何封装的 Jsp/Servlet 技术进行开发风险则更大,没有良好的代码组织架构必然导致重复代码剧增,后期开发混乱以及维护成本高企。
基于上述原因,我制作了一个基于 Jsp/Servlet API 的 MVC 框架,并内置 Hibernate 支持,提供给几个 Java 项目使用,这就是 Portal-Basic 的雏形。经过多个项目的洗礼,框架的功能日益增强,最终我决定对框架进行彻底重构,将其实现为通用的Web应用开发框架,现已应用于公司的所有Java项目,该框架也正式命名为“Portal-Basic”,含义是建站基础框架,也可以理解为初学者的建站框架。

Portal-Basic 拥有以下主要特点:

  1. 功能完备:内置 MVC 基础架构、支持Action拦截、Form Bean装配、可扩展的数据库访问接口、国际化、文件上传下载、EHCache、Memcahced 以及其他常用应用组件,能满足绝大部分Web应用的需要。
  2. 轻量级:Portal-Basic并没有对 Jsp/Servet API 进行过多的封装,用户仍然使用 Jsp/Servet API 进行开发,没有过多的迂回,因此性能方面得到保证。另外,Portal-Basic为Jsp/Servet API 提供了多种 Util 类和方法,使用起来十分简便。
  3. 容易掌握:由于没有对 Jsp/Servet API 进行过多的封装,因此用户只需具备一定的 Java/Jsp 知识就能很好的掌握框架的使用。另外,Portal-Basic 提供类似 Struts 的应用配置方式,用户能轻易过度到 Struts,同时也能为用户更深入理解 MVC 框架原理提供非常有用的参考。

项目主页:http://www.open-open.com/lib/view/home/1352812853527