最近工作需要内容管理系统,下载了jeecms v5 顺便学习一下它的架构:
采用框架为:Hibernate3.3.2+spring3.05+springMVC+freemarker2.3.16
Hibernate:采用非注解持久化操作对数据访问层(DAO)的实现.
优点:1.支持多个数据库的切换oracle,mysql等支持,
2.支持以及缓存的和二级缓存的使用。
缺点:1.sql语句部分有框架自动生成,不方便性能优化。针对系统性能要求比较高的系统hibernate自动生成实现比较难。
2.不方便维护。
3.针对hibernate的高级使用对开发人员要求很高,学习曲线比较高。
Spring:实现项目中各层的粘合,以及解耦事务处理。
优点:1.通过IOC注入使各组件解耦。
2.使用AOP实现事物的处理。采用注解事物,也深知其使用的优缺点。优点干净简洁易修改,缺点不利于维护,业务与配置混杂。
3.方便和其他第三方框架整合,jar可以按需分配不需要全部导入。
4.框架活跃程度比较高。
5.便于测试,易于维护
缺点:
1.针对部分代码底层采用反射或者代理性能不是太好。
springMVC负责控制层的业务逻辑的处理。
freemarker:负责页面的页面和展示。
系统中模块划分比较明确,分为三部分cms,core,common。
cms根据cms中层的划分和作用划分action,dao,entity,lucene,service,task等。
core主要一些系统管理相关的权限,配置,数据文件,Ftp管理以及用户认证。
common:主要是一些工具的封装使用如:fck,验证码,图片操作,ip追踪,搜索,安全。文件上传等工具雷。
此系统基于整站模板引擎技术,js,Css,图片等资源与模板分离,模板放置在WEB-INF下,因此仅能通过springmvc去调用,安全性非常棒,分离也非常清晰。页面请求使用了伪静态,便于搜索引擎收录。然后就是有一套完善的日志系统,搜索采用了流行的lucene和baoding分词做搭配。此外数据库配有连接池commons-pool,据说性能不是太好。系统中为了防止xss攻击采用过滤器处理用户的操作请求信息,但是处理不够完善。hibernate配有二级缓存与持久化缓存。验证码也使用了现成的组件jcaptcha简单易用,Ajax使用了Json介质,在线编辑器使用的FCK。针对用户的追踪和分析采用的ipseek针对用户来源的分析。通过封装类似spring-security的权限管理,控制用户留言的控制以及用户权限和后台管理制发布新闻的控制审查。针对用户的用户回话的管理采用的缓存管理回话中心,保证了系统的分布式的使用。在图片操作方面采用 jmagick,jar比较小有图片操作瑞士军刀之称。源码的研究还是具有一定的价值的,便于以后开发类似系统总结经验和实践。
相关推荐
开发者需要理解这些表的结构和关系,以便于使用SQL查询或者通过Jeecms提供的API进行数据操作。例如,`cms_content`表存储文章的基本信息,`cms_category`表记录了分类数据。 3. **Java与JSP基础** Jeecms基于Java...
通过学习和研究这些内容,开发者不仅能掌握Jeecms的基本使用,还能提升Java Web开发能力,从而在实际工作中取得进步,正如描述中提到的,“学习就会进步,进步就会涨工资”。因此,对于想要深入理解Jeecms或者提升...
Jeecms是一款基于Java技术的开源内容管理系统,它以其高效、稳定、易用的特点,在国内IT行业中被广泛...通过深入研究“jeecms二次开发必备.doc”,开发者可以系统性地掌握这些知识,从而高效地进行Jeecms的定制化开发。
在Jeecms的源码分析中,我们可以深入研究以下几个关键技术点: 1. **MVC架构**:Jeecms采用了Model-View-Controller设计模式,分离了业务逻辑、视图展示和用户交互。控制器处理请求,模型负责业务逻辑,视图负责...
2. **运行项目**:通过IDE的构建和运行功能,启动Jeecms项目,测试其基本功能是否正常。 3. **调试与测试**:利用IDE的调试工具,定位并修复代码中的问题,编写单元测试确保新功能的正确性。 4. **部署上线**:完成...
通过研究"jeecms-3.1.0-beta"中的源码,可以学习到如何使用Java实现高效的CMS系统,以及如何利用框架来优化开发流程。这不仅能够提升个人技能,也为团队协作和项目维护提供了便利。 总之,Jeecms网站后台的Java源...
通过深入研究这个系统,学生不仅能学习到Java Web开发的基本技术,还能接触到实际项目开发的流程和规范,这对于他们的职业发展大有裨益。因此,无论是对于个人技能提升还是团队协作项目,JEECMS都是一款值得探索和...
本文将详细解析Jeecms4的核心知识点,包括CMS的基本概念、Java技术在其中的应用,以及源码结构的解读。 首先,我们要了解什么是CMS(Content Management System)。CMS是一种用于创建、管理和发布数字内容的软件...
首先,我们需要了解这个工程的基本结构。通常,一个Java CMS工程会包含以下几个主要部分: 1. **模型(Model)**:这部分主要负责数据的处理和业务逻辑。可能包括实体类(Entity)、DAO(Data Access Object)层和...