UJCMS 9.1.0 发布,国内开源 java cms
许可协议从GPL-2改为Apache-2.0,更宽松的协议,方便用户将系统集成到自身的应用中。
修复了已知bug,系统更加稳定。
升级日志(9.1.0)
- 修复前台全文搜索没有结果
- web.xml session过期时间从30分钟改成25分钟,部分漏洞扫描软件会将session过期时间大于等于30分钟判定为漏洞
- 修复文章管理一级栏目无法添加文章
- 在当前线程中直接生成当前文章的静态页,以免文章出现文章页面找不到(404)的错误
- 修复拖拽排序不正确的问题
- 修复ujcms.ep-display: false,会关闭站点管理功能的问题
- 修复无文章、留言功能权限的用户登录首页会提示无权限的问题
- 修复国际化中敏感词提示为"{name}"没有被替换的问题
- 修复删除用户时,更新文章的修改人为匿名用户
- 修复前台修改账号信息页面报错问题
- 修复文章上线时间无效问题
- 修复部分页面排序不正确问题
- 修复文章增加新字段后,模型中系统字段没有更新的问题
- OrgTreeMapper.xml中listByAncestorId的resultType由map修正为int
简介
Java开源内容管理系统(java cms)。使用SpringBoot、MyBatis、Spring Security、Lucene、FreeMarker、TypeScript、Vue3、ElementPlus等技术开发。
技术上尽量选择主流、先进、简单的架构,方便用户进行二次开发。设计上强调“简单”、“灵活”,避免繁杂的设计和实现,降低系统维护成本和二次开发难度。功能使用上也要求“简单”,避免复杂的使用逻辑。
支持信创适配,支持国产服务器、国产操作系统、国产数据库、国产中间件。
- 官网地址:https://www.ujcms.com
- 下载地址:https://www.ujcms.com/download/ 提供安装包下载。
- 演示站前台:https://demo.ujcms.com 使用手机访问或者浏览器手机模式访问前台,会自动呈现手机页面。
- 演示站后台:https://demo.ujcms.com/cp/
QQ交流群:626599871
微信交流群:加作者微信拉入群
技术及功能亮点
自定义字段可查询:所有的自定义字段都可查询增强了系统的灵活性。
自定义字段可视化设计:自定义字段使用拖拽式的可视化设计,所见即所得。
URL地址SEO优化:栏目和文章的动态地址可以通过系统的全局设置功能进行修改。默认的栏目和文章URL地址前缀为/channel和/article,可以根据自己的需要修改,如改为/categories和/archives。多站点的情况下,子站点URL地址可为目录形式(www.example.com/abc)或次级域名形式(abc.example.com)。
清理垃圾附件:系统使用时,可能会多传、误传图片等附件;在删除文章后,文章中的图片还保留在系统中,产生大量的未使用的垃圾图片和附件。系统中的附件管理可以查看所有未使用的图片和附件,并可对其进行删除。
附件、模板、索引文件独立部署:系统运行时产生的文件可以和程序分开,部署到独立的目录,方便系统备份、升级和管理。比如上传的图片和附件、前台的模板、索引文件,都可以部署到程序以外的目录。
模板文件和CSS、JS在同一目录:模板文件和CSS、JS分开的目录结构,会给模板制作和部署带来很大的不便性。而将模板文件和CSS、JS放在一起的设计,会方便很多。
MyBatis参数化查询:后台数据通常会需要通过不同字段进行搜索,对每个表都写大量的查询,无疑是一项繁重的工作。MyBatis参数化查询功能通过前台传递查询参数,即可实现任意字段及关联表的查询功能(如:Q_title=abc,Q_user-username=test),无需后台编写代码,大幅减少后端的开发工作量。
主副表拆分:对查询量大的复杂表进行主副表拆分,把常用的查询字段放到主表,不常用的字段放到副表,提升大数据量下的性能表现。
后端技术
- SpringBoot:提供了对Spring开箱即用的功能。简化了Spring配置,提供自动配置auto-configuration功能。
- SpringMVC:MVC框架,使用方便,Bug较少。
- SpringSecurity:安全组件。
- Mybatis:持久化框架。
- FreeMarker:网站前台模板引擎。
- Lucene:全文检索组件。
- Liquibase:数据库跟踪、管理工具。
前端技术
- Vue 3:JavaScript框架。
- ElementPlus 2:Vue 3 UI 框架。
- Vite: 下一代前端开发与构建工具。
- TypeScript: JavaScript的一个超集。
- TailwindCSS: 功能类优先的 CSS 框架。
- Tinymce: 富文本编辑器。
功能列表
- 内容
- 文章管理
- 文章审核
- 栏目管理
- 区块管理
- 字典管理
- TAG管理
- 附件管理
- 生成管理
- 互动
- 留言管理
- 投票管理
- 调查问卷
- 文件
- 模板文件
- 上传文件
- HTML文件
- 模板备份
- 上传备份
- 上传增量备份
- 数据库备份
- 配置
- 全局设置
- 站点设置
- 模型管理
- 区块设置
- 字典设置
- 绩效类型
- 留言类型
- 统计
- 访问分析
- 访问趋势
- 受访页面
- 入口页面
- 访问来源
- 访客分析
- 新老访客
- 地域分布
- 访客环境
- 文章统计
- 按用户统计
- 按组织统计
- 按栏目统计
- 绩效统计
- 用户绩效
- 组织绩效
- 访问分析
- 用户
- 用户管理
- 角色管理
- 用户组管理
- 组织管理
- 日志
- 短信日志
- 登录日志
- 操作日志
- 系统
- 站点管理
- 流程模型
- 流程实例
- 历史流程
- 敏感词管理
- 易错词管理
前台模板
后台界面
UJCMS 9.1.0 发布,国内开源 java cms的更多相关文章
- J2ObjC 1.0 发布,将 Java 转换为 Objective-C
J2ObjC 是一个Google开发的开源工具,用于将Java代码转换为Objective-C代码.其目的是为了能在iOS平台上重用Android平台.web服务器端的Java代码.服务器端代码的转换 ...
- itest(爱测试) 4.2.0 发布,开源BUG 跟踪管理 & 敏捷测试管理软件
itest 入选 2019 年度最受欢迎开源中国软件 开源工具的发展,离不开你我的支持,需要您投上宝贵的一票 去投票 v4.2.0下载地址 :itest下载 itest 简介:查看简介 itest ...
- itest(爱测试) 4.5.0 发布,开源BUG 跟踪管理 & 敏捷测试管理软件
itest 简介 test 开源敏捷测试管理,testOps 践行者.可按测试包分配测试用例执行,也可建测试迭代(含任务,测试包,BUG)来组织测试工作,也有测试环境管理,还有很常用的测试度量:对于发 ...
- itest(爱测试) 4.4.0 发布,开源BUG 跟踪管理 & 敏捷测试管理软件
itest 简介 test 开源敏捷测试管理,testOps 践行者.可按测试包分配测试用例执行,也可建测试迭代(含任务,测试包,BUG)来组织测试工作,也有测试环境管理,还有很常用的测试度量:对于发 ...
- itest(爱测试) 4.3.0 发布,开源BUG 跟踪管理 & 敏捷测试管理软件
itest 简介:查看简介 test 开源敏捷测试管理,testOps 践行者.可按测试包分配测试用例执行,也可建测试迭代(含任务,测试包,BUG)来组织测试工作,也有测试环境管理,还有很常用的测试度 ...
- Mono 4.0 发布,开源跨平台 .Net 框架
快速使用Romanysoft LAB的技术实现 HTML 开发Mac OS App,并销售到苹果应用商店中. <HTML开发Mac OS App 视频教程> 土豆网同步更新:http: ...
- Solon v1.11.0 发布,Hello Java
一个更现代感的 Java 应用开发框架:更快.更小.更自由.没有 Spring,没有 Servlet,没有 JavaEE:独立的轻量生态.主框架仅 0.1 MB. @Controller public ...
- AEAI DP V3.7.0 发布,开源综合应用开发平台
1 升级说明 AEAI DP 3.7版本是AEAI DP一个里程碑版本,基于JDK1.7开发,在本版本中新增支持Rest服务开发机制(默认支持WebService服务开发机制),且支持WS服务.RS ...
- 迎国庆 itest(爱测试) 4.1.0 发布,开源BUG 跟踪管理 & 敏捷测试管理软件
v4.1.0 下载地址 :itest下载 itest 简介:查看简介 在线体验 https://itest.work/demo/ V4.1.0 根据用户反馈,共增加了23个更新:其中有11个功能增强和 ...
- itest(爱测试) 4.0.0 发布,开源敏捷测试管理 &BUG 跟踪管理软件
v4.0.0 下载地址 :itest下载 itest 简介:查看简介 V4.0.0 根据用户反馈,共增加了29个更新:其中有15 个功能增强和14个BUG修复 :UI更加清爽,用例执行和用例复制粘 ...
随机推荐
- 【Azure 环境】中国区Azure B2C 是否支持手机验证码登录呢?
问题描述 中国区Azure B2C 是否支持手机验证码登录呢? 问题回答 在没有原生 Phone sign-up and sign-in for user flows (中国区不支持,Global A ...
- kotlin协程异常处理之-try catch
kotlin协程小记 协程的async使用 kotlin协程异常处理之-try catch kotlin协程异常处理之-CoroutineExceptionHandler 一.try catch tr ...
- Java 多线程---线程优先级
Java 实例 - 线程优先级设置 以下实例演示了如何通过setPriority() 方法来设置线程的优先级: 1 SimplePriorities.java 文件 2 public class Si ...
- Asp .Net Core 系列:Asp .Net Core 集成 Newtonsoft.Json
简介 Newtonsoft.Json是一个在.NET环境下开源的JSON格式序列化和反序列化的类库.它可以将.NET对象转换为JSON格式的字符串,也可以将JSON格式的字符串转换为.NET对象.这个 ...
- Codeforces Round #851 (Div. 2) 题解
Codeforces Round #851 (Div. 2) 题解 A. One and Two 取 \(\log_2\),变成加号,前缀和枚举 \(s[i]=\dfrac{s[n]}{2}\). B ...
- 谈谈Java的特点和优点以及选择Java的原因
如果面试官问你:请你说说Java的特点和优点,为什么要选择Java?你该怎么回答? 得分点 Java的特点 Java与C++的区别 Java的优点 标准回答 Java是一门非常纯粹的面向对象的编程 ...
- java线程示例
需要开启线程 的方法继承线程类,并在run 中写逻辑 public class Ant extends Thread{ Cake cake; public Ant(String name,Cake ...
- 【技术积累】Java 8 新特性
一.Lambda表达式 Lambda 是一个匿名函数,我们可以把 Lambda表达式理解为是一段可以传递的代码(将代码像数据一样进行传递).可以写出更简洁.更灵活的代码.作为一种更紧凑的代码风格,使J ...
- 使用Mockito与Squaretest进行单元测试.
项目开发过程中,不少公司都要求写单元测试的代码,可以提高代码的质量,并且可以减少出现BUG的概率. 对于中小型公司来说,对单元测试不做硬性要求,不写最好.因为还是需要一定的工作量,在保证代码质量和性能 ...
- shell脚本中常用的自定义函数
在Shell脚本中,你可以定义各种函数来执行不同的任务.以下是20个常用的自定义函数示例,涵盖了从文件操作.文本处理到系统监控等多个方面: 检查文件是否存在 file_exists() { [ -f ...