JPress 是一款基于 Java 开发设计的优秀 CMS 系统,它不仅继承了 WordPress 的优点,还在此基础上强化了电子商务功能。JPress 使用 JFinal 框架进行开发,支持 WordPress 的几乎所有功能。截至目前已有超过 50,000 个网站使用 JPress 进行驱动。
功能层面
自定义模型:支持自定义实体模型,并且模型内容支持自定义类型。例如文章内容模型支持专题讲座、分类、标签等类型。
多模板模块:默认使用 Freemarker,模板开发者可以使用其他模块如 Thymeleaf 进行渲染。同时支持后台在线文档编辑模板(目前只支持 Freemarker 模块)。
多数据库类型:支持多种数据库类型,并能配置不同的数据库查询(目前暂只支持 MySQL)。
多在线编辑器:后台数据可视化编写和 Markdown 编写可以随意转换。默认支持在线图片编辑和代码高亮等功能。
插件化:两行代码就可以开发一个插件,并且 GitHub 上已有插件的 HelloWorld 案例。
自定义 URL:网站内容 URL 设计风格自定义。
API 支持:便于 APP 或其他第三方应用数据信息。
国际化支持:使用 JPress 轻松制作任何语言的网站。
SEO 功能:可以单独为每篇文章、每个分类、每个标签设置 SEO,支持 sitemap 输出。
会员注册:支持电子邮件和手机短信验证(目前短信服务提供商只支持阿里大鱼)。
CDN 设置:支持七牛、阿里云、又拍云等。
图片水印:支持图片水印设置,并且上传图片自动裁剪成模板所需的多种图片尺寸。
第三方登录:支持 QQ、微信、新浪微博、开源中国、GitHub、Facebook、Twitter、LinkedIn(目前只进行 QQ、微信、新浪微博、开源中国、GitHub 的登录)。
微信层面
微信菜单设置:支持微信菜单设置。
自动回复:支持自动回复,可以添加关键词和回复内容。支持默认回复,包括:客户关注时、进入多客服时、退出多客服时、推送图片时、推送语音时、推送视频时、推送位置时、推送链接时、客户扫描了带参数的二维码时、客户摇一摇时。
高级回复:所有自动回复或默认回复支持“高级回复”功能,例如回复一篇文章、回复一个网址等。
插件回复:支持插件回复,启用 JPress 插件进行回复。
文章内容搜索:支持文章内容搜索,回复关键词就可以找到匹配的文章内容。
未来功能:未来会支持文章内容同步或微信导入等功能。
技术层面
JFinal 框架:JPress 引以为豪地使用了 JFinal 作为核心,JPress 也归功于 JFinal 灵活的架构。在 JFinal framework 开源系统体系里,JPress 关注每行逻辑的实现,重视每行编码质量,应该属于 JFinal 的最佳实践,所以也应该是每个 JFinaler 必看的项目。
模板模块:使用 Freemarker 和 Thymeleaf 作为模板模块。
缓存:JPress 内嵌的独创性缓存文件,使得 UI 渲染速度已经和模板模块无关。
在线编辑器:使用了 tinymce 做数据可视化在线编辑器,使用 simplemde 做 Markdown 在线编辑器。二者可以后台随意转换。
前端技术:JPress 使用了 jQuery、Bootstrap、Admin LTE、Font-Awesome、X-Editable、Fastclick、Toastr、Tag-Editor、Pace、Layer 等。
安全性:虽然作者做了很多努力,已经在 XSS、CSRF、SQL 注入、Cookie 安全等层面做了很多工作,但仍然需要更多的人来一起挖掘和健全。安全性是一个永恒不变的话题。
分布式部署:JPress 调用了 HttpSession,使用 ehcache 完成了 session 的功能,并且在项目中大量依赖于 cookie,在分布式架构上没有压力。
软件特点
轻量级:轻到只有 8 张数据分析表,却能完成 WordPress 的几乎所有功能。依赖的 jar 包也极其轻,目前只有 cos-26Dec2008.jar、druid-1.0.16.jar、ehcache-2.7.5.jar、fastjson-1.2.7.jar、freemarker-2.3.23.jar、javax.mail.jar、jfinal-2.2-bin-with-src.jar、jfinal-weixin-1.7-bin-with-src.jar、jsoup-1.8.3.jar、log4j-1.2.17.jar、mysql-connector-java-5.1.36.jar、slf4j-api-1.7.7.jar、slf4j-log4j12-1.7.7.jar、jetty-server-8.1.8.jar 这 14 个 jar 包,并且其中 jetty-server-8.1.8.jar 并非必需的,只用以便捷调试。包含 jar 包在内的所有项目在 20MB 左右。
快速响应:不管多么复杂的网页,JPress 响应基本上在 10ms 内。另外JPress 支持阿里云、七牛、又拍云等 CDN 作为加速,支持分布式部署等功能,即使是中国香港的服务器,也只用“很快”来形容。
灵活多变:JPress 提出的“模板即模型”的定义,模板制作人可以用 JPress 来做博客、新闻系统、论坛、问答社区、商城系统…再加上其灵活的插件功能,基本上可以用于做任何类型的网站。
国内化:由于国内化,所以更符合中国人需求。JPress 与生俱来结合了微信公众平台,JPress 内嵌了阿里大鱼的群发短信功能,支持了 QQ 邮箱、163 邮箱等作为发送邮件服务器,事后会提升微信模板信息推送通知客户等更符合中国人需求的功能。最为关键的是 JPress 使用了最宽松的 LGPL 开源协议,和中国的这些选用了独占协议的“开源”产品并不是一个等级的。
如何使用
安装环境:确保你的服务器满足 JPress 的运行环境,包括 Java、MySQL 等。
下载 JPress:从 JPress 官网下载最新的 JPress 版本。
部署 JPress:将 JPress 部署到你的服务器上。
配置数据库:在 JPress 后台配置你的数据库信息。
安装插件和模板:根据需要安装 JPress 的插件和模板。
开始使用:现在你可以开始使用 JPress 来创建和管理你的网站了。
希望这份润色后的 JPress 介绍能够帮助到你!