基于JavaEE的CMS网站设计与实现

2016-10-21 07:17荀崇崇覃章健王欣颖
科技风 2016年8期

荀崇崇 覃章健 王欣颖

摘 要:介绍了基于JavaEE企业级开发的CMS(Content Management System)网站设计、系统架构、框架搭建,深入剖析了由Java语言设计实现的CMS网站的结构及原理。该网站以Java8、Tomcat7、MySQL作为支撑;以springMVC4、spring4、hibernate4(SSH)为框架;以Freemaker作为表现层;以MySQL5.5为数据库。前端html页面由后台代码动态生成。后台的管理中心权限管理和栏目管理部分采用DWR(Direct Web Remoting)作为web页面与Java类交互的远程服务器端的Ajax开源框架,与zTree树插件相结合,构成权限树和栏目树,并实现其功能。

关键词:CMS;内容管理系统;JavaEE;DWR;SSH框架

基于JavaEE的内容管理系统(CMS)是在SSH框架的MVC(Model View Controller)三层体系架构的基础上设计并实现的。合理的体系结构和良好的程序设计是实现网站功能的基础,友好简洁的交互界面是发挥网站系统功能优势的条件[ 1 ]。针对政府和企业网站建设的需求,整合现有的资源及开发技术,提出针对性的解决方案:内容管理系统(面向网站内容编辑、发布与管理开发的应用系统)。

1 CMS简述

CMS的基本思想:分离内容的管理和设计,将页面的设计存储在Freemaker模板里,而内容存储在数据库或独立的properties配置文件中。当一个用户请求页面时,组合内容和模板生成一个标准的HTML静态页面。CMS分离出三个层面[ 2 ]:

1.1 后台内容管理

新闻发布系统,关键字搜索系统,角色管理(用户组管理)系统,权限控制系统,栏目管理系统,数据备份与恢复系统,系统清理等。

1.2 模板应用管理

将页面分割成多个部分,抽离出页面的共性,作为模板中静态内容部分,拆解出动态部分,动态获取内容,整合ftl模板,生成大部分最终的输出页面,其中包括网站首页,子频道/专题页(二级页面),新闻详情页等动态页面。

1.3 模块功能管理[ 3 ]

分离后台子系统的内容管理逻辑和前台的表现或发布之间的耦合,使得模板和后台子系统之间只具有传递的关系,后台子系统的插拔和组合也将变得更加容易。

2 系统架构

内容管理系统采用当前JavaEE主流的SSH框架和各种成熟的主流技术完成其设计、实现其功能:

1)以SpringMVC、Spring4、Hibernate4作为整个CMS的框架主干,使用xml文件配置方式配置框架,在web.xml中加载配置文件。

2)使用Spring和Hibernate的注解机制,简化bean的配置和实体的配置,实现持久化。

3)采用MySQL数据库和Tomcat服务器作为整个CMS的运行支撑。

4)采用Freemaker作为模板引擎,用作表现层的实现技术,生成静态HTML页面。

5)采用DWR(Direct Web Remoting)远程服务器端Ajax开源框架改善web页面与Java类交互。

3 CMS系统设计与实现

3.1 系统框架搭建

3.1.1 Spring整合Hibernate

Spring和Hibernate在SSH框架中处于不同的架构层次,其中Spring主要关注业务逻辑之间的组合关系,并提供管理,而Hibernate在完成了OR的映射后,将映射之后的Session对象交给Spring来管理,使用Spring的IOC功能管理Hibernate的SessionFactory对象,使用spring的AOP功能实现声明式的事务管理,使开发人员不用再去关心SQL语句,直接与对象打交道。

3.1.2 整合SpringMVC

SpringMVC是一个基于DispatcherServlet的MVC框架,配置DispatcherServlet,管理我们希望它管理的内容,每一个请求最先访问DispatcherServlet,DispatcherServlet负责转发每一个Request请求给相应的Handler,Handler处理以后,填充到Response中,通过Response返回相应的视图(View)和模型(Model)。

在配置完Spring、Hibernate及SpringMVC之后,在web.xml中完成spring-servlet.xml和springContext.xml的引入和配置,整个系统的基本框架就搭建完成。

3.2 功能模块[ 4 ]设计

整个系统分为七大功能模板:权限管理、网站信息管理、导航栏目管理、新闻管理、数据备份与恢复、上传与下载管理,首页图片管理。对其中的两个部分进行说明。

3.2.1权限管理模块

权限管理的核心是安全授权和角色相联系,用户首先要成为相应的角色组成员,才能获得对应的权限。如网站的管理员,必须先由网站超级管理员进行注册,并分配角色和权限后,才能对网站进行管理。角色可以根据部门中不同的工作创建,再根据用户的责任和资格分配角色,用户就可以获得对应的权限。随着新功能的增加和删减,角色可以分配更多的权限,也可以根据需要撤销相应的权限。

3.2.2模板管理模块

内容模板是内容模型的载体,系统通过内容模板来描述内容模型。内容模型中可能存在多层嵌套的情况,即一個内容模型可能由很多更小的内容模型组成。将一个内容模型看作是一个内容组件,采用了模块化的处理方法,把模型分解成多个模块,然后再使用include方式将所有的模块都组合在一个模板中。

4 结束语

本文实现了一套基于JavaEE的SSH框架实现的CMS系统,采用多层体系架构,遵从开放标准,提高了开发效率,简化了内容管理,是一个易于维护,易于集成,并具有很大灵活性的内容管理系统。

参考文献:

[1] 郭广军,谢东,李魏豪.基于CMS的网站系统开发技术研究及应用.计算机工程与设计,2010,31 (11):2500-2502.

[2] 耿璐,聂足.基于CMS的企业网站的设计与实现[J].计算机工程与设计,2009,30(2):351-357.

[3] 黄炜,李龙澍,李学俊,林胜华. 基于UML的CMS系统设计与实现.计算机工程与设计,2009,30(5):1249-1251.

[4] Doug L. Simpson. Content for One: Developing a Personal Content Management System. Acm Siguccs Conference on User Services,2005:338-342.