1. 程式人生 > >jeesite快速開發平臺(一)----簡介

jeesite快速開發平臺(一)----簡介

以下內容來自官網:

一、平臺簡介

JeeSite是基於多個優秀的開源專案,高度整合封裝而成的高效,高效能,強安全性的開源Java EE快速開發平臺。
JeeSite是您快速完成專案的最佳基礎平臺解決方案,JeeSite是您想學習Java平臺的最佳學習案例,JeeSite還是接私活的最佳助手。


JeeSite是在Spring Framework基礎上搭建的一個Java基礎開發平臺,以Spring MVC為模型檢視控制器,MyBatis為資料訪問層, Apache Shiro為許可權授權層,Ehcahe對常用資料進行快取,Activit為工作流引擎。是JavaEE界的最佳整合。


JeeSite主要定位於企業資訊化領域,已內建企業資訊化系統的基礎功能和高效的程式碼生成工具, 包括:系統許可權元件、資料許可權元件、資料字典元件、核心工具元件、檢視操作元件、工作流元件、程式碼生成等。 前端介面風格採用了結構簡單、效能優良、頁面美觀大氣的Twitter Bootstrap頁面展示框架。 採用分層設計、雙重驗證、提交資料安全編碼、密碼加密、訪問驗證、資料許可權驗證。 使用Maven做專案管理,提高專案的易開發性、擴充套件性。

JeeSite目前包括以下三大模組,系統管理(SYS)模組、 內容管理(CMS)模組、線上辦公(OA)模組、程式碼生成(GEN)模組。 系統管理模組,包括企業組織架構(使用者管理、機構管理、區域管理)、 選單管理、角色許可權管理、字典管理等功能; 內容管理模組 ,包括內容管理(文章、連結),欄目管理、站點管理、 公共留言、檔案管理、前端網站展示等功能; 線上辦公模組 ,提供簡單的請假流程例項。,提供簡單的請假流程例項;程式碼生成模組 ,完成重複的工作。


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

二、內建功能


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

三、為何選擇JeeSite


使用 Apache License 2.0 協議,原始碼完全開源,無商業限制。
使用目前主流的Java EE開發框架,簡單易學,學習成本低。
資料庫無限制,目前支援MySql、Oracle,可擴充SQL Server、PostgreSQL、H2等。
模組化設計,層次結構清晰。內建一系列企業資訊管理的基礎功能。
操作許可權控制精密細緻,對所有管理連結都進行許可權驗證,可控制到按鈕。
資料許可權控制精密細緻,對指定資料集許可權進行過濾,七種資料許可權可供選擇。
提供線上功能程式碼生成工具,提高開發效率及質量。
提供常用工具類封裝,日誌、快取、驗證、字典、組織機構等,常用標籤(taglib),獲取當前組織機構、字典等資料。
相容目前最流行瀏覽器(IE7+、Chrome、Firefox)IE6也支援,但體驗效果差。

三、技術選型


1、後端

核心框架:Spring Framework 4.1
安全框架:Apache Shiro 1.2
檢視框架:Spring MVC 4.1
服務端驗證:Hibernate Validator 5.2
佈局框架:SiteMesh 2.4
工作流引擎:Activiti 5.21
任務排程:Spring Task 4.1
持久層框架: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

1、Services相關

  • Core Framework:Spring Framework 3.2。
  • Security Framework:Apache Shiro 1.2。
  • Workflow Engine:Activit 5.14。

2、Web相關

  • MVC Framework:SpringMVC 3.2。
  • Layout Decoration:SiteMesh 2.4。
  • JavaScript Library:JQuery 1.9。
  • CSS Framework:Twitter Bootstrap 2.3.1。
  • JavaScript/CSS Compressor:YUI Compressor 2.4。
  • Front Validation:JQuery Validation Plugin 1.11。

3、Database相關

  • ORM Framework:Hibernate 4.1 + MyBatis 3.1。
  • Connection Pool:Alibaba Druid 1.0。
  • Bean Validation:Hibernate Validation 5.0。
  • Cache:Ehcache 2.6。

4、Tools 相關

  • Commons:Apache Commons
  • JSON Mapper:Jackson 2.1
  • Bean Mapper:Dozer 5.3
  • Office Tools: Apache POI 3.9
  • Full-text search:Hibernate Search 4.2(Apache Lucene 3.6)、IK Analyzer 2012_u6中文分詞
  • Log Manager:Log4j 1.2

2、前端

JS框架:jQuery 1.9。
CSS框架:Twitter Bootstrap 2.3.1(穩定是後臺,UI方面根據需求自己升級改造吧)。
客戶端驗證:JQuery Validation Plugin 1.11。
富文字線上編輯:CKEditor
線上檔案管理:CKFinder
動態頁籤:Jerichotab
手機端框架:Jingle
資料表格:jqGrid
對話方塊:jQuery jBox
下拉選擇框:jQuery Select2
樹結構控制元件:jQuery zTree
日期控制元件: My97DatePicker

四、平臺

伺服器中介軟體:在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、Eclipse Java EE 4.3、Maven 3.1、Git

五、安全考慮

1.開發語言:系統採用Java 語言開發,具有卓越的通用性、高效性、平臺移植性和安全性。
2.分層設計:(資料庫層,資料訪問層,業務邏輯層,展示層)層次清楚,低耦合,各層必須通過接口才能接入並進3.行引數校驗(如:在展示層不可直接操作資料庫),保證資料操作的安全。
4.雙重驗證:使用者表單提交雙驗證:包括伺服器端驗證及客戶端驗證,防止使用者通過瀏覽器惡意修改(如不可寫文字域、隱藏變數篡改、上傳非法檔案等),跳過客戶端驗證操作資料庫。
5.安全編碼:使用者表單提交所有資料,在伺服器端都進行安全編碼,防止使用者提交非法指令碼及SQL注入獲取敏感資料等,確保資料安全。
6.密碼加密:登入使用者密碼進行SHA1雜湊加密,此加密方法是不可逆的。保證密文洩露後的安全問題。
7.強制訪問:系統對所有管理端連結都進行使用者身份許可權驗證,防止使用者直接填寫url進行訪問。

六、必會基礎知識


1.軟體工程基礎、Java語言基礎、JSP內建物件、EL表示式
2.Spring Framework:類的依賴、自動注入、事務處理
3.Spring MVC:URL對映、引數傳遞
4.Apache Shiro:安全攔截方式,應用方法,控制按鈕
5.SiteMesh:佈局框架的用法
6.JSP標準標籤庫(JSTL):if、choose、forEach、set
7.Spring MVC表單標籤庫:form、input、textarea、select、checkbox
8.檔案存放規範,命名規範。

七、其他類似開發平臺(Jeecg、Jeeplus、JES-NG)

JEECG(J2EE Code Generation)是一款基於程式碼生成器的智慧開發平臺。引領新的開發模式(Online Coding模式->程式碼生成器模式->手工MERGE智慧開發),
可以幫助解決Java專案60%的重複工作,讓開發更多關注業務邏輯。既能快速提高開發效率,幫助公司節省人力成本,同時又不失靈活性。

JEECG宗旨是: 簡單功能由代Online Coding配置出功能;複雜功能由程式碼生成器生成進行手工Merge; 複雜流程業務採用表單自定義,業務流程使用工作流來實現、擴展出任務介面,供開發編寫業務邏輯。實現了流程任務節點和任務介面的靈活配置,既保證了公司流程的保密行,又減少了開發人員的工作量。

JeePlus是一款基於程式碼生成器的智慧快速開發平臺,可以幫助解決java專案中80%的重複工作,讓開發者更多關注業務邏輯。既能快速提高開發效率,幫助公司節省人力成本,同時不失靈活性。

JeePlus快速開發宗旨是:簡單功能由程式碼生成器生成使用,複雜業務採用表單自定義,只需要寫極少程式碼,即可實現複雜的業務邏輯。

JeePlus採用了目前極為流行的扁平化響應式的設計風格,可以完美相容電腦,pad,手機等多個平臺。前端UI採用INSPINA實現,後臺採用 SpringMVC + MyBatis + BootStrap + Apache Shiro + Ehcache 開發元件 的基礎架構,採用面向宣告的開發模式, 基於泛型編寫極少程式碼即可實現複雜的資料展示、資料編輯、表單處理等功能,再配合程式碼生成器的使用,將J2EE的開發效率提高5倍以上,可以將手寫程式碼減少80%以上。

JES-NG是從JeeSite發展出來的一個快速開發平臺,旨在對Jeesite優化的基礎上,提供更多的通用功能,達到儘可能減少開發工作量的目的。

八、學習索引

1. Spring Framework :

2. Spring MVC 

· JSP語法Spring FormJSTLEL

3. Apache Shiro 

· 官方文件

· 快速入門

4. SiteMesh 2.4

· 官方文件

· 入門例項標籤使用裝飾檔案

5. Bootstrap 2.3

6. jQuery

· jQuery API官方文件中文文件

· jQuery Validation官方文件使用範例

· jQuery zTree:官方文件

· jQruey jBox官方文件

7. Activiti

· 官方網站

· 中文文件

8. Ehcache

· 官方文件

9. 其它資料