# UJCMS
Java开源内容管理系统(java cms)。使用SpringBoot、MyBatis、Spring Security、Lucene、FreeMarker、TypeScript、Vue3、ElementPlus等技术开发。
UJCMS是在Jspxcms多年的开发经验上,重新设计开发的Java CMS系统。针对原系统中的一些痛点问题,进行解决、优化和改进,并使用`GPL-2`开源协议发布,可免费商用。
技术上尽量选择主流、先进、简单的架构,方便用户进行二次开发。持久化层用MyBatis替换了Hibernate;视图层用前后端分离的Vue3替换了JSP;数据库也进行了重新设计。设计上强调“简单”、“灵活”,避免繁杂的设计和实现,降低系统维护成本和二次开发难度。功能使用上也要求“简单”,避免复杂的使用逻辑。
支持国产操作系统、国产数据库、国产中间件,支持信创适配。
* 官网地址:[https://www.ujcms.com](https://www.ujcms.com)
* 下载地址:[https://www.ujcms.com/download/](https://www.ujcms.com/download/)。提供安装包下载。
* 演示站前台:[https://demo.ujcms.com](https://demo.ujcms.com)。使用手机访问或者浏览器手机模式访问前台,会自动呈现手机页面。
* 演示站后台:[https://demo.ujcms.com/cp/](https://demo.ujcms.com/cp/)。演示用户登录后只拥有后台浏览功能,所有操作功能点击后都会显示无权访问(403)。如需进行操作测试,可以下载软件到本地安装。
* QQ交流群:626599871
## 技术及功能亮点
**自定义字段可查询**:所有的自定义字段都可查询增强了系统的灵活性。
**自定义字段可视化设计**:自定义字段使用拖拽式的可视化设计,所见即所得。
**URL地址SEO优化**:栏目和文章的动态地址可以通过系统的全局设置功能进行修改。默认的栏目和文章URL地址前缀为`/channel`和`/article`,可以根据自己的需要修改,如改为`/categories`和`/archives`。多站点的情况下,子站点URL地址也由原来的`www.example.com/site-abc`的形式改为更友好的`www.example.com/abc`的形式。
**清理垃圾附件**:系统使用时,可能会多传、误传图片等附件;在删除文章后,文章中的图片还保留在系统中,产生大量的未使用的垃圾图片和附件。系统中的附件管理可以查看所有未使用的图片和附件,并可对其进行删除。
**附件、模板、索引文件独立部署**:系统运行时产生的文件可以和程序分开,部署到独立的目录,方便系统备份、升级和管理。比如上传的图片和附件、前台的模板、索引文件,都可以部署到程序以外的目录。
**模板文件和CSS、JS在同一目录**:模板文件和CSS、JS分开的目录结构,会给模板制作和部署带来很大的不便性。而将模板文件和CSS、JS放在一起的设计,会方便很多。
**MyBatis参数化查询**:后台数据通常会需要通过不同字段进行搜索,对每个表都写大量的查询,无疑是一项繁重的工作。MyBatis参数化查询功能通过前台传递查询参数,即可实现任意字段及关联表的查询功能(如:Q_title=abc,Q_user-username=test),无需后台编写代码,大幅减少后端的开发工作量。
**主副表拆分**:对查询量大的复杂表进行主副表拆分,把常用的查询字段放到主表,不常用的字段放到副表,提升大数据量下的性能表现。
## 环境要求
* JDK 8、11。
* MySQL 5.7(8.0)。
* Tomcat 8.5、9.0 (Servlet 3.1+)。
* Maven 3.5 或更高版本。
* 系统后台兼容的浏览器:Chrome、Firefox、Edge。
* 前台页面兼容的浏览器取决于模板,使用者可以完全控制模板,理论上可以支持任何浏览器。演示模板支持IE10+(文库功能除外)、Chrome、Firefox、Edge。
## 创建数据库
1. 创建数据库。数据库名可为`ujcms`或其它任何名称。
* MySQL,字符集选`utf8mb4`(不要选择`utf8`,该字符集可能导致某些特殊字符出现乱码)。
* 达梦数据库,字符集选`UTF-8`(不要使用`GB18030`,该字符集可能导致某些特殊字符出现乱码)。
* 人大金仓数据库,字符集选`UTF8`(不要使用`GBK`,该字符集可能导致某些特殊字符出现乱码)。
2. 无需执行SQL文件,程序启动时会自动创建表及初始化数据。以后程序升级同样不需要执行SQL升级脚本,程序启动时会判断当前软件版本及数据库表结构版本,自动进行数据库表结构升级。
## MySQL表名大小写问题
如果在Windows环境使用MySQL,且以后需要迁移到Linux环境的MySQL,建议将Windows环境的MySQL配置为表名大小写敏感模式。
因为Linux环境下MySQL的表名是大小写敏感的;而在Windows环境下MySQL表名大小写不敏感,且会自动把大写的表名改为小写的表名。从Windows向Linux迁移数据时,本为大写表名的成为了小写表名,导致程序出错。需要手动把小写表名改回大写表名,费时费力且容易出错。
UJCMS系统的表名都为小写,不管在Window还是Linux下都没有问题,但第三方的类库(如Liquibase、Flowable、Quartz等)创建的表则为大写表名。所以Windows环境下也把MySQL设置成表名大小写敏感,有利以后迁移数据。
可修改MySQL配置文件`my.ini`:
```
[mysqld]
# Windows下表名也区分大小写,与Linux一致。
lower_case_table_names=2
```
## 启动程序
1. 在Eclipse中导入maven项目。点击Eclipse菜单`File` - `Import`,选择`Maven` - `Existing Maven Projects`。创建好maven项目后,会开始从maven服务器下载第三方jar包(如spring等),需要一定时间,请耐心等待。(另外:Eclipse中会出现红叉的错误警告,如是JavaScript或HTML报错则无需理会,不影响程序正常运行。这是由于Eclipse校验规则误判所致,可以在Eclipse中设置禁止对js文件进行错误校验。)
2. 修改数据库连接。打开`/src/main/resources/application.yaml`文件,根据实际情况修改`spring.datasource.url`、`spring.datasource.username`、`spring.datasource.password`的值。其中`spring.datasource.url`中的数据库名要和上一步创建的数据库名一致。
3. 启动程序。在eclipse中,右键点击项目名,选择`Run as` - `Java Application`,选择`Application - com.ujcms`,然后点击`OK`。也可在左侧导航中找到`com.ujcms.cms.Application`类并右键点击,选择`Run as` - `Java Application`即可直接运行。
4. 使用 IntelliJ IDEA 开发的,步骤与 Eclipse 类似。打开工程后,等待Maven下载依赖,修改数据库连接,然后直接点击右上角的绿色三角图标(`Run 'Application'`),即可直接运行。也可在左侧导航中找到`com.ujcms.cms.Application`类并右键点击,选择`Run 'Application'`。
5. 首次运行程序,会自动创建数据库表和初始化数据库,需要一些时间,请耐心等待,只要没有出现报错信息,说明程序还在启动中,不要急于关闭程序。直到出现类似`com.ujcms.cms.Application: Started Application in xxx seconds`信息,代表程序启动完成。如果程序首次启动,还在创建数据库表时,强行关闭了程序;再次启动程序可能会出现类似`LockException: Could not acquire change log lock`或`Waiting for changelog lock....`的报错信息;此时只要将数据库`databasechangeloglock`表中数据清空(注意,不是`databasechangelog`表),也可删除数据库所有表甚至重建数据库,再次启动程序即可继续创建数据库表和初始化数据,正常启动。
6. 前台地址:[http://localhost:8080/](http://localhost:8080/),使用手机访问前台或者使用浏览器模拟手机访问前台,会自适应显示手机端的界面。如遇到前台页面没有样式的情况,则是
没有合适的资源?快使用搜索试试~ 我知道了~
Java开源内容管理系统(java cms).zip
共1790个文件
js:605个
java:475个
scss:221个
需积分: 5 3 下载量 98 浏览量
2023-06-16
20:01:10
上传
评论
收藏 38.17MB ZIP 举报
温馨提示
Java开源内容管理系统(java cms).zip
资源推荐
资源详情
资源评论
收起资源包目录
Java开源内容管理系统(java cms).zip (1790个子文件)
axios.cjs 99KB
index-d46bfac9.css 331KB
bootstrap.css 222KB
bootstrap.css 196KB
bootstrap.css 196KB
ArticleList-4ce3ad44.css 184KB
bootstrap.min.css 177KB
bootstrap.min.css 158KB
bootstrap.min.css 158KB
all.css 72KB
all.css 72KB
fontawesome.css 70KB
fontawesome.css 70KB
bootstrap-grid.css 66KB
bootstrap-grid.css 66KB
skin.min.css 60KB
skin.min.css 60KB
all.min.css 58KB
all.min.css 58KB
fontawesome.min.css 57KB
fontawesome.min.css 57KB
bootstrap-grid.min.css 49KB
bootstrap-grid.min.css 49KB
v4-shims.css 40KB
v4-shims.css 40KB
v4-shims.min.css 26KB
v4-shims.min.css 26KB
content.min.css 21KB
content.inline.min.css 21KB
content.inline.min.css 21KB
content.min.css 21KB
airbnb.css 21KB
skin.mobile.min.css 21KB
skin.mobile.min.css 21KB
confetti.css 19KB
material_blue.css 19KB
material_orange.css 19KB
material_green.css 19KB
material_red.css 19KB
light.css 19KB
dark.css 19KB
flatpickr.css 19KB
flatpickr.min.css 16KB
default-skin.css 11KB
svg-with-js.css 8KB
svg-with-js.css 8KB
svg-with-js.min.css 6KB
svg-with-js.min.css 6KB
FileListUpload-fee4549f.css 5KB
bootstrap-reboot.css 5KB
bootstrap-reboot.css 5KB
cropper.css 5KB
photoswipe.css 4KB
bootstrap-reboot.min.css 4KB
bootstrap-reboot.min.css 4KB
cropper.min.css 4KB
404-b1b7f90c.css 3KB
style.css 3KB
ModelList-d0e968e6.css 2KB
content.min.css 1KB
content.min.css 1KB
content.min.css 1KB
content.min.css 1KB
jquery.fileupload-ui.css 1KB
main.css 1KB
main.min.css 969B
skin.shadowdom.min.css 764B
skin.shadowdom.min.css 764B
regular.css 734B
regular.css 734B
brands.css 732B
brands.css 732B
solid.css 727B
solid.css 727B
regular.min.css 677B
regular.min.css 677B
brands.min.css 675B
brands.min.css 675B
solid.min.css 669B
solid.min.css 669B
jquery.fileupload.css 655B
content.mobile.min.css 544B
content.mobile.min.css 544B
SiteSettings-65868ab1.css 516B
jquery.fileupload-noscript.css 433B
confirmDate.css 373B
jquery.fileupload-ui-noscript.css 362B
ie.css 260B
BaseUpload-2c9623a3.css 197B
ChannelList-4531ddda.css 150B
BlockItemList-e094ec4a.css 73B
GlobalSettings-1d2e1896.css 73B
DictList-9d84e052.css 73B
LoginPage-ab9e12a0.css 62B
Dockerfile 872B
.editorconfig 158B
fa-solid-900.eot 198KB
fa-solid-900.eot 198KB
fa-brands-400.eot 131KB
fa-brands-400.eot 131KB
共 1790 条
- 1
- 2
- 3
- 4
- 5
- 6
- 18
资源评论
YOLO数据集工作室
- 粉丝: 443
- 资源: 1569
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- sony 索尼IMX334摄像头模组电路板AD版硬件PCB图(6层板).zip
- 基于flask和echarts融合交易策略的bitfinex可视化微服务.zip
- 包含了wvp-assist.tar wvp-talk.tar zlmediakit.tar .
- 3r4efgh53wgrf43tw
- 2024新版Java基础从入门到精通全套视频+资料下载
- Spring AI大模型视频教程+ChatGPT视频教程+OpenAI大模型视频教程(资料+视频教程)
- ABB工业机器人教程PDF版本
- 123321123323211
- yolov8实战第八天-pyqt5-yolov8实现车牌识别系统(论文(8700+字+数据集+完整部署代码+代码使用说明)
- 三相桥式全桥整流电路MATALB Simulink仿真文件
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功