天天看點

JeeSite 企業資訊化快速開發平台JeeSite 企業資訊化快速開發平台

JeeSite 企業資訊化快速開發平台

平台簡介

JeeSite是基于多個優秀的開源項目,高度整合封裝而成的高效,高性能,強安全性的開源Java EE快速開發平台。

JeeSite本身是以Spring Framework為核心容器,Spring MVC為模型視圖控制器,MyBatis為資料通路層, Apache Shiro為權限授權層,Ehcahe對常用資料進行緩存,Activit為工作流引擎。

JeeSite主要定位于企業資訊化領域,已内置企業資訊化系統的基礎功能和高效的代碼生成工具, 包括:系統權限元件、資料權限元件、資料字典元件、核心工具元件、視圖操作元件、工作流元件、代碼生成等。 前端界面風格采用了結構簡單、性能優良、頁面美觀大氣的Twitter Bootstrap頁面展示架構。 采用分層設計、雙重驗證、送出資料安全編碼、密碼加密、通路驗證、資料權限驗證。 使用Maven做項目管理,提高項目的易開發性、擴充性。

JeeSite目前包括以下三大子產品,系統管理(SYS)子產品、 内容管理(CMS)子產品、線上辦公(OA)子產品、代碼生成(GEN)子產品。 系統管理子產品 ,包括企業組織架構(使用者管理、機構管理、區域管理)、 菜單管理、角色權限管理、字典管理等功能; 内容管理子產品 ,包括内容管理(文章、連結),欄目管理、站點管理、 公共留言、檔案管理、前端網站展示等功能; 線上辦公子產品 ,提供簡單的請假流程執行個體。

JeeSite 提供了常用工具進行封裝,包括日志工具、緩存工具、伺服器端驗證、資料字典、目前組織機構資料 (使用者、機構、區域)以及其它常用小工具等。另外還提供一個強大的線上 代碼生成 工具, 此工具提供簡單的單表、一對多、樹結構功能的生成,如果對外觀要求不是很高,生成的功能就可以用了。 如果你使用了JeeSite基礎架構,就可以很高效的快速開發出,優秀的資訊管理系統。

内置功能

  1. 使用者管理:使用者是系統操作者,該功能主要完成系統使用者配置。
  2. 機構管理:配置系統組織機構(公司、部門、小組),樹結構展現,可随意調整上下級。
  3. 區域管理:系統城市區域模型,如:國家、省市、地市、區縣的維護。
  4. 菜單管理:配置系統菜單,操作權限,按鈕權限辨別等。
  5. 角色管理:角色菜單權限配置設定、設定角色按機構進行資料範圍權限劃分。
  6. 字典管理:對系統中經常使用的一些較為固定的資料進行維護,如:是否、男女、類别、級别等。
  7. 記錄檔:系統正常記錄檔記錄和查詢;系統異常資訊日志記錄和查詢。
  8. 連接配接池監視:監視當期系統資料庫連接配接池狀态,可進行分析SQL找出系統性能瓶頸。
  9. 工作流引擎:實作業務工單流轉、線上流程設計器。

為何選擇JeeSite

  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
  • 布局架構:SiteMesh 2.4
  • 工作流引擎:Activiti 5.15、FoxBPM 6
  • 任務排程:Spring Task 4.0
  • 持久層架構:MyBatis 3.2
  • 資料庫連接配接池: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
  • 動态頁簽:Jerichotab
  • 手機端架構:Jingle
  • 資料表格:jqGrid
  • 對話框:jQuery jBox
  • 下拉選擇框:jQuery Select2
  • 樹結構控件:jQuery zTree
  • 日期控件: My97DatePicker

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. 密碼加密:登入使用者密碼進行SHA1散列加密,此加密方法是不可逆的。保證密文洩露後的安全問題。
  6. 強制通路:系統對所有管理端連結都進行使用者身份權限驗證,防止使用者直接填寫url進行通路。

快速體驗

  1. 具備運作環境:JDK1.6+、Maven3.0+、MySql5+或Oracle10g+。
  2. 修改src\main\resources\jeesite.properties檔案中的資料庫設定參數。
  3. 根據修改參數建立對應MySql或Oracle資料庫使用者和參數。
  4. 運作bin\init-db.bat腳本,即可導入表結構及示範資料(linux作業系統:在控制台中切換至項目根目錄,運作指令:mvn antrun:run -Pinit-db)
  5. 運作bin\run-tomcat7.bat或bin\run-jetty.bat,啟動Web伺服器(第一次運作,需要下載下傳依賴jar包,請耐心等待)。
  6. 最高管理者賬号,使用者名:thinkgem 密碼:admin

常見問題

  1. 有時出現文字亂碼:修改Tomcat的server.xml檔案的Connector項,增加URIEncoding="UTF-8"
  2. 用一段時間提示記憶體溢出,請修改JVM參數:-Xmx512m -XX:MaxPermSize=256m
  3. 為什麼建立菜單後看不到建立的菜單?因為授權問題,菜單管理隻允許最高管理者賬号管理(最高管理者預設賬号:thinkgem 密碼:admin)。

更多文檔

  • https://github.com/thinkgem/jeesite/tree/master/doc

聲明:原文連結

  • https://github.com/thinkgem/jeesite

版權聲明

          本軟體使用 Apache License 2.0 協定,請嚴格遵照協定内容:

  1. 需要給代碼的使用者一份Apache Licence。
  2. 如果你修改了代碼,需要在被修改的檔案中說明。
  3. 在延伸的代碼中(修改和有源代碼衍生的代碼中)需要帶有原來代碼中的協定,商标,專利聲明和其他原來作者規定需要包含的說明。
  4. 如果再釋出的産品中包含一個Notice檔案,則在Notice檔案中需要帶有Apache Licence。你可以在Notice中增加自己的許可,但不可以表現為對Apache Licence構成更改。
  5. Apache Licence也是對商業應用友好的許可。使用者也可以在需要的時候修改代碼來滿足需要并作為開源或商業産品釋出/銷售

繼續閱讀