`
longgangbai
  • 浏览: 7331720 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

jeecms 基本架构研究

阅读更多

          最近工作需要内容管理系统,下载了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比较小有图片操作瑞士军刀之称。源码的研究还是具有一定的价值的,便于以后开发类似系统总结经验和实践。

 

            

 

 

分享到:
评论

相关推荐

    jeecms数据库表结构详解

    ### Jeecms数据库表结构详解 #### 一、概述 Jeecms是一款基于Java技术的开源内容管理系统(Content Management System, CMS),广泛应用于企业网站、新闻门户等网站平台建设。其核心优势在于高度可定制化与模块化...

    jeecms数据结构powerdesigner模型

    jeecms数据结构powerdesigner模型

    jeecms 2012数据库表结构说明

    jeecms 2012数据库表结构说明,非常详细,有每个表说明和表字段说明,整理非常不容易

    jeecms二次开发必备

    本篇文章将深入探讨Jeecms的系统特点、技术架构以及工程包结构,为你的二次开发之路提供全面指导。 1. Jeecms系统介绍 Jeecms旨在提供一个高效、稳定、易用的内容管理解决方案。其主要特点如下: 1.1 关于Jeecms ...

    [JAVA开源]jeecms(网站发布系统)

    1. **技术栈与架构** Jeecms基于Java语言开发,利用Spring框架进行业务逻辑处理,结合Hibernate进行数据持久化,使用MyBatis作为SQL映射工具,同时采用Freemarker或Velocity模板引擎来渲染页面,确保了系统的高效...

    JEECMS2.0版本源码阅读

    JEECMS 作为一个基于 Java 的内容管理系统,具有强大的功能和灵活的架构。阅读 JEECMS 的源码,可以了解到其内部的实现机制和设计理念。在本文中,我们将对 JEECMS 2.0 版本的源码进行阅读和分析,了解其核心组件、...

    jeecms个人标签文档

    开发者需要理解这些表的结构和关系,以便于使用SQL查询或者通过Jeecms提供的API进行数据操作。例如,`cms_content`表存储文章的基本信息,`cms_category`表记录了分类数据。 3. **Java与JSP基础** Jeecms基于Java...

    jeecms核心功能包的

    com.jeecms.cms.entity.main 核心功能包的pojo com.jeecms.cms.entity. main.base 辅助功能包的pojo基础类 com.jeecms.cms.entity. main.hbm 辅助功能包Hibernate实体映射文件 com.jeecms.cms.entity.assist辅助功能...

    jeecms最全的api

    通过学习和研究这些内容,开发者不仅能掌握Jeecms的基本使用,还能提升Java Web开发能力,从而在实际工作中取得进步,正如描述中提到的,“学习就会进步,进步就会涨工资”。因此,对于想要深入理解Jeecms或者提升...

    jeecms9.2-adminVue

    开发者在使用Jeecms 9.2-adminVue时,需要具备Java和Vue.js基础,理解MVC架构和数据库操作。部署时,需要配置服务器环境,包括JDK、Tomcat或Jetty等应用服务器,以及MySQL或Oracle等数据库。 5. **学习资源** ...

    jeecms v8.1 源码

    JEECMSv8.1是一款支持微信小程序、栏目模型、内容模型交叉自定义、以及具备支付和财务结算的内容电商为一体内容管理系统:通过后台的简单设置即可自定义出集新闻管理、图库管理、视频...doc/jeecms模板置标使用手册.doc

    jeecms文档

    Jeecms是一款基于Java技术的开源内容管理系统,它以其高效、稳定、易用的特点,在国内IT行业中被广泛...通过深入研究“jeecms二次开发必备.doc”,开发者可以系统性地掌握这些知识,从而高效地进行Jeecms的定制化开发。

    JEECMS v2012用户手册

    在本章节中,用户可以了解Jeecms系统的基本概念和架构。该系统是一个基于Java EE架构的内容管理系统,旨在提供一个灵活、强大且易用的内容管理平台。用户可以通过本章节了解Jeecms系统的发展历史、架构设计和技术...

    JEECMS

    1. **多层架构设计**:JEECMS采用了MVC(Model-View-Controller)模式,实现了业务逻辑、数据访问和用户界面的分离,便于开发和维护。 2. **模板引擎**:JEECMS提供了一套强大的模板引擎,允许开发者通过HTML和简单...

    在Eclipse下创建Jeecms项目图文指南

    以上就是在Eclipse环境下创建Jeecms项目的基本流程和相关知识点,这个过程涉及到了Java Web开发的基本操作,包括项目创建、依赖管理、配置文件处理以及第三方库的整合。通过这个过程,开发者可以更好地理解Jeecms的...

    Jeecms学习笔记

    在Jeecms中,Model负责数据处理,View负责页面渲染,Controller处理用户请求并协调两者,这样的设计使得代码结构清晰,易于维护和扩展。 6. **学习路径与建议** 对于初学者,首先应熟悉Jeecms的基础概念和安装流程...

    jeecms9.2源代码文件

    jeecms9.2源代码文件 环境软件可以从以下网址中获得 Jdk 7.0 下载址: http://java.sun.com/javase/downloads/index.jsp Tomcat7 下载地址:https://tomcat.apache.org/download-70.cgi MySQL 5.0.22 下载地址:...

    jeecms 标签 使用说明

    一、Jeecms标签的基本概念 Jeecms的标签类似于HTML的标签,但具备更强大的功能。它们以JSP标签库的形式存在,允许在模板文件中直接引用,通过调用后台服务来获取并呈现数据。这极大地简化了页面设计和维护的工作。 ...

    jeecms X1.0.1 正式版 源码包

    在二次开发方面,jeecmsV6支持元件式无限插件扩展方式,开发者根据jeecms的插件开发标准所开发出来的插件,插件与jeecms是平行的,无论是插件升级还是jeecms系统升级,都可以实现独立升级,插件与插件、插件与jeecms...

Global site tag (gtag.js) - Google Analytics