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 字段:商品编号,商品名称,商品类型,商品图 ...
随机推荐
-
Android开发学习——应用安装过程
首先一个android项目,然后编译和打包,将.java文件编译为.class,.class编译为.dex,将所有文件打包为一个apk,只编译代码,不编译资源. .apk里面的.arsc是资源的索引, ...
-
使用Git、Git GUI和TortoiseGit
1. 关于命令行 我一直建议在命令行中使用Git或者SVN.因为这样可能更加了解他们的工作方式,也不容易遗漏重要的问题和提醒. 在Windows习惯的驱使下,大多数人是不会看弹出的对话框中有什么信息的 ...
-
iOS_UIImage_图片旋转
一.目的: 有时候我们获得到的图片我们不是我们想要的方向,需要对图片进行旋转.比如:图片旋转90度180度等. 二.实现过程. 1.获取到该UIImage. 2.开启上下文. 3.上下文的具体操作. ...
-
delphi附带通用控件安装方法:
附带通用控件安装方法:----------基本安装1.对于单个控件,Componet-->install component..-->PAS或DCU文件-->install;2.对于 ...
-
Unity赛车游戏之移动
这个赛车游戏真是让我费劲脑汁啊.尤其是写这种系统化的东西. 目前漂移还没找到更好的算法,不过基本的移动还是可以做到的. 别看就光是个移动,其实也是很费事的. Unity给了个对于赛车系统很好的碰撞组件 ...
-
获取屏幕分辨率(C/C++)
C/C++获取屏幕分辨率的方法 int main(int argc, char* argv[]) { // 需要添加头文件: // #include <Windows.h> system( ...
-
iOS keyChain
keychain在ios中是保存在sqlite数据库中的. 这个数据库文件的位置: 真机: /private/var/Keychains/keychain-2.db 虚拟机: /Users/USER- ...
-
Java基础知识强化93:算一下你来到这个世界多少天的案例
1. 分析: (1)键盘录入你的出生年月日 (2)把该字符串转换为一个日期 (3)通过该日期得到一个毫秒值 (4)获取当前时间的毫秒值 (5)用(4)-(3)得到一个毫秒值 (6)把E的毫秒值转换为天 ...
-
hdu 1042 N!(高精度乘法)
Problem Description Given an integer N(0 ≤ N ≤ 10000), your task is to calculate N! Input One N in ...
-
DIN(Deep Interest Network of CTR) [Paper笔记]
背景 经典MLP不能充分利用结构化数据,本文提出的DIN可以(1)使用兴趣分布代表用户多样化的兴趣(不同用户对不同商品有兴趣)(2)与attention机制一样,根据ad局部激活用户兴趣相关的兴趣(用 ...