其实对于Web框架,早几年曾经接触过一点点,Struts等,后来一直转做后台,就扔下来,现在一下要拾起来,还真是有点费劲。不过还好,到现在为止,已经基本上搭起来一个可用的骨架。逐渐熟悉,总结经验,不断进步!
我需要开发一个用户管理的Web系统,刚开始我想的是不是可以自己写Servlet/JSP,这些技术都是基于Java的,也好捡,后来一想不对,用户管理,登陆,认证,密码加密,角色授权,数据库操作,错误处理,页面拦截等等,这不是几天工夫就能搞定的。所以,我想,现在Web框架如此成熟,比如ROR等等,都可以在瞬间建立CRUD的页面,建立Blog或者微博等等,难道Java就不存在这样的框架吗?如果没有,真的让我这样的Java粉丝大失所望啊!所以我找,我找找找,终于让我发现了一个: JetSpeed!我如获至宝,研究了一下,发现不适合!这个是做Portal的一个框架,并非完全适合用户管理需要的一些功能。于是,我又到网上寻寻觅觅,在研究了一下其他框架之后,比如Grails,选择了Appfuse。
Appfuse本身其实不是一个Web框架,它更是一个Skelecton,也就是说它在在Web框架之上,但却是一个Raw Web Framework的集成。它集成了诸多Web框架技术,诸如Spring, Struts 2, Hibernate等等,在此之上,它又预制了用户管理和安全的部分功能,实在是完全匹配我的需求。废话不多说,开始真正的Appfuse之旅。
Appfuse安装非常简单。它的主页在http://appfuse.org/
根据快速安装指南:http://appfuse.org/display/APF/AppFuse+QuickStart 可能10几20分钟就可以装起来运行了。
预先要求:这里使用appfuse最新发布的Release 2.1版,因为使用Maven管理,所以需要下载Maven。
特别提醒:Appfuse 2.1 只能使用Maven 2.2.1来进行管理,Maven 3.0.3(3.0+)会出错!
Maven的主页地址 http://maven.apache.org/
第一步: 安装appfuse开发运行环境
(主页快速安装有完整的安装指南,本文截取更快速的安装方法)
1.1 安装JDK5+,设置JAVA_HOME
1.2 安装MySQL 5.x(设置root密码)
1.3 安装James作为邮件发送服务器SMTP Server(下载,安装,运行 http://james.apache.org/)
1.4 安装Maven 2.2.1
1.5 为开发环境安装Eclipse JavaEE版
第二步:安装appfuse项目
2.1 根据http://appfuse.org/display/APF/AppFuse+QuickStart中第二步的提示,输入项目名等,生成命令,粘贴并执行。
如生成在D:/Project/Source/AppFuseTest
2.2 在项目AppFuseTest的pom.xml中,在最底部,修改MySQL的root密码
第三步:运行appfuse项目
3.1 运行mvn jetty:run即可运行项目
3.2 或者运行mvn jetty:run-war达到相同效果(会打包一个war的包)
3.3 在http://localhost:8080中即可查看Web展示效果
3.4 Appfuse缺省使用jetty作为Web Server,如果需要在别的Server中运行,比如Tomcat,可以在项目的target目录中寻找扩展名为war的文件,直接拷贝到Tomcat的Webapp中即可。
Appfuse是一个非常值得研究的集成框架项目,在后续的文章中我将陆续登载Appfuse的开发环境设置,开发过程,和安全配置等。
在IBM或者其他一些网站也有一些文章,但相对较老。Appfuse主页是一个非常值得参考的地方,文档齐全,并且有论坛等。有机会的话为开源项目做些贡献也是不错的!