如题,最近开发一个新项目,关于CMS,即Content Management System 内容管理系统的。
一般开发一个门户网站所需要的技术,CMS是必不可少的,用来产生静态页面。例子太多了,网易、搜狐、新浪,中国的三大门户无不例外,就连平时访问量不多的,也都利用起CMS来。一般来说,建立一个门户网站,如果资金紧张,无不例外的购买使用网上成熟的CMS产品,也有使用目前open source的CMS产品的。
呵呵,现在所在的公司比较有实力,我们需要自己开发一个CMS,首先说明的是,我们开发团队是Java开发团队,而市面上很多CMS是基于PHP开发的。由于我们自己没有开发过CMS之类的,但是大家都有多年开发经验,借鉴了一下市面上的成熟产品,决定底层框架使用Hibernate+Struts,模版语言采用XSL+XML,没有使用velocity模版语言,当然IDE使用的是Eclipse,至于目前来势汹汹的NetBeans没有考虑,毕竟大家都习惯于Eclipse平台上开发。
目前这个团队大家来自不同的地方,所以大家的开发规范和习惯并不相同。例如Eclipse的插件很多,团队中有一半以上都用MyEclipse插件来构建项目,而我又有以前的开发习惯,手写代码,并没有用过MyEclipse自动生成Hibernate和Struts配置、创建文件。结果是了一下,发现用MyEclipse会产生很多冗余代码,还会产生一堆相关联的文件,以后修改不好修改,而且看起来让人并不一目了然。
我们用的是MyEclipse 4.1.1GA,它在生成Hibernate mapping的时候会产生内部错误,打开Eclipse的Log发现,原因是不能加在JDBC驱动,但是在运行的时候是可以加载的,查遍网上文章,原因很简单,这就是MyEclipse 目前最新版本4.1.1 GA的bug。解决的方法有三种,一是用MyEclipse 4.0 GA,二是修改MyEclipse自身的Bug^-^,三是自己手写。
既然这样了,那还用MyEclipse干什么,当然还是有用的,就是刚开始创建项目时,可以利用它直接添加Struts和Hibernate,不用你再手动添加各种jar包和配置了。
整个项目的构架,我又重新构建了一遍,准备建立一个良好的开发环境和文件构架,所以我们并不采用Hibernate自动生成的FormBean,统一使用实体类来代替。至于Dao文件,自然就是一个interface和一个实现impl了,你可以在建立一个service接口和其实现,至此后台就建立完了。至于前台,action,摆平。
我说的当然不包括各个页面和xml配置文件,具体的操作,大家可以看看相关的参考书籍。
这个项目刚刚开始,以后碰到什么问题会和大家谈谈的。