jflyfox / jfinal_cms

jflyfox/jfinal_cms

open_in_new前往仓库

jfinal cms是一个基于Java开发的功能强大的信息咨询网站,采用JFinal作为Web框架,Beetl模板引擎,MySQL数据库和Bootstrap前端。支持OAuth2认证、账号注册、密码加密、评论回复、消息提示、访问量统计及权限管理。后台模块涵盖栏目、文章、回复、相册、视频、缓存、友情链接、统计、模板、组织、用户、角色、菜单及数据字典管理。

项目概览

项目概述

jfinal_cms 是一个基于 Java 开发的功能强大的信息咨询网站(CMS)系统。它采用简洁强大的 JFinal 作为 Web 框架,模板引擎使用 Beetl,数据库使用 MySQL,前端使用 Bootstrap 框架。项目支持 OAuth2 认证、账号注册、密码加密、评论及回复、消息提示、网站访问量统计、文章评论数和浏览量统计、回复管理以及权限管理等功能。后台模块涵盖栏目管理、栏目公告、栏目滚动图片、文章管理、回复管理、意见反馈、我的相册、相册管理、图片管理、专辑管理、视频管理、缓存更新、友情链接、访问统计、联系人管理、模板管理、组织机构管理、用户管理、角色管理、菜单管理、数据字典管理等。

核心功能

  • 内容管理:支持文章、栏目、相册、图片、专辑、视频等内容的发布与管理。
  • 多站点支持:支持单站点和多站点模式,可通过域名解析到不同站点模板。
  • 模板系统:后端模板支持 Bootstrap 默认样式、黑色样式和 flat-ui 样式;前端模板支持默认内容发布、官网模板、图片模板和视频模板。
  • 用户与权限:支持用户注册、登录、密码加密(3DES)、OAuth2 认证、角色权限管理、菜单权限拦截。
  • 互动功能:支持评论及回复、意见反馈、消息提示、文章点赞等。
  • 统计功能:网站访问量统计、文章评论数和浏览量统计。
  • API 接口:提供完善的 API 接口,支持多版本并行、参数加密、登录验证、黑名单和版本控制。
  • 缓存机制:支持缓存自动更新,可配置 Redis 缓存。
  • 文件管理:支持模板在线编辑、文件上传备份、阿里云 OSS 备份恢复。

适用与不适用场景

适用场景:

  • 需要快速搭建信息咨询类网站、企业官网、博客、图片展示、视频展示等场景。
  • 需要多站点管理的门户网站。
  • 需要定制化模板的 CMS 项目。
  • 需要提供 API 接口供第三方调用的场景。

不适用场景:

  • 对前端交互要求极高的单页应用(SPA)场景。
  • 需要非关系型数据库(如 MongoDB)作为主存储的场景。
  • 需要微服务架构的复杂系统。
  • 对实时性要求极高的应用(如实时聊天)。

技术架构与依赖

  • Web 框架:JFinal(版本 5.2.2,根据 ChangeLog 最新更新)
  • 模板引擎:Beetl(版本 3.16.2)
  • 数据库:MySQL(驱动 8.0)
  • 连接池:Druid(从 c3p0 更换)
  • 前端框架:Bootstrap
  • 缓存:支持 Redis(通过 JedisClient)
  • 构建工具:Maven
  • 其他:OAuth2、UEditor、UMeditor、FST 等

安装与快速开始

  1. 下载项目代码,安装 JDK、Maven、MySQL。
  2. 在项目目录下运行 mvn install,提示 BUILD SUCCESS 即可。
  3. 创建 MySQL 用户和数据库,运行 /jfinal_cms/sql 下对应 jfinal_cms_v4.sql。
  4. 数据库配置文件:/jfinal_cms/src/main/resources/conf/db.properties。
  5. 如需要 OAuth2,设置 src/conf/oauth.properties。
  6. 运行:mvn tomcat:run。
  7. 系统默认采用单站点模式,可在“其他管理”下“站点管理”菜单切换。
  8. 如果使用多站点,可在“系统管理”下“多站点标示”菜单中,将“多站点标示”项目修改为 true。
  9. 多站点需要设置各个站点对应的域名,通过域名解析到不同的站点模板。

典型使用方法

  • 后台管理:访问 http://${ip:port}/${project_name}/admin,使用测试账号 admin/admin123 或 test/123456 登录。
  • API 调用:参考 docs/api文档.md,例如获取栏目列表:/api/action/folders?version=1.0.1&apiNo=1000000&time=20170314160401&apiUser=admin&checkSum=YBrs&p={siteId:2}。
  • 模板切换:在后台“模板管理”中可在线编辑和切换模板。
  • 多站点配置:在“系统管理”中开启多站点标示,并设置各站点域名。

配置与部署要点

  • 数据库配置:修改 db.properties 中的数据库连接信息。
  • OAuth2 配置:修改 oauth.properties 以启用 OAuth2。
  • API 配置:在系统管理-参数配置中,可设置 API.PARAM.ENCRYPT 为 true 开启参数加密,API.LOGIN.VALID 为 true 开启登录验证。
  • 缓存配置:可配置 Redis 缓存,修改相关配置。
  • 部署方式:支持 Maven 内嵌 Tomcat 运行,也可打包成 WAR 部署到外部 Tomcat。

限制、风险与许可证

  • 限制:项目主要面向传统 Web 应用,前端交互相对简单;文档可能不完整,部分功能依赖第三方服务(如 CDN)。
  • 风险:项目更新频率较低,可能存在安全漏洞,建议定期检查更新;使用默认账号密码存在安全风险,生产环境务必修改。
  • 许可证:Apache-2.0。

官方链接

信息来源和分析时间

  • 信息来源:GitHub 仓库 README、ChangeLog.md、docs/api文档.md、docs/donate.md。
  • 分析时间:2026-06-10(基于最新 release 日期)。