JetSpeed2的开发手记(一)

上手jetspeed2已经几个月了,因为本人比较懒,前期一直处于分析它的源代码阶段。加上本身对Java语言是半路出家,没有打好基础,所以进展缓慢。为了以后回顾在此总结本人在开发中遇到的种种问题。

JetSpeed2是apache的一个项目,它本身其实用到了apache里的好多其他项目的支持,具体的我就不说了,JetSpeed2的网站上有详细的说明

刚开始时发现,JetSpeed是用maven来进行项目管理的,于是下了maven2,鼓捣了半天,就觉得它提供的那个jar资源库的理念挺好的,但有些包里面不一定能找到,还有就是对网路的依赖。剩下的东西如插件,建立自己的targe一类的我实在是搞不定,觉得太让人挠头了。后来发现JetSpeed2项目的管理使用的是maven1.4,弄了两版maven的插件死活弄不懂,光这个估计就折腾了1个月,没办法人苯啊。

索性放弃,看他的源码,编译问题放到后话

J2其实是一个大的框架,里面的血肉都是用小项目逐步实现的。其实它大框架虽然是用的spring但其实如果你用别的框架完全可以替换它,这个在org.apache.jetspeed.engine.JetspeedServlet类中的initializeComponentManager方法就能看到,所以它充分想到了自身的可扩展和更换性。具体的功能都是以组建的形式以bean的形式让Spring管理。

开始谈谈它的血肉,针对JSR168标准,Portlet的实现是要通过Portlet容器来完成的,在这里J2斤水楼台的用了apache自己的Plut来管理。这方面我现在还没有多看。

个人觉得对于数据库方面j2作的还是挺好的,主流的数据库其基本都支持,并且提供了相关的脚本文件,但它提供的测试数据脚本好像有点问题,我用的是Mysql发现换上mysql后速度比原先的快,也可能是我的心理作用。

对于ORM方面我以前研究的不多J2好像是用的Ojb,有计划研究一下

最近一直在鼓捣它的显示层面的东西,这里要说到Bridges,用了它可以将现今的几乎所有显示层技术与portlet挂接上,这里特别说一下velocity,本人不会jsp而且烦透了标签库这东西,于是看了看velocity,它完全不需要java语言基础,就是说只要你懂html和后台的程序员定好了相关的类、方法、属性的名称就完全可以构建自己的动态页面,充分做到了逻辑和显示的分开,个人觉得唯一不太舒服的就是它自身提供的语言功能还有些弱。

在说说j2的页面组织,其用的是基于xml的PSML来存储用户自己定义规划的页面结构和内容组织,看到在J1中psml是可以存到数据库中的,但在j2中我还没有找到如何实现,这一点对用户比较多的portal是比较有利的。希望能在不久攻克这个难题

先写这么多。

偶的MSN:[email protected]

希望有想鼓捣J2的能来一起讨论。

个人觉得J2十分的有趣

 

你可能感兴趣的:(JetSpeed2的开发手记(一))