雨人木 2018-06-08
前几天,公司有个cms系统,因为想添加新需求,想让我完成,顺便早早的看了下之前他们做的cms源代码,坐下准备。系统使用的freemarker生成静态页面的方式来完成,比较简单,今天看到开源中国的天梯解决方案,感觉不错,分享给大家。
一、什么是cms系统
cmscms是content management system的缩写,意为内容管理系统。cms是一个很泛的概念,从商业门户网站的新闻系统到个人的weblog都可以称作发布系统
隐藏在内容管理系统(cms)之后的基本思想是分离内容的管理和设计。页面设计存储在模板里,而内容存储在数据库或独立的文件中。 当一个用户请求页面时,各部分联合生成一个标准的html(标准通用标记语言下的一个应用)页面。
一个内容管理系统通常有如下要素:文档模板、脚本语言或标记语言、与数据库集成。内容的包含物由内嵌入页面的特殊标记控制。这些标记对于一个内容管理系统通常是唯一的。 这些系统通常有对较复杂的操作的语言支持,如 python, perl, 或java等。
内容管理系统对站点管理和创造编辑都有好处。这其中最大的好处是能够使用模板和通用的设计元素以确保整个网站的协调。 作者只需在他们的文档中采用少量的模板代码,然后即可把精力集中在设计之上的内容了。要改变网站的外观,管理员只需修改模板而不是一个个单独的页面。内容管理系统也简化了网站的内容供给和内容管理的责任委托。很多内容管理系统允许对网站的不同层面人员赋予不同等级的访问权限, 这使得他们不必研究操作系统级的权限设置,只需用浏览器接口即可完成。其他的特性如:搜索引擎、日历、web 邮件等也会内置于内容管理系统cms 内,或允许以第三方插件的形式集成进来。
二、什么是天梯(tianti)
开源中国:搜索天梯即可java 轻量级的 cms 解决方案-天梯。天梯是一个用 java 相关技术搭建的后台 cms 解决方案,用户可以结合自身业务进行相应扩展,同时提供了针对 dao、service 等的代码生成工具。技术选型:spring data jpa、hibernate、shiro、 spring mvc、layer、mysql 等。
1、简介:
1.1天梯的特点是:
(1)、天梯是一款使用java编写的免费的轻量级cms系统,目前提供了从后台管理到前端展现的整体解决方案。
(2)、用户可以不编写一句代码,就制作出一个默认风格的cms站点。
(3)、前端页面自适应,支持pc和h5端,采用前后端分离的机制实现。后端支持天梯蓝和天梯红换肤功能。
(4)、项目技术分层明显,用户可以根据自己的业务模块进行相应地扩展,很方便二次开发。
天梯介绍1.2本项目的技术要点:
使用的jdk默认显示的是1.7,用户可以自行选择1.7+,数据库使用mysql,使用入门容易。其中在技术选型中,后端采用了一下技术:
1、核心框架:spring framework 4.2.5.release;2 、安全框架:apache shiro 1.3.2;
3、视图框架:spring mvc 4.2.5.release; 4、数据库连接池:tomcat jdbc;
5、缓存框架:ehcache ;6、orm框架:spring data jpa、hibernate 4.3.5.final;
7、日志管理:slf4j 1.7.21; 8、log4j 编辑器:ueditor;
9view层:jsp ;10、数据库:mysql、oracle等关系型数据库;
11、工具类:apache commons、jackson 2.8.5、poi 3.15
前端使用了下列技术:1.dom : jquery、2.分页 : jquery.pagination、3.ui管理 : common、4.ui集成 : uiextend、
5.滚动条 : jquery.nicescroll.min.js、6.图表 : highcharts、7.3d图表 :highcharts-more、
8.轮播图 : jquery-swipe、9.表单提交 :jquery.form、10.文件上传 :jquery.uploadify、
11.表单验证 :jquery.validator、12.展现树 :jquery.ztree、13.html模版引擎 :template
2、项目结构:
2.1、tianti-common:系统基础服务抽象,包括entity、dao和service的基础抽象;
2.2、tianti-org:用户权限模块服务实现;
2.3、tianti-cms:资讯类模块服务实现;
2.4、tianti-module-admin:天梯后台web项目实现;
2.5、tianti-module-interface:天梯接口项目实现;
2.6、tianti-module-gateway:天梯前端自适应项目实现(是一个静态项目,调用tianti-module-interface获取数据);
3、使用说明:
3.0、本项目jdk默认显示的是1.7,用户可以自行选择1.7+。
3.1、数据库使用mysql,初始化脚本位于tianti-module-admin中的src/main/webapp/scripts/tianti_stage.sql。
3.2、后台的登陆路径为http +: //ip:+端口/login,用户名为admin,初始密码为123456。
3.3、后台中所用到的图标是从font文件夹里面选择copy进去的,font文件夹在聊天群里面拥有。
3.4、编辑器的配置修改editor_config.js的var context_ = http+:// 127.0.0.1:8080/tianti-module-admin;
3.5、前端项目(tianti-module-gateway)是一个静态项目,可以直接部署到web容器,支持多端自适应,需要跑接口系统。
3.6、采用前后端分离机制获取数据,在/src/main/webapp/static/js/config.js文件里分别配置接口地址和后台项目地址;
后台项目预览:
后台项目概览前台项目概览
1前台项目概览