JeeSite是基于多個優(yōu)秀的開源項目,高度整合封裝而成的高效,高性能,強安全性的 開源 Java EE快速開發(fā)平臺。
JeeSite本身是以Spring Framework為核心容器,Spring MVC為模型視圖控制器,MyBatis為數(shù)據(jù)訪問層, Apache Shiro為權限授權層,Ehcahe對常用數(shù)據(jù)進行緩存,Activit為工作流引擎。
JeeSite主要定位于企業(yè)信息化領域,已內(nèi)置企業(yè)信息化系統(tǒng)的基礎功能和高效的 代碼生成 工具, 包括:系統(tǒng)權限組件、數(shù)據(jù)權限組件、數(shù)據(jù)字典組件、核心工具組件、視圖操作組件、工作流組件、代碼生成等。 前端界面風格采用了結構簡單、性能優(yōu)良、頁面美觀大氣的Twitter Bootstrap頁面展示框架。 采用分層設計、雙重驗證、提交數(shù)據(jù)安全編碼、密碼加密、訪問驗證、數(shù)據(jù)權限驗證。 使用Maven做項目管理,提高項目的易開發(fā)性、擴展性。
JeeSite目前包括以下三大模塊,系統(tǒng)管理(SYS)模塊、 內(nèi)容管理(CMS)模塊、在線辦公(OA)模塊、代碼生成(GEN)模塊。 系統(tǒng)管理模塊,包括企業(yè)組織架構(用戶管理、機構管理、區(qū)域管理)、 菜單管理、角色權限管理、字典管理等功能; 內(nèi)容管理模塊 ,包括內(nèi)容管理(文章、鏈接),欄目管理、站點管理、 公共留言、文件管理、前端網(wǎng)站展示等功能; 在線辦公模塊 ,提供簡單的請假流程實例。
JeeSite 提供了常用工具進行封裝,包括日志工具、緩存工具、服務器端驗證、數(shù)據(jù)字典、當前組織機構數(shù)據(jù) (用戶、機構、區(qū)域)以及其它常用小工具等。另外還提供一個強大的在線 代碼生成 工具, 此工具提供簡單的單表、一對多、樹結構功能的生成,如果對外觀要求不是很高,生成的功能就可以用了。 如果你使用了JeeSite基礎框架,就可以很高效的快速開發(fā)出,優(yōu)秀的信息管理系統(tǒng)。
內(nèi)置功能
用戶管理:用戶是系統(tǒng)操作者,該功能主要完成系統(tǒng)用戶配置。
機構管理:配置系統(tǒng)組織機構(公司、部門、小組),樹結構展現(xiàn),可隨意調(diào)整上下級。
區(qū)域管理:系統(tǒng)城市區(qū)域模型,如:國家、省市、地市、區(qū)縣的維護。
菜單管理:配置系統(tǒng)菜單,操作權限,按鈕權限標識等。
角色管理:角色菜單權限分配、設置角色按機構進行數(shù)據(jù)范圍權限劃分。
字典管理:對系統(tǒng)中經(jīng)常使用的一些較為固定的數(shù)據(jù)進行維護,如:是否、男女、類別、級別等。
操作日志:系統(tǒng)正常操作日志記錄和查詢;系統(tǒng)異常信息日志記錄和查詢。
連接池監(jiān)視:監(jiān)視當期系統(tǒng)數(shù)據(jù)庫連接池狀態(tài),可進行分析SQL找出系統(tǒng)性能瓶頸。
工作流引擎:實現(xiàn)業(yè)務工單流轉、在線流程設計器。
為何選擇JeeSite
使用 Apache License 2.0 協(xié)議,源代碼完全開源,無商業(yè)限制。
使用目前主流的Java EE開發(fā)框架,簡單易學,學習成本低。
數(shù)據(jù)庫無限制,目前支持MySql、Oracle,可擴充SQL Server、PostgreSQL、H2等。
模塊化設計,層次結構清晰。內(nèi)置一系列企業(yè)信息管理的基礎功能。
操作權限控制精密細致,對所有管理鏈接都進行權限驗證,可控制到按鈕。
數(shù)據(jù)權限控制精密細致,對指定數(shù)據(jù)集權限進行過濾,七種數(shù)據(jù)權限可供選擇。
提供在線功能代碼生成工具,提高開發(fā)效率及質量。
提供常用工具類封裝,日志、緩存、驗證、字典、組織機構等,常用標簽(taglib),獲取當前組織機構、字典等數(shù)據(jù)。
兼容目前最流行瀏覽器(IE7+、Chrome、Firefox)IE6也支持,但體驗效果差。
技術選型
1、后端
- 核心框架:Spring Framework 4.0
- 安全框架:Apache Shiro 1.2
- 視圖框架:Spring MVC 4.0
- 服務端驗證:Hibernate Validator 5.1
- 布局框架:SiteMesh 2.4
- 工作流引擎:Activiti 5.15、FoxBPM 6
- 任務調(diào)度:Spring Task 4.0
- 持久層框架:MyBatis 3.2
- 數(shù)據(jù)庫連接池:Alibaba Druid 1.0
- 緩存框架:Ehcache 2.6、Redis
- 日志管理:SLF4J 1.7、Log4j
- 工具類: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。
- 客戶端驗證:JQuery Validation Plugin 1.11。
- 富文本:CKEcitor
- 文件管理:CKFinder
- 動態(tài)頁簽:Jerichotab
- 手機端框架:Jingle
- 數(shù)據(jù)表格:jqGrid
- 對話框:jQuery jBox
- 下拉選擇框:jQuery Select2
- 樹結構控件:jQuery zTree
- 日期控件: My97DatePicker
4、平臺
服務器中間件:在Java EE 5規(guī)范(Servlet 2.5、JSP 2.1)下開發(fā),支持應用服務器中間件 有Tomcat 6、Jboss 7、WebLogic 10、WebSphere 8。
數(shù)據(jù)庫支持:目前僅提供MySql、Oracle數(shù)據(jù)庫的支持,但不限于數(shù)據(jù)庫,平臺留有其它數(shù)據(jù)庫支持接口, 可方便更改為其它數(shù)據(jù)庫,如:SqlServer 2008、MySql 5.5、H2等
開發(fā)環(huán)境:Java EE、Eclipse、Maven、Git
安全考慮
開發(fā)語言:系統(tǒng)采用Java 語言開發(fā),具有卓越的通用性、高效性、平臺移植性和安全性。
分層設計:(數(shù)據(jù)庫層,數(shù)據(jù)訪問層,業(yè)務邏輯層,展示層)層次清楚,低耦合,各層必須通過接口才能接入并進行參數(shù)校驗(如:在展示層不可直接操作數(shù)據(jù)庫),保證數(shù)據(jù)操作的安全。
雙重驗證:用戶表單提交雙驗證:包括服務器端驗證及客戶端驗證,防止用戶通過瀏覽器惡意修改(如不可寫文本域、隱藏變量篡改、上傳非法文件等),跳過客戶端驗證操作數(shù)據(jù)庫。
安全編碼:用戶表單提交所有數(shù)據(jù),在服務器端都進行安全編碼,防止用戶提交非法腳本及SQL注入獲取敏感數(shù)據(jù)等,確保數(shù)據(jù)安全。
密碼加密:登錄用戶密碼進行SHA1散列加密,此加密方法是不可逆的。保證密文泄露后的安全問題。
強制訪問:系統(tǒng)對所有管理端鏈接都進行用戶身份權限驗證,防止用戶
快速體驗
具備運行環(huán)境:JDK1.6+、Maven3.0+、MySql5+或Oracle10g+。
修改src\main\resources\jeesite.properties文件中的數(shù)據(jù)庫設置參數(shù)。
根據(jù)修改參數(shù)創(chuàng)建對應MySql或Oracle數(shù)據(jù)庫用戶和參數(shù)。
運行bin\init-db.bat腳本,即可導入表結構及演示數(shù)據(jù)(linux操作系統(tǒng):在控制臺中切換至項目根目錄,運行命令:mvn antrun:run -Pinit-db)
運行bin\run-tomcat7.bat或bin\run-jetty.bat,啟動Web服務器(第一次運行,需要下載依賴jar包,請耐心等待)。
最高管理員賬號,用戶名:thinkgem 密碼:admin
常見問題
有時出現(xiàn)文字亂碼:修改Tomcat的server.xml文件的Connector項,增加URIEncoding="UTF-8"
用一段時間提示內(nèi)存溢出,請修改JVM參數(shù):-Xmx512m -XX:MaxPermSize=256m
為什么新建菜單后看不到新建的菜單?因為授權問題,菜單管理只允許最高管理員賬號管理(最高管理員默認賬號:thinkgem 密碼:admin)。
更多建議: