源码说明
Jspxcms源码包采用maven结构,和普通eclipse的web项目结构不一样,且不包含lib目录下的第三方jar包。
源码环境要求
– JDK7或更高版本(支持JDK8)。建议使用JDK8,有更好的内存管理。更低版本的JDK7可能需要设置Java内存`-XX:PermSize=128M -XX:MaxPermSize=512M`,否则可能出现这种类型的内存溢出:`java.lang.OutOfMemoryError: PermGen space`。
– Servlet3.0或更高版本(如Tomcat7或更高版本)。
– MySQL5.5或更高版本(如需使用MySQL5.0,可将mysql驱动版本替换为5.1.24);Oracle10g或更高版本;SQLServer2005或更高版本。
– Maven3.2或更高版本。
– 系统后台兼容的浏览器:IE9+、Edge、Firefox、Chrome。
– 前台页面兼容的浏览器取决于模板,使用者可以完全控制模板,理论上可以支持任何浏览器。自带的默认模板兼容的浏览器:IE8+、Edge、Firefox、Chrome。
源码搭建步骤
1. 创建数据库。如使用MySQL,字符集选择为`utf8`或者`utf8mb4`(支持更多特殊字符如表情字符emoji,推荐)。
2. 执行数据库脚本。数据库脚本在`database`目录下。
3. 在eclipse中导入maven项目。点击eclipse菜单`File` – `Import`,选择`Maven` – `Existing Maven Projects`。创建好maven项目后,会开始从maven服务器下载第三方jar包(如spring等),需要一定时间,请耐心等待。
4. 修改数据库连接。打开`/src/main/resources/application.propertis`文件,根据实际情况修改`spring.datasource.url`、`spring.datasource.username`、`spring.datasource.password`的值。注意:即使数据使用`utf8mb4`字符集,数据库连接的`characterEncoding=utf8`也必须保留,不能修改为`characterEncoding=utf8mb4`。
5. 启动程序。**请一定按照这里介绍的方式启动程序,否则可能因上下文路径(ContextPath)导致页面没有样式等问题**。在eclipse中,右键点击项目名,选择`Run as` – `Maven build…`,`Goals`填入`spring-boot:run`,`JRE`选项卡中可以选择JDK版本,`VM arguments`输入框中可以设置java内存参数,如使用JDK7,应在此处填入`-XX:PermSize=128M -XX:MaxPermSize=512M`,然后点击`Run`。
6. 访问系统。前台地址:[http://localhost:8080/](http://localhost:8080/),使用手机访问前台或者使用浏览器模拟手机访问前台,系统会调用手机端模板,显示手机端的界面。后台地址:[http://localhost:8080/cmscp/index.do](http://localhost:8080/cmscp/index.do),用户名:admin,密码:空。
源码后端技术
SpringBoot:提供了对Spring开箱即用的功能。简化了Spring配置,提供自动配置 auto-configuration功能。
Spring:是提供了IoC等功能,是目前最流行的Java企业级开发框架。
SpringMVC:MVC框架,使用方便,Bug较少。
JPA:持久化框架。属于JSR标准,JPA实现选择最常用的Hibernate。
SpringDataJPA:对JPA封装,大部分查询只需要在接口中写方法,而不需要实现改方法,极大开发效率。
QueryDSL:实现类型安全的JPA查询,使用对象及属性实现查询,避免编写jpql出现的拼错字符及属性名记忆负担。
FreeMarker:模板组件。
Shiro:安全组件。配置简便。
Lucene:全文检索组件。实现对中文的分词搜索。
Ehcache:缓存组件。主要用在JPA二级缓存、Shiro权限缓存。
Quartz:定时任务组件。
源码前端技术
jQuery:JavaScript库。
Bootstrap:响应式设计前端框架。
AdminLTE:后台管理平台开源框架。
jQuery UI:基于jQuery的UI框架。
jQuery Validation:基于jQuery的表单校验框架。
UEditor:Web富文本编辑器。
Editor.md:基于Markdown语法的Web文本编辑器。
ECharts:用于生成图标的组件。
My97DatePicker:日期组件。
zTree:树组件。
用户许可协议
一、许可
1.1 您可以在完全遵守本最终用户许可协议,特别是2.1条款,的基础上,将本软件应用于非商业和商业用途,而不必支付软件版权授权费用。
1.2 您可以在协议规定的约束和限制范围内修改Jspxcms源代码(如果被提供的话)或界面风格以适应您的网站要求。
1.3 您拥有使用本软件构建的网站中全部会员资料、文章及相关信息的所有权,并独立承担与文章内容的相关法律义务。
1.4 在获得商业授权之后,您可以获得更多的软件功能,并且得到技术支持和服务。
1.5 商业授权用户享有反映和提出意见的权力,并被优先考虑。
二、约束和限制
2.1 无论如何,即无论用途如何、是否经过修改或美化、修改程度如何,只要使用Jspxcms的整体或任何部分,未经书面许可,页面页脚处的Powered by Jspxcms名称、链接(http://www.jspxcms.com/)都必须保留,而不能清除、修改或隐藏。
2.2 不得对本软件或与之关联的商业授权进行出租、出售、抵押或发放子许可证。
2.3 禁止在Jspxcms的整体或任何部分基础上以发展任何派生版本、修改版本或第三方版本用于重新分发。
2.4 如果您未能遵守本协议的条款,您的授权将被终止,所被许可的权利将被收回,并承担相应法律责任。
三、免责声明
3.1 本软件及所附带的文件是作为不提供任何明确的或隐含的赔偿或担保的形式提供的。
3.2 用户出于自愿而使用本软件,您必须了解使用本软件的风险,在尚未购买产品技术服务之前,我们不承诺提供任何形式的技术支持、使用担保,也不承担任何因使用本软件而产生问题的相关责任。
更新说明
## jspxcms-9.5.0 (2019-03-19)
1. 默认限制上传文件的后缀。
2. 默认取消文件管理功能。
3. 彻底取消前台对jsp的支持。
4. 禁止对本机抓取图片限制,抓取图片只支持http和https协议。
5. 对后台选择功能(栏目选择、模板选择)增加权限控制。
6. 后台保存和修改数据只能使用POST提交。
7. 增加CSRF过滤器,可以限制只接受指定域名的POST请求提交。
8. 角色管理功能如果勾选了所有权限,则选择按钮禁用。
## jspxcms-9.0.0 (2018-05-14)
### 新功能(New Feature)
1. 新增站点间推送功能。
2. 新增微信jssdk分享功能。
3. 新增站点导入导出功能。
### 改进(Improvement)
1. 站点复制功能可以复制所有模板、模型、栏目和文档。
2. 站点独立配置微信公众号。
3. 将flash上传组件改为jquery上传组件。
## jspxcms-8.0.4 (2018-04-18)
### 改进(Improvement)
1. 支持在手机浏览器访问PC页面。
2. 关闭spring-boot自带的favicon。
### 缺陷(Bug)
1. 修复:投票管理修改时,新增投票项报错。
2. 修复:微信群发页面js效果无效。
3. 修复:采集管理下载地址自动补全。
4. 修复:采集管理对所有url地址进行unescape。
5. 修复:私信、通知sql的where exists去掉表的别名。
6. 修复:手机端url在没有手机端域名时会为null。
7. 修复:SQLServer新驱动需要修改substring参数为三个。
8. 修复:后台系统消息管理权限值有误。
9. 修复:后台采集定时任务在tomcat-8.5.24版本中会出错。
10. 修复:没有审核权限的文档不允许移动。
11. 修复:通知列表页排序报错。