项目介绍


1.文件结构

sitesCMS 是典型的maven项目,遵循极简设计模式,先分模块再分层,整体分为cds和cms两个模块,其中cds是前端浏览用户访问的内容,cms则是后台管理用户使用的,项目整体文件结构如下:
文件结构.png

2.重点文件说明

整体结构上面已经介绍过了,为了帮助大家更好地掌握sitesCMS这里自上而下的对几个重点文件再进行着重说明,更加具体的内容则需要大家摸索源代码了。

2.1.CdsController.java

cds端用到的页面跳转方法都在这里了,里面有比较详细的注释,基本能满足所有页面跳转,即便有不能满足的也可以通过灵活应用enterColOtherArts或者viewOtherArt方法进行跳转。
除了跳转方法里带有的数据获取,其他的数据获取都是使用自定义指令来完成的,内置指令不能满足需求的话仿照着写自己的自定义指令就可以了。

2.2.ViewPathInterceptor.java

不同站点之间同一个方法可以访问不同的页面实现逻辑在这里,代码其实很简单,一看便知。

2.3.CmsConfig.java

这是整个工程的配置类,继承自JFinalConfig,了解源代码应该从这个类开始。

2.4.RunApp.java

工程启动类,调试的时候运行这个类里的main方法即可,打包后使用脚本启动的时候也是通过脚本启动的这个类。这里可以配置web端口等信息,有兴趣的可以详细了解下UndertowServer的方法。

2.5.SiteInfo.java

这里是一些站点使用的参数信息,比如站点名称、站点标识、上传文件格式、上传文件大小、是否开启日志等参数配置都在这里,这样的目的一是方便编码,二是可以减少数据库查询频率。切换站点后,这里的配置参数会自动更新成对应站点的信息。

2.6.cmsConfig-pro.txt和cmsConfig.txt

这两个是工程的核心配置文件,包括数据库信息、文件上传地址等信息。其中cmsConfig-pro.txt在开源包里是不存在的,这是我生产环境的配置,在开源包里特意删掉了,它的配置项会覆盖cmsConfig.txt里的配置项,当cmsConfig-pro.txt不存在时会以cmsConfig.txt里的配置为准。当你需要区分生产配置和开发配置时,也可以在生产发布环境添加一个自己的cmsConfig-pro.txt配置文件。

2.7.undertow.txt

这个是undertow的配置文件,配置undertow相关的信息,最主要的一个是undertow.resourcePath配置,用以配置静态资源的目录。它也可以有一个生产配置undertow-pro.txt,关于这个配置我整理过一个说明文档 JFinal-Undertow 配置文件工作原理 (该文档被多次抄袭)有兴趣的可以看看。

2.8.jfinal.bat和jfinal.sh脚本

这两个是打包后的启动脚本,分别用于Windows和Linux操作系统,关于打包和启动我在 JFinal从入门到实战视频教程【60集】里详细讲解过,且这部分是 免费的 ,需要的话可以看看。

2.9.其他

最基本的内容已经介绍完毕了,想要了解更多更加详细的内容可以看这套源码讲解课程 JFinal实战项目sitesCMS源码详解视频教程 。