jeeecms作为国内Java开源内容管理系统的龙头老大(感谢jeecms研发小组的辛苦劳作),技术架构也是比较成熟的,当然涉及到的技术也就相对多一些
看看jeecms内容管理系统使用了哪些技术
- web开发当然离不开最基本的三大元素html、javascript和css,jeecms也不列外,用到的javascript库是jQuery
- 为了可以生成真正的静态html页面,使用了FreeMarker模板技术,这样方便我们自定义模板
- MVC框架使用的SpringMVC,没有使用传统的Struts作为web开发的框架
- 开源版使用MySQL数据库,网上资料丰富,易于学习,数据库ORM框架使用的是Hibernate,数据库连接池是c3p0,同样也算是比较流行的框架
- 加入了验证码模块防止机器程序制造大量的垃圾,数据验证码使用的是java开源验证码jcaptcha,不过版本相对较老
- WYSWYG(所见即所得)编辑器集成的是ckeditor,国外开源富文本编辑器
- 时间日期控件使用的是My97DatePicker,一款很不错的的国产日期控件
- 上传组件使用了swfupload和commons-fileupload
- 缓存使用Ehcache,定时器使用的是quartz,功能很强大的,都属于美国Terracotta公司的开源组件
- jeecms用到的全文搜索组件是Apache的Lucene,还配合使用了java语言开发的轻量级的中文分词工具包IK Analyzer
- 还有一些其他的工具包,如log4j,dom4j,dwr, json,htmlparser….
jeecms整体项目结构图
- src-1:java源代码的目录
- r-2:web前端用到的资源,比如js, css和img
- res-3:管理端用到的资源,比如js, css和img
- thirdparty-4:这里放的是第三方的一些插件,比如上面提到的ckeditor,swfupload和My97DatePicker
- u-5: v6版本演示用到的图片,可删,对系统没得影响,应该是上传文件的路径
- common-6:这里面的是一些公共页面,比如用于显示上传情况,信息提示
- config-7:系统的关键配置文件都在这儿了,比如修改数据库连接就需要在这里改
- error-8:放一些服务器端错误提示的页面,比如403错误、程序异常等
- ftl-9:管理端用到的freemarker模板文件
- ipseek-10:放的是IP库,用于分析IP归属地
- jeecms_sys-11:管理端HTML模板文件
- langauges-12:国际化语言配置文件
- lib-13:所有依赖的包都放这儿
- lucene-14:这个目录是lucene生成的一些所以文件
- t-15:包含前端模板HTML文件
上面没有介绍到cache目录是缓存生成的文件,classes目录是编译后class文件的默认路径。实际运行中如果把class文件都打成了jar包放到lib目录下,那这个文件夹也可以删了