科技风2016年4月下 科技前沿 基于JavaEE的CMS网站设计与实现 荀崇崇覃章健王欣颖 成都理工大学四川成都61 0059 摘 要:介绍了基于lavaEE企业级开发的CMS(Content Management System)网站设计、系统架构、框架搭建,深入剖析了由 Java语言设计实现的CMS网站的结构及原理。该网站以Java8、Tomcat7、MySQL作为支撑;以springMVC4、spring4、hibernate4 (SSH)为框架;以Freemaker作为表现层;以MySQL5.5为数据库。前端html页面由后台代码动态生成。后台的管理中心权限管理和 栏目管理部分采用DWR(Direct Web Remoting)作为web页面与lava类交互的远程服务器端的 ax开源框架,与zTree树插件相 结合,构成权限树和栏目树,并实现其功能。 关键词:CMS;内容管理系统;JavaEE;DWR;SSH框架 基于JavaEE的内容管理系统(CMS)是在SSH框架的MVC 给Spring来管理,使用Spring的IOC功能管理Hibernate的 (Model View Controller)三层体系架构的基础上设计并实现的。 合理的体系结构和良好的程序设计是实现网站功能的基础,友 好简洁的交互界面是发挥网站系统功能优势的条件…。针对政 府和企业网站建设的需求,整合现有的资源及开发技术,提出针 对性的解决方案:内容管理系统(面向网站内容编辑、发布与管 理开发的应用系统)。 1 CMS简述 CMS的基本思想:分离内容的管理和设计,将页面的设计 存储在Freemaker模板里,而内容存储在数据库或独立的prop— erties配置文件中。当一个用户请求页面时,组合内容和模板生 成一个标准的HTML静态页面。CMS分离出三个层面l 2】: 1.1后台内容管理 新闻发布系统,关键字搜索系统,角色管理(用户组管理)系 统,权限控制系统,栏目管理系统,数据备份与恢复系统,系统清 理等。 1.2模板应用管理 将页面分割成多个部分,抽离出页面的共性,作为模板中静 态内容部分,拆解出动态部分,动态获取内容,整合m模板,生 成大部分摄终的输出页面,其中包括网站首页,子频道/专题页 (二级页面),新闻详情页等动态页面。 1.3模块功能管理I 分离后台子系统的内容管理逻辑和前台的表现或发布之间 的耦合,使得模板和后台子系统之间只具有传递的关系,后台子 系统的插拔和组合也将变得更加容易。 2系统架构 内容管理系统采用当前JavaEE主流的SSH框架和各种成 熟的主流技术完成其设计、实现其功能: 1)以SpfingMVC、Spring4、Hibernate4作为整个CMS的框架 主干,使用xml文件配置方式配置框架,在web.xml中加载配置 文件。 2)使用Spring和Hibernate的注解机制,简化bean的配置 和实体的配置,实现持久化。 3)采用MySQL数据库和Tome ̄服务器作为整个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对象交 SessionFaetory对象,使用spring的AOP功能实现声明式的事务 管理,使开发人员不用再去关心SQL语句,直接与对象打交道。 3.1.2整合SpringMVC SpringMVC是一个基于DispatcherServlet的MVC框架,配 置DispatcherServlet,管理我们希望它管理的内容,每一个请求 最先访问DispatcherServlet,DispatcherServlet负责转发每一个 Request请求给相应的Handler,Handler处理以后,填充到Response 中,通过Response返回相应的视图(View)和模型(Mode1)。 在配置完Spring、Hibenrate及SpringMVC之后,在web.xml 中完成spring—servlet.xml和springContext.xml的引入和配置,整 个系统的基本框架就搭建完成。 3.2功能模块【 】设计 整个系统分为七大功能模板:权限管理、网站信息管理、导 航栏目管理、新闻管理、数据备份号恢复、上传与下载管理,首页 图片管理。对其中的两个部分进行说明。 3.2.1权限管理模块 权限管理的核心是安全授权和角色相联系,用户首先要成 为相应的角色组成员,才能获得对应的权限。如网站的管理员, 必须先由网站超级管理员进行注册,并分配角色和权限后,才能 对网站进行管理。角色可以根据部门中不同的工作创建,再根据 用户的责任和资格分配角色,用户就可以获得对应的权限。随着 新功能的增加和删减,角色可以分配更多的权限,也可以根据需 要撤销相应的权限。 3.2.2模板管理模块 内容模板是内容模型的载体,系统通过内容模板来描述内 容模型。内容模型中可能存在多层嵌套的情况,即一个内容模型 可能由很多更小的内容模型组成。将一个内容模型看作是一个 内容组件,采用了模块化的处理方法,把模型分解成多个模块, 然后再使用include方式将所有的模块都组合在一个模板中。 4结束语 本文实现了一套基于JayaEE的SSH框架实现的CMS系 统,采用多层体系架构,遵从开放标准,提高了开发效率,简化了 内容管理,是一个易于维护,易于集成,并具有很大灵活性的内 容管理系统。 参考文献: [1l郭广军,谢东,李魏豪.基于CMS的网站系统开发技术研 究及应用.计算机工程与设计,2010,31(11):2500-2502. 『2】耿璐,聂足.基于CMS的企业网站的设计与实现 计算 机工程与设计,2009,30(2):351—357. 【3】黄炜,李龙澍,李学俊,林胜华.基于UML的CMS系统设 计与实现.计算机工程与设计,2009,30(5):1249—1251. [4J Doug L.Simpson.Content for One:Developing a Personal Content Management System.Acm Siguccs Conference on User Services,2005:338-342. 19