天梯

基于 Java 的轻量级 CMS 解决方案
授权协议 Apache-2.0
开发语言 Java HTML/CSS
所属分类 Web应用开发、 后台管理系统(模板)
软件类型 开源软件
地区 国产
投 递 者 郭辉
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

天梯(tianti)

Java 轻量级的 CMS 解决方案-天梯。天梯是一个用 Java 相关技术搭建的后台 CMS 解决方案,用户可以结合自身业务进行相应扩展,同时提供了针对 dao、service 等的代码生成工具。技术选型:Spring Data JPA、Hibernate、Shiro、 Spring MVC、Layer、MySQL 等。

简介:

1、天梯是一款使用Java编写的免费的轻量级CMS系统,目前提供了从后台管理到前端展现的整体解决方案。
2、用户可以不编写一句代码,就制作出一个默认风格的CMS站点。
3、前端页面自适应,支持PC和H5端,采用前后端分离的机制实现。后端支持天梯蓝和天梯红换肤功能。
4、项目技术分层明显,用户可以根据自己的业务模块进行相应地扩展,很方便二次开发。

技术架构:

1、技术选型:

后端

  • 核心框架:Spring Framework 4.2.5.RELEASE

  • 安全框架:Apache Shiro 1.3.2

  • 视图框架:Spring MVC 4.2.5.RELEASE

  • 数据库连接池:Tomcat JDBC

  • 缓存框架:Ehcache 

  • ORM框架:Spring Data JPA、hibernate 4.3.5.Final

  • 日志管理:SLF4J 1.7.21、Log4j

  • 编辑器:ueditor

  • 工具类:Apache Commons、Jackson 2.8.5、POI 3.15

  • view层:JSP

  • 数据库:mysql、oracle等关系型数据库

前端

  • dom : Jquery

  • 分页 : jquery.pagination

  • UI管理 : common

  • UI集成 : uiExtend

  • 滚动条 : jquery.nicescroll.min.js

  • 图表 : highcharts

  • 3D图表 :highcharts-more

  • 轮播图 : jquery-swipe

  • 表单提交 :jquery.form

  • 文件上传 :jquery.uploadify

  • 表单验证 :jquery.validator

  • 展现树 :jquery.ztree

  • 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文件里分别配置接口地址和后台项目地址;

前端项目概览:
PC:

H5:

后台项目概览:
天梯登陆页面 天梯蓝风格(默认):

  • L1-1~8 语法 L2-1 栈 L2-2 模拟 L2-3 dfs L2-4 图论 L2的题目读起来真费劲,L2-2模拟恶心坏了,L2-4没看见景点全逛一便找错找麻了,L3都没时间看 L1-1 嫑废话上代码 #include <bits/stdc++.h> #define ll long long #define PII pair<ll,ll> #define MP make_pair using

  • CSDN话题挑战赛第1期 活动详情地址:https://marketing.csdn.net/p/bb5081d88a77db8d6ef45bb7b6ef3d7f 参赛话题:大学生竞赛指南 话题描述:本话题聚焦于大学生竞赛心得体会分享,对于计算机众多领域每年都有很多都会举办科技竞赛,很多学生也都会踊跃参与,每到竞赛结束,学生们都会收获很多,这个时候我们可以写下一篇竞赛心得,大家互相交流学习科技竞赛

  • 7-15 天梯地图 (30 分) 本题要求你实现一个天梯赛专属在线地图,队员输入自己学校所在地和赛场地点后,该地图应该推荐两条路线:一条是最快到达路线;一条是最短距离的路线。题目保证对任意的查询请求,地图上都至少存在一条可达路线。 输入格式: 输入在第一行给出两个正整数N(2 ≤ N ≤ 500)和M,分别为地图中所有标记地点的个数和连接地点的道路条数。随后M行,每行按如下格式给出一条道路的信息:

  • 本文: 原创链接 ***2021年天梯总决赛***`` L1-1 人与神 (5 分) 跨界大神 L. Peter Deutsch 有一句名言:“To iterate is human, to recurse divine.”(迭代的是人,递归的是神)。 本题就请你直接在屏幕上输出这句话。 输入格式:本题没有输入。 输

  • 天梯赛是个善良的比赛。善良的命题组希望将题目难度控制在一个范围内,使得每个参赛的学生都有能做出来的题目,并且最厉害的学生也要非常努力才有可能得到高分。 于是命题组首先将编程能力划分成了 10 ​6 ​​ 个等级(太疯狂了,这是假的),然后调查了每个参赛学生的编程能力。现在请你写个程序找出所有参赛学生的最小和最大能力值,给命题组作为出题的参考。 输入格式: 输入在第一行中给出一个正整数 N(≤2×1

  • 天梯赛 L1-079 天梯赛的善良 (20 分) 题目 天梯赛是个善良的比赛。善良的命题组希望将题目难度控制在一个范围内,使得每个参赛的学生都有能做出来的题目,并且最厉害的学生也要非常努力才有可能得到高分。 于是命题组首先将编程能力划分成了 1 0 6 10^6 106 个等级(太疯狂了,这是假的),然后调查了每个参赛学生的编程能力。现在请你写个程序找出所有参赛学生的最小和最大能力值,给命题组作为

  • 给定一棵完美二叉树的后序遍历,求完美二叉树的层次遍历。 只需要求出该树的左右儿子的数量即可 #include<bits/stdc++.h> using namespace std; typedef long long ll; int n; struct node{ int lnum; int rnum; int sz; int val; }tr[N]; int a[N]; vector<

  • 这次比赛主要的问题是用两层for循环的时候总是把里层的j写成i然后跑不了程序找半天错。 L1-6 吃火锅 (15 分) 刚开始13分,没注意到一句话中可能出现一个以上的"chi1 huo3 guo1",题目只说对朋友的每一行信息,检查其中是否包含 chi1 huo3 guo1。 L1-011 A-B (20 分) 没注意到字符串B也是由ASCII码和空白字符组成,要用getline,没得满分 L2

  • 排名名称评分 1Intel Xeon Platinum 8173M @ 2.00GHz28,860 2Intel Xeon Gold 6154 @ 3.00GHz27,722 3Intel Xeon Gold 6138 @ 2.00GHz25,416 4Intel Xeon E5-2679 v4 @ 2.50GHz25,236 5Intel Xeon Gold 6146 @ 3.20GHz25,1

  • L1-079 天梯赛的善良 (20 分) 题目: 天梯赛是个善良的比赛。善良的命题组希望将题目难度控制在一个范围内,使得每个参赛的学生都有能做出来的题目,并且最厉害的学生也要非常努力才有可能得到高分。于是命题组首先将编程能力划分成了 10​6个等级,然后调查了每个参赛学生的编程能力。现在请你写个程序找出所有参赛学生的最小和最大能力值,给命题组作为出题的参考。 输入格式: 输入在第一行中给出一个正整

  • #include<bits/stdc++.h> using namespace std; #define ll long long #define pii pair<int,int> #define mp make_pair const int N=1e6+10; string s[N]; map<pii,int>m; int a[N]; void dfs(int l,int r,int win)

  • L1-1~L1-8 语法题 L2-1 模拟、stl L2-2 L2-3 stl L2-4 模拟 L1-1 人与神 #include <bits/stdc++.h> using namespace std; #define IOS ios::sync_with_stdio(false),cin.tie(0),cout.tie(0); #define endl '\n'; typedef long l

  • 本题要求你实现一个天梯赛专属在线地图,队员输入自己学校所在地和赛场地点后,该地图应该推荐两条路线:一条是最快到达路线;一条是最短距离的路线。题目保证对任意的查询请求,地图上都至少存在一条可达路线。 输入格式: 输入在第一行给出两个正整数N(2 ≤ N ≤ 500)和M,分别为地图中所有标记地点的个数和连接地点的道路条数。随后M行,每行按如下格式给出一条道路的信息: V1 V2 one-way le

  • 通过这次天梯赛选拔也是给最近有点膨胀的自己一点点惊醒,自己的水平还远远不够,一些最基础的知识都还运用的很不好,甚至没有印象,这一点很不好。还有一个月的蓝桥杯就要到了,再这样下去想拿到一个好的名次是非常困难的,要开始查漏补缺和复习一些基础知识了。总结了七个需要复习和检讨的地方。 1.在第四题最后对结果去重时,使用set不会遍历元素了,想到了用迭代器,但是写的时候磕磕碰碰,最后并没有全部AC。重新复习

  • 哲哲打游戏 #include<bits/stdc++.h> #include<iostream> using namespace std; #define x first #define y second map<string, int> cnt1; vector<int> cnt[100010]; int re[110]; int main() { int n, m; scanf("%d%d

  • 过了快一个月了才想起来写天梯赛的记录~~ 本来不想写了,但是想想自己能打的比赛也没有多少,还是记录一下吧。 首先是这次比赛的整体感受,就是比较有压力,跟学长学姐们在一个组里, 我在的机房只有我一个大一新生(我是菜鸡)。不能说是没有压力,只能说是压力巨 大(害怕拖后腿)。比赛那天十点就到了我的座位,十一点半才能申请进入,下午一 点开始比赛,中间漫长的等待时间真的是折磨无比,幸好我心态好,坐着

  • 追风赶月莫停留,平芜尽处是春山。 距离上次写博客已经过去一个多月了,这一个月忙来忙去到现在哈哈哈哈哈咕咕咕 2021天梯赛 这次天梯赛总感觉状态不好导致成绩大不如之前训练的时候,觉得能做出来的题就是得不了满分,而且在L2-2上耗费的时间太多了,L2-4就没时间看题了,总的来说时间分配上出了问题,总想着要把这个题得满分,所以使得其他本应该拿到的分数没有拿到,这是一个大问题。 在做L2-2 的时候发现

 相关资料
  • 本文向大家介绍Asp.Net Core轻量级Aop解决方案:AspectCore,包括了Asp.Net Core轻量级Aop解决方案:AspectCore的使用技巧和注意事项,需要的朋友参考一下 什么是AspectCore Project ? AspectCore Project 是适用于Asp.Net Core 平台的轻量级 Aop(Aspect-oriented programming) 解决

  • 本文向大家介绍详解基于 Node.js 的轻量级云函数功能实现,包括了详解基于 Node.js 的轻量级云函数功能实现的使用技巧和注意事项,需要的朋友参考一下 导语 在万物皆可云的时代,你的应用甚至不需要服务器。云函数功能在各大云服务中均有提供,那么,如何用“无所不能”的 node.js 实现呢? 一、什么是云函数? 云函数是诞生于云服务的一个新名词,顾名思义,云函数就是在云端(即服务端)执行的函

  • 本文向大家介绍基于C#实现的轻量级多线程队列图文详解,包括了基于C#实现的轻量级多线程队列图文详解的使用技巧和注意事项,需要的朋友参考一下 前言 工作中我们经常会遇到一些一些功能需要实现造作日志,数据修改日志,对于这种业务需求如果我们以同步的方式实现,难免会影响到系统的性能。如下我列出集中解决方案。 使用Thread异步处理。 使用线程池或Task异步处理。 以上两种方案确实能解决我们此场景的需求

  • 本文向大家介绍基于VuePress 轻量级静态网站生成器的实现方法,包括了基于VuePress 轻量级静态网站生成器的实现方法的使用技巧和注意事项,需要的朋友参考一下 什么是VuePress VuePress由两部分组成:一个基于Vue的轻量级静态网站生成器,以及为编写技术文档而优化的默认主题。 它是为了满足Vue自己的子项目文档的需求而创建的。 VuePress为每一个由它生成的页面提供预加载的

  • 本文向大家介绍基于zepto的移动端轻量级日期插件--date_picker,包括了基于zepto的移动端轻量级日期插件--date_picker的使用技巧和注意事项,需要的朋友参考一下 前言 做过移动Web开发的同学都知道,移动端日期选择是很常见的需求。在PC端,我们有很丰富的选择,比较出名的就有Mobiscroll和jQuery UI Datepicker。个人看来,这些插件存在的两个显而易见

  • 问题内容: 我有一个将要推送的特定格式的XML文档。该文档将始终是同一类型,因此非常严格。 我需要对此进行解析,以便将其转换为JSON(嗯,这是一个混蛋版本,以便其他人可以将其与DOJO一起使用)。 我的问题是,我应该使用非常快速的轻量级(不需要SAX等)XML解析器(有什么想法吗?)还是编写我自己的,基本上可以转换为StringBuffer并在数组中旋转?基本上,我假设所有HTML解析器都将旋转