221 Star 402 Fork 176

SeeYoui / kensite_cms

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
Apache-2.0

kensite快速开发框架完整开源版J2EE代码

平台简介

KenSite是基于多个优秀的开源项目,高度整合封装而成的高效,高性能,强安全性的开源Java EE快速开发平台。

KenSite本身是以Spring Framework为核心容器,Spring MVC为模型视图控制器,MyBatis为数据访问层, Apache Shiro为权限授权层,Ehcahe对常用数据进行缓存,Quartz为定时任务计划管理。

KenSite 提供了常用工具进行封装,包括日志工具、缓存工具、服务器端验证、数据字典、当前组织机构数据以及其它常用小工具等。另外还提供一个强大的在线 代码生成 工具,直接生成controller、service、domain、mapper、mybatis xml、jsp等文件, 前端显示基于easyui,一键生成就可以直接使用包括新增修改删除等常规操作。 如果你使用了KenSite基础框架,就可以很高效的快速开发出,优秀的信息管理系统。

详细介绍请点这里

5分钟开发一个模块请点这里

Kensite_cms 内容发布系统简介

Kensite cms 内容发布系统是基于Kensite开发平台搭建,支持多站点,自带两个演示实例,一个是社区示例,一个是论坛示例。后台拥有站点、导航、文章、评论、收藏、留言板、标签云等模块,并支持标签模版,实现前端与后台业务分离,前端所有数据的展现均可通过Kensite cms 自定义标签实现,新增修改删除等操作通过ajax调用接口实现。

内容管理系统只是开发框架附带开发的一个子单元,并非核心,此开发框架的核心是作为一套快速开发框架,可以应用到各种管理系统的开发中,极大的提高开发效率,降低开发成本。此开发框架是我们公司一直在使用的框架,简单易学,可扩展性强,培训机构出来的毫无经验的实习生都可以很快上手,已经经过了好多个项目的洗礼,绝对足够坚挺。

内置功能

  1. 用户管理:用户是系统操作者,该功能主要完成系统用户配置。
  2. 部门管理:配置系统组织机构,无限层级,树结构展现,可随意调整上下级。
  3. 菜单管理:配置系统菜单,操作权限,按钮权限标识等。
  4. 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。
  5. 字典管理:对系统中经常使用的一些较为固定的数据进行维护,如:是否、男女、类别、级别等。
  6. 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
  7. 连接池监视:监视当期系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈。
  8. 数据库建模:在线创建数据库表及字段,并可进行可视化配置各字段前端显示组件,表单即可显示对应组件。
  9. 定时任务计划:后台可视化配置任务计划执行,基于Quartz支持可视化配置。
  10. 通用上传下载:单个多个附件上传,支持断点上传和断点下载。
  11. 内容管理:多站点管理,文章发布等,自带一套完整的JSP自定义标签。
  12. 消息推送:平台集成极光推送api、邮件发送、短信发送。
  13. web通信:集成websocket,前端自带一个聊天室。
  14. 导出功能:excel导出与word导出。
  15. 统计图表设计器:可视化配置echarts统计图表,支持柱状图、折线图、饼图、仪表等可视化配置,不需要编码。
  16. 流程建模:可视化流程设计器在线设计流程,可通过少量代码实现任意业务审批流程的签收、通过、驳回、跟踪等操作。
  17. 还有很多,请在使用中自行发现吧。

为何选择KenSite

  1. 使用 Apache License 2.0 协议,源代码完全开源,无商业限制。
  2. 使用目前主流的Java EE开发框架,简单易学,学习成本低。
  3. 数据库无限制,目前支持MySql、Oracle,可扩充SQL Server、PostgreSQL、H2等。
  4. 模块化设计,层次结构清晰。内置一系列内容发布系统基础功能。
  5. 操作权限控制精密细致,对所有管理链接都进行权限验证,可控制到按钮。
  6. 数据权限控制精密细致,对指定数据集权限进行过滤,七种数据权限可供选择。
  7. 提供在线功能代码生成工具,提高开发效率及质量。
  8. 提供常用工具类封装,日志、缓存、验证、字典、组织机构等,常用标签(taglib),获取当前组织机构、字典等数据。
  9. 兼容目前最流行浏览器(IE7+、Chrome、Firefox)IE6也支持,但体验效果差。

技术选型

1、后端

  • 核心框架:Spring Framework 4.0
  • 安全框架:Apache Shiro 1.2
  • 视图框架:Spring MVC 4.0
  • 服务端验证:Hibernate Validator 5.1
  • 定时任务计划:Quartz
  • 流程引擎:activiti 5.21.0
  • 持久层框架:MyBatis 3.2
  • 数据库连接池:Alibaba Druid 1.0
  • 缓存框架:Ehcache 2.6、Redis
  • 日志管理:SLF4J 1.7、Log4j
  • 全文检索:lucene
  • 验证码:patchca
  • WebService:CXF webservice
  • 工具类:Apache Commons、Jackson 2.2、Xstream 1.4、Dozer 5.3、POI 3.9

2、前端

  • JS框架:jQuery 1.9
  • CSS框架:Twitter Bootstrap 2.3.1
  • 前端组件:easyui
  • 客户端验证:JQuery Validation Plugin 1.11
  • 富文本:Ueditor
  • 对话框:layer、jquery-ui
  • 上传空间:uploadify
  • 树结构控件:jQuery zTree
  • 日期控件: My97DatePicker
  • web excel插件:handsontable
  • 统计图表:echarts

4、平台

  • 服务器中间件:在Java EE 5规范(Servlet 2.5、JSP 2.1)下开发,支持应用服务器中间件 有Tomcat 6、Jboss 7、WebLogic 10、WebSphere 8。
  • 数据库支持:目前仅提供MySql和Oracle数据库的支持,但不限于数据库,平台留有其它数据库支持接口, 可方便更改为其它数据库,如:SqlServer 2008、MySql 5.5、H2等
  • 开发环境:Java EE、Eclipse、Maven、Git

安全考虑

  1. 开发语言:系统采用Java 语言开发,具有卓越的通用性、高效性、平台移植性和安全性。
  2. 分层设计:(数据库层,数据访问层,业务逻辑层,展示层)层次清楚,低耦合,各层必须通过接口才能接入并进行参数校验(如:在展示层不可直接操作数据库),保证数据操作的安全。
  3. 双重验证:用户表单提交双验证:包括服务器端验证及客户端验证,防止用户通过浏览器恶意修改(如不可写文本域、隐藏变量篡改、上传非法文件等),跳过客户端验证操作数据库。
  4. 安全编码:用户表单提交所有数据,在服务器端都进行安全编码,防止用户提交非法脚本及SQL注入获取敏感数据等,确保数据安全。
  5. 密码加密:登录用户密码进行MD5加密,此加密方法是不可逆的。保证密文泄露后的安全问题。
  6. 强制访问:系统对所有管理端链接都进行用户身份权限验证,防止用户直接填写url进行访问。

快速体验

帮助手册

  1. 具备运行环境:JDK1.7+、Maven3.0+、MySql5+或Oracle10g+。
  2. 修改src\main\resources\kensite.properties文件中的数据库设置参数。
  3. 根据修改参数创建对应MySql或Oracle数据库用户和参数。
  4. 找到src\main\resources\db\sys目录,执行对应数据库初始化sql文件。
  5. 运行bin\run-tomcat7.bat或bin\run-jetty.bat,启动Web服务器(第一次运行,需要下载依赖jar包,请耐心等待)。
  6. 最高管理员账号,用户名:system 密码:system。

常见问题

  1. 快速启动:详细说明请参考 平台环境搭建 ,这里一步一步的详细的介绍了如何搭建kensite平台及平台所需环境,以及如何启动等。

更新记录

V3.1.0 2017‎年‎07‎月21日 ‏17:50:24 星期五

  1. 框架集成activiti流程引擎,实现流程画布可视化编辑流程,流程启动、签收、办理、跟踪、办理意见反馈等功能
  2. 编写请假流程demo演示案例,移除上版本的请假信息列表(list.jsp),采用通用流程待办和流程已办列表,以及流程启动列表
  3. 流程表单需要手动编写jsp文件,后续会增加流程表单采用数据建模的数据库表及字段配置,进而增加对应的代码生成器,提升开发效率
  4. 涉及到的角色及用户对应关系:员工角色(ken)->部门经理(ken)->人事(promise),初始密码均为123456
  5. 系统更新方式:参考V3.0.0的第5和第6步骤
  6. 如果你有好的意见和建议可以加入QQ群反馈给我,我会继续完善这个框架,请大家持续关注

V3.0.0 2017‎年‎06‎月‎08日 ‏20:50:24 星期四

  1. 框架初步集成activiti流程引擎,实现可视化流程编辑,流程签收、通过、驳回、跟踪等操作
  2. 编写请假流程demo演示案例,演示如何自定义流程表单和数据信息列表、如何添加流程操作按钮、如何进行签收和办理操作
  3. 由于是初步集成,功能还不怎么强大,需要小伙伴们有一定的代码开发功底,具备的小伙伴就可以参考请假流程demo实现自己任意的审批流程了
  4. 流程引擎将继续发展,接下来将规范流程前后台代码,封装更多activiti的api方法,提供流程节点挂接表单(表单暂时还需要手动编写,以后会考虑加入表单设计器)
  5. 想要先睹为快的小伙伴自行获取最新代码,执行db文件夹下对应数据库的sys和act的初始化sql语句,再启动项目就可以了,演示帐号是 ken 用户
  6. 对于早就下载了的小伙伴,升级的方式就是执行db文件夹下对应数据库的upgrade升级sql语句和act的初始化sql语句,再启动项目就可以了,演示帐号是 ken 用户

重要说明 2017‎年‎06‎月‎01日 ‏11:50:24 星期四

  1. 开发框架是我一个人利用业余时间做的,也是我一个人在维护,时间有限更新会慢一点,不过我会坚持做下去,把我的想法都实现出来,也针对QQ群里大家反馈的修改意见进行更新,如果你有好的意见或建议,请联系我,QQ、邮件都可以
  2. 最近忙于换工作,买房子办手续,断更一段时间,是断更而不是停更,忙过这段时间会恢复更新的,请大家持续关注
  3. 简单说一下接下来的打算,开发框架将增加视图建模(可视化配置list界面)、表单建模(可视化配置form界面)、流程建模(基于activiti并与前两个结合可视化搭建流程)三大核心模块,统一增删改查等操作方法,实现纯配置开发

V2.5.1 2017‎年‎06‎月‎01日 ‏11:50:24 星期四

  1. 已经过去两个月了,开发平台没有大的更新,都是修改QQ群里大家反馈的bug(都是mysql版本的,之前公司用的都是oracle的,oracle是稳定的没问题的,当然现在mysql也没什么问题了)
  2. V2.5.1解决mysql关键字导致的bug
  3. 开发框架说明增加更新记录(也就是现在看的这个啦~)
  4. 开发框架增加SQL升级脚本,老用户可以执行升级SQL对数据库升级,而对现有数据不产生任何影响,文件在\resources\db\upgrade\版本号\对应数据库sql文件

V2.5.0 2017‎年‎03‎月‎24‎日 ‏13:28:24 星期五

  1. 开发平台在开源中国码云托管(之前都是放在github上的),并在当天通过了码云的自荐,连续多天今日热门排名第一和第二

如何交流、反馈?

版权声明

本软件使用 Apache License 2.0 协议,请严格遵照协议内容:

  1. 需要给代码的用户一份Apache Licence。
  2. 如果你修改了代码,需要在被修改的文件中说明。
  3. 在延伸的代码中(修改和有源代码衍生的代码中)需要带有原来代码中的协议,商标,专利声明和其他原来作者规定需要包含的说明。
  4. 如果再发布的产品中包含一个Notice文件,则在Notice文件中需要带有Apache Licence。你可以在Notice中增加自己的许可,但不可以表现为对Apache Licence构成更改。
  5. Apache Licence也是对商业应用友好的许可。使用者也可以在需要的时候修改代码来满足需要并作为开源或商业产品发布/销售

系统美图

输入图片说明 输入图片说明 输入图片说明 输入图片说明 输入图片说明 输入图片说明 输入图片说明 输入图片说明 输入图片说明 输入图片说明 输入图片说明 输入图片说明 输入图片说明

Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "{}" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright {yyyy} {name of copyright owner} Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

简介

KenSite是基于多个优秀的开源项目,高度整合封装而成的高效,高性能,强安全性的开源Java EE快速开发平台。 展开 收起
Apache-2.0
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/seeyoui/kensite_cms.git
git@gitee.com:seeyoui/kensite_cms.git
seeyoui
kensite_cms
kensite_cms
master

搜索帮助

14c37bed 8189591 565d56ea 8189591