JeeSite 企业信息管理系统基础框架
1. JeeSite概述
1.1. 简介
JeeSite是一个开源的企业信息管理系统基础框架。主要定位于“企业信息管理”领域,可用作企业信息管理类系统、网站后台管理类系统等。JeeSite是非常强调开发的高效性、健壮性和安全性的。
JeeSite是轻量级的,简单易学,本框架以Spring Framework为核心、Spring MVC(相比Struts2更容易上手、更易用)作为模型视图控制器、Spring Data JPA + Hibernate作为数据库操作层,此组合是Java界业内最经典、最优的搭配组合进行封装。前端界面风格采用了结构简单、性能优良、页面精致的 Twitter Bootstrap作为前端展示框架。
JeeSite已内置了一系列企业信息管理系统的基础功能,目前包括三大模块,系统管理(SYS)模块、内容管理(CMS)模块和在线办公(OA)模块。系统管理模块,包括企业组织架构(用户管理、机构管理、区域管理)、菜单管理、角色权限管理、字典管理等功能;内容管理模块,包括内容管理(文章、链接),栏目管理、站点管理、公共留言、文件管理、前端网站展示等功能;在线办公模块,提供简单的请假流程实例。
JeeSite提供了常用工具进行封装,包括日志工具、缓存工具、服务器端验证、数据字典、当前组织机构数据(用户、区域、部门)以及其它常用小工具等。另外还提供一个基于本基础框架的代码生成器,为你生成基本模块代码,如果你使用了JeeSite基础框架,就可以很快速开发出优秀的信息管理系统。
1.2. 为何选择
1、 使用Apache License 2.0协议,源代码完全开源,无商业限制。
2、 使用目前最主流的J2EE开发框架,简单易学,学习成本低。
3、 数据库无限制,支持MySql、Oracle、SQL Server、H2等数据库
4、 模块化设计,层次结构清晰。内置一系列企业信息管理的基础功能。
5、 操作权限控制精密细致,对所有管理链接都进行权限验证,可控制到按钮。
6、 数据权限控制精密细致,对指定数据集权限进行过滤,七种数据权限可供选择。
7、 提供基本功能模块的源代码生成器,提高开发效率及质量。
8、 提供常用工具类封装,日志、缓存、验证、字典、组织机构等,常用标签(taglib),获取当前组织机构、字典等数据。
9、 完全兼容目前最流行浏览器(IE6、IE7+、Firefox、Chrome)。
10、 提供目前最流行的Activit流程引擎实例
1.3. 技术选型
1、 Services相关
a) Core Framework:Spring Framework 3.2。
b) Security Framework:Apache Shiro 1.2。
c) Workflow Engine:Activit 5.12。
2、 Web相关
a) MVC Framework:Spring MVC 3.2。
b) Layout Decoration:SiteMesh 2.4。
c) JavaScript Library:JQuery 1.9。
d) CSS Framework:Twitter Bootstrap 2.3.1。
e) JavaScript/CSS Compressor:YUI Compressor 2.4。
f) Front Validation:JQuery Validation Plugin 1.11。
3、 Database相关
a) ORM Framework:Spring Data JPA 1.3、Hibernate 4.1。
b) Connection Pool:Alibaba Druid 0.2。
c) Bean Validation:Hibernate Validation 5.0。
d) Cache:Ehcache 2.6。
4、 Tools 相关
a) Commons:Apache Commons
b) JSON Mapper:Jackson 2.1
c) Bean Mapper:Dozer 5.3
d) Office Tools:Apache POI 3.9
e) Full-text search:Hibernate Search 4.2(Apache Lucene 3.6)、IK Analyzer 2012_u6中文分词
f) Log Manager:Log4j 1.2
1.4. 安全考虑
1、 开发语言:系统采用Java 语言开发,具有卓越的通用性、高效性、平台移植性和安全性。
2、 分层设计:(数据库层,数据访问层,业务逻辑层,展示层)层次清楚,低耦合,各层必须通过接口才能接入并进行参数校验(如:在展示层不可直接操作数据库),保证数据操作的安全。
3、 双重验证:用户表单提交双验证:包括服务器端验证及客户端验证,防止用户通过浏览器恶意修改(如不可写文本域、隐藏变量篡改、上传非法文件等),跳过客户端验证操作数据库。
4、 安全编码:用户表单提交所有数据,在服务器端都进行安全编码,防止用户提交非法脚本及SQL注入获取敏感数据等,确保数据安全。
5、 密码加密:登录用户密码进行SHA1散列加密,此加密方法是不可逆的。保证密文泄露后的安全问题。
6、 强制访问:系统对所有管理端链接都进行用户身份权限验证,防止用户直接通过URL进行未授权页面。
2. 管理功能演示
2.1. 管理登录
2.1.1. 登录界面
2.1.2. 主题切换
2.2. 总体介绍
2.2.1. 客户端验证
2.2.2. 提交结果信息
2.3. 控制面板
2.3.1. 个人资料
2.3.2. 修改密码
2.4. 机构用户
2.4.1. 用户管理
2.4.1.1. 概述
系统用户维护,指定区域、部门、登录名、密码(密码采用散列加密方式,有效保证系统的安全)及角色等
2.4.1.2. 列表
2.4.1.3. 添加、修改
2.4.2. 机构管理
2.4.2.1. 概述
对用户进行机构管理,机构与区域为附属关系;树形表格界面,可折叠;无限层次级别;设置灵活,可随意调整栏目父子关系。
2.4.2.2. 列表
2.4.2.3. 添加、修改
2.4.2.4. 区域选择
2.4.3. 区域管理
2.4.3.1. 概述
区域化对系统进行管理;树形表格界面,可折叠;无限层次级别;设置灵活,可随意调整栏目父子关系。
2.4.3.2. 列表
2.4.3.3. 添加、修改
2.5. 系统设置
2.5.1. 菜单管理
2.5.1.1. 列表
2.5.1.2. 添加、修改
2.5.2. 角色管理
2.5.2.1. 列表
2.5.2.2. 添加、修改
2.5.3. 字典管理
2.5.3.1. 列表
2.5.3.2. 添加、修改
2.6. 内容管理
2.6.1. 内容管理
2.6.1.1. 概述
内容发布和管理,包括:新闻文章、友情链接等。
1、 文章模型:对新闻、资料进行管理
1) 强大的可视化内容在线编辑器:提供常用的内容排版工具条;Word内容直接复制,格式不乱;提供通用模板排版格式;图片、Flash上传及添加附件功能。
2) 文件管理:提供上传的照片、文件增删功能。
3) 关键字:提供文章关键字功能。
4) 权重:提供文章排序功能,值越大越靠前。
5) 缩略图:文章缩略图片。
6) 相关文章:关联相关文章。
7) 推荐位:可推荐到首页焦点图、栏目文章推荐等。
8) 发布时间:可修改发布时间。
2、 链接模型:如友情链接内容。
2.6.1.2. 列表
2.6.1.3. 添加、修改
2.6.1.4. 图片、缩略图、附件上传
2.6.1.5. 选择相关文章
2.6.2. 统计分析
2.6.2.1. 信息量统计
2.6.3. 评论管理
2.6.3.1. 列表
2.6.4. 栏目管理
2.6.4.1. 概述
树形表格界面,可折叠;设置灵活,可随意调整栏目父子关系;支持无限级子栏目;支持栏目排序;支持多种内容模型(文章模型、链接模型等),支持上传栏目缩了图;支持设置栏目描述及关键字,提升搜索引擎排行。
1、 导航栏显示:设置是否在网站主导航栏中显示。
2、 分类页中显示列表:是否在二级页面中显示内容列表。
3、 展现方式:
1) 默认方式:有子栏目,显示子栏目内容列表;无子栏目,直接显示该栏目的内容列表。
2) 首栏目内容列表:显示第一个子栏目的内容列表。
3) 栏目第一条内容:显示该栏目中的第一篇内容。
2.6.4.2. 列表
2.6.4.3. 添加、修改
2.6.5. 站点管理
2.6.5.1. 概述
对站点进行维护,支持多站点发布,可设置站点标题、描述、关键字、版权信息、模板风格等。
2.6.5.2. 列表
2.6.5.3. 添加、修改
2.6.5.4. 站点切换
2.6.6. 公共留言
2.6.6.1. 概述
留言管理:姓名、邮箱、单位、电话、留言分类(咨询、建议、批评、其它)留言内容。
2.6.6.2. 列表
2.6.6.3. 审核
2.6.7. 文件管理
2.6.7.1. 概述
提供网站中所有上传的图片、Flash及附件文件的管理功能。
2.6.7.2. 列表
2.6.7.3. 设置
2.6.8. 网站展示(基础主题)
2.6.8.1. 首页
2.6.8.2. 二级栏目列表页
2.6.8.3. 二级文章列表页
2.6.8.4. 文章详情页
2.6.8.5. 搜索页(全文检索)
2.6.8.6. 公共留言页
2.6.8.7. 站点地图页
2.7. 在线办公
2.7.1. 个人办公
3. 功能组件
3.1. Utils
1、 BeanMapper:Bean与Bean,Bean与Conllection的互转
2、 JaxbMapper:XML与Object互转。
3、 JsonMapper:JSON与Object互转。
4、 Cryptos、Digests:密钥工具类SHA1、MD5
5、 ExcelExcel导入导出:http://thinkgem.iteye.com/blog/1833431
6、 CacheUtils:系统Cache工具类。
7、 Collections3:集合对象工具类。
8、 CookieUtils:Cookie操作工具类
9、 DateUtils:日期时间工具类。
10、 Encodes:各种编码转换工具类。
11、 Exceptions:异常工具类。
12、 FileUtils:文件操作工具类。
13、 FreeMarkers:FreeMarkers模板工具类。
14、 Identities:唯一标识生成算法工具类(uuid、random)
15、 PropertiesLoader:属性文件操作工具类
16、 Reflections:Java对象操作反射工具类。
17、 StringUtils:字符串操作工具类。
18、 Threads:线程相关操作工具类。
19、 UserUtils:当前用户相关操作工具类。
20、 CmsUtils:内容管理相关操作工具类。
3.2. Taglib
1、 ckeditor.tag:HTML在线编辑器。
2、 ckfinder.tag:在线文件管理。
3、 iconselect.tag:Icon图标选择。
4、 message.tag:消息弹框。
5、 validateCode.tag:验证码。
3.3. EL Function
1、 fns.tld:系统相关EL函数。
2、 fnc.tld:内容管理相关EL函数。
3.4. JavaScript
Jquery、Jbox、Jquery Validate、zTree、My7DatePicker、treeTable、CKEditor、CKFinder
4. 快速体验
4.1. 在线体验
在线体验地址(感谢刘杰提供):http://demo.jeesite.com:1234/jeesite
4.2. 本地体验
1、 具备运行环境:JDK1.6、Maven3.0、MySql。
2、 修改src\main\resources\application.properties文件中的数据库设置参数。
3、 根据修改参数创建对应MySql数据库(数据库编码:UTF-8)如果使用其它数据库请参考JeeSite Developer.docx文档。
4、 运行bin\resresh-db\refresh-db.bat脚本,即可导入表结构及演示数据
5、 运行bin\jetty.bat,启动Web服务器(第一次运行,需要下载依赖jar包,请耐心等待)。
6、 最高管理员账号,用户名:thinkgem 密码:admin
5. 交流、反馈、参与贡献
QQ群:127515876
E-mail:thinkgem@163.com
Github:https://github.com/thinkgem/jeesite
支持JeeSite:http://jeesite.com/donation.html
如果你想参与进来共同完善它或有更好的建议,请联系我吧(^_^)。
6. 版权声明
本软件使用 Apache License 2.0 协议,请严格遵照协议内容:
1. 需要给代码的用户一份Apache Licence
2. 如果你修改了代码,需要在被修改的文件中说明。
3. 在延伸的代码中(修改和有源代码衍生的代码中)需要带有原来代码中的协议,商标,专利声明和其他原来作者规定需要包含的说明。
4. 如果再发布的产品中包含一个Notice文件,则在Notice文件中需要带有Apache Licence。你可以在Notice中增加自己的许可,但不可以表现为对Apache Licence构成更改。
3. Apache Licence也是对商业应用友好的许可。使用者也可以在需要的时候修改代码来满足需要并作为开源或商业产品发布/销售
7. 未来开发计划
1、 代码生成器:自动建立表结构、生成的mvc中包括属性字段,哪些可作为查询条件等等。
2、 模块管理功能:可方便增减模块,如内容管理模块不需要,可直接启用或停用。
3、 内容管理模块:文章评论、完善内容关键字、图片模型、专题功能、会员功能。
4、 添加通用模块:通知通告功能、短信、邮件群发功能。
5、 公共工具封装:嵌入地图、生成报表、WebService
6、 移动客户端:暂定为Android客户端开发
JeeSite 企业信息管理系统基础框架的更多相关文章
- 读《31天学会CRM项目开发》记录2 - 企业信息管理系统
在信息技术的快速推动下,企业如果依然利用传统的管理方式,以人为主,那效率便会大打折扣.在此背景下,企业信息化系统得 到了高速发展.如我们常见的ERP系统.MES系统,都是提高公司运行效率,降低运营以及 ...
- 开源项目CIIP(企业信息管理系统框架).2018.0904版更新介绍
源码: https://github.com/tylike/CIIP https://gitee.com/ciip/CIIP 一,CIIP的目标是什么? 更加简单,快速的建立信息类管理系统.让实施人员 ...
- 开源项目CIIP(企业信息管理系统框架).2018.1.0910版更新介绍-上周工作总结
又狂撸了一周的代码.简化了0904版本的多数操作. 上一次更新时,总共需要10步,这次简化成3步.嗯嗯,自我感觉不错. 重要的:在创建项目时,可以选择常用模块啦! 第一步:启动CIIP.Designe ...
- hsweb 企业后台管理基础框架
hsweb 详细介绍 业务功能 现在: 权限管理: 权限资源-角色-用户. 配置管理: kv结构,自定义配置.可通过此功能配置数据字典. 脚本管理: 动态脚本,支持javascript,groovy, ...
- C++实现 企业信息管理系统
2.1总体需求 2.2管理需求 3.总体架构 由于代码量比较大,请移步GitHub或码云 码云:传送门 , GitHub:传送门 话不多说,直接上效果 我是在Linux Ubuntu1 ...
- OSSIM(开源安全信息管理系统)在企业网络管理中的应用
国内首个Ossim技术交流群(179084574),欢迎加入我们 参与51CTO[第242期]OSSIM,企业信息安全管理利器热门技术讨论 650) this.width=650;" bor ...
- 一步一步实现web程序信息管理系统之二----后台框架实现跳转登陆页面
SpringBoot springboot的目的是为了简化spring应用的开发搭建以及开发过程.内部使用了特殊的处理,使得开发人员不需要进行额外繁锁的xml文件配置的编写,其内部包含很多模块的配置只 ...
- Python基础案例练习:制作学生信息管理系统
一.前言 学生信息管理系统,相信大家或多或少都有做过 最近看很多学生作业都是制作一个学生信息管理系统 于是,今天带大家做一个简单的学生信息管理系统 二.开发环境: 我用到的开发环境 Python 3. ...
- PHP基础示例:商品信息管理系统v1.1[转]
实现目标:使用php和mysql写一个商品信息管理系统,并带有购物车功能 一.创建数据库和表 1.创建数据库和表:demodb 2.创建表格:goods 字段:商品编号,商品名称,商品类型,商品图 ...
随机推荐
- dom4j 笔记【转】
SAXReader reader = new SAXReader(); Document doc = reader.read(...); List childNodes = doc.selectNod ...
- centos6 x86 安装 oracle 11g2r 日志
一.安装centos 6.5 二.安装ora所需的库 三.修改centos内核 四.建用户组和目录结构等 五.安装ora11g2r 六.安装sqlplus的翻页程序和help补丁 七.自启动脚本 八. ...
- jquery中$.ajax的$.get与$.post使用
<script type='text/javascript' src='http://ajax.useso.com/ajax/libs/jquery/1.7.2/jquery.min.js?ve ...
- javascript 操作符类型隐性转换
javascript 操作符类型隐性转换 (一).一元操作符只能操作一个值的操作符叫做一元操作符1.递增和递减操作符a. 在应用于一个包含有效数字字符的字符串时,先将其转换为数字值,再执行加减1的操作 ...
- js实现输入验证码
html部分: <div> <input type="text" id="input" /> <input type=" ...
- 如何使一个你没有源代码的DLL文件变为强命名的DLL
转载: 有时候你会需要一个DLL是强命名的,比如你想把这个文件放到GAC里面.如果这是一个第三方的DLL,你没有源代码,这会是一件比较麻烦的事情.有一个方法可以解决这个问题. 在VS.NET的命名行窗 ...
- 织梦DedeCms用SQL语句调用数据库任意内容
dedecms多站点数据利用SQL句段进行互相调用数据方法:2个或者多个DEDE的站怎么互相调用数据,非JS调用,前提是2个或者多个dedecms站点都安装的同一个数据库的不同数据表内,才能实现功能. ...
- AngularJs 【使用】 -- ng-repart 排序使用
1.单字段 ng-repeat="item in dataList | orderBy:'field' " 2.多字段 ng-repeat="item in dataLi ...
- C语言学习笔记--类型定义&联合
一.类型定义 C语言自定义数据类型 (typedef) C语言提供一个叫做typedef的功能来声明一个已有的数据类型的新名字. typedef int Length; 使得Length成为int类型 ...
- 【Oracle】安装
http://www.2cto.com/database/201208/150620.html 呵呵,花了一个多小时,左右把11g安装折腾好了.其中折腾SQL Developer 花了好长时间,总算搞 ...