1. 程式人生 > >jeesite的框架的學習

jeesite的框架的學習

1.  平臺簡介

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

JeeSite本身是以Spring Framework為核心容器,Spring MVC為模型檢視控制器,MyBatis為資料訪問層,Apache Shiro為許可權授權層,Ehcahe對常用資料進行快取,Activit為工作流引擎。

JeeSite主要定位於企業資訊化領域,已內建企業資訊化系統的基礎功能和高效的程式碼生成工具,包括:系統許可權元件、資料許可權元件、資料字典元件、核心工具元件、檢視操作元件、工作流元件、程式碼生成等。前端介面風格採用了結構簡單、效能優良、頁面美觀大氣的

Twitter Bootstrap頁面展示框架。採用分層設計、雙重驗證、提交資料安全編碼、密碼加密、訪問驗證、資料許可權驗證。使用Maven做專案管理,提高專案的易開發性、擴充套件性。

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

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

JeeSite基礎框架,就可以很高效的快速開發出,優秀的資訊管理系統。

2. 內建功能

1. 使用者管理:使用者是系統操作者,該功能主要完成系統使用者配置。

2. 機構管理:配置系統組織機構(公司、部門、小組),樹結構展現,可隨意調整上下級。

3. 區域管理:系統城市區域模型,如:國家、省市、地市、區縣的維護。

4. 選單管理:配置系統選單,操作許可權,按鈕許可權標識等。

5. 角色管理:角色選單許可權分配、設定角色按機構進行資料範圍許可權劃分。

6. 字典管理:對系統中經常使用的一些較為固定的資料進行維護,如:是否、男女、類別、級別等。

7. 操作日誌:系統正常操作日誌記錄和查詢;系統異常資訊日誌記錄和查詢。

8. 連線池監視:監視當期系統資料庫連線池狀態,可進行分析SQL找出系統性能瓶頸。

9. 工作流引擎:實現業務工單流轉、線上流程設計器。

3. 開發工具

1. Eclipse IDE:採用Maven專案管理,模組化。

2. 線上演示:演示系統常用元件的使用程式碼,內嵌地圖案例等。

3. 程式碼生成:通過介面方式簡單配置,自動生成相應程式碼,目前包括三種生成方式增刪改查單表、一對多、樹結構。生成後的程式碼如果不需要注意美觀程度,生成後即可用。

4. 設計思想

1、 分層設計:(資料訪問層,業務邏輯層,展示層)層次清楚,低耦合,各層必須通過接口才能接入並進行引數校驗(如:在展示層不可直接操作資料庫),保證資料操作的安全。

2、 雙重驗證:使用者表單提交雙驗證:包括伺服器端驗證及客戶端驗證,防止使用者通過瀏覽器惡意修改(如不可寫文字域、隱藏變數篡改、上傳非法檔案等)而跳過客戶端驗證操作資料庫。

3、 安全編碼:使用者表單提交所有資料,在伺服器端都進行安全編碼,防止使用者提交非法指令碼及SQL注入獲取敏感資料等,確保資料安全。

4、 密碼加密:登入使用者密碼進行SHA1雜湊加密,此加密方法是不可逆的。保證密文洩露後的安全問題。

5、 訪問驗證:系統對所有管理端連結都進行使用者身份許可權驗證,防止使用者直接通過URL進行未授權頁面。

6、 資料驗證:對指定資料集許可權進行過濾,七種資料許可權可供選擇(所有許可權,公司及子公司,本公司,部門及子部門,本部門,本人資料,跨機構資料)

7、 快速編碼:提供基本功能模組的原始碼生成器,提高開發效率及質量。

5. 技術選型

1、後端

核心框架:Spring Framework 4.0

安全框架:Apache Shiro 1.2

檢視框架:Spring MVC 4.0

服務端驗證:Hibernate Validator 5.1

佈局框架:SiteMesh 2.4

工作流引擎:Activiti 5.15

任務排程:Spring Task 4.0

持久層框架:MyBatis 3.2

資料庫連線池:Alibaba Druid 1.0

快取框架:Ehcache 2.6Redis

日誌管理:SLF4J 1.7Log4j

工具類:Apache CommonsJackson 2.2Xstream 1.4Dozer 5.3POI 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.5JSP 2.1)下開發,支援應用伺服器中介軟體

Tomcat 6Jboss 7WebLogic 10WebSphere 8

資料庫支援:目前僅提供Oracle資料庫的支援,但不限於資料庫,平臺留有其它資料庫支援介面,

可方便更改為其它資料庫,如:SqlServer 2008MySql 5.5H2

開發環境:Java EEEclipseMavenGit

6. 必會基礎知識

1. 軟體工程基礎、Java語言基礎、JSP內建物件、EL表示式

2. Spring Framework:類的依賴、自動注入、事務處理

3. Spring MVCURL對映、引數傳遞

4. Apache Shiro:安全攔截方式,應用方法,控制按鈕

5. SiteMesh:佈局框架的用法

6. JSP標準標籤庫(JSTL):ifchooseforEachset

7. Spring MVC表單標籤庫:forminputtextareaselectcheckbox

8. 檔案存放規範,命名規範。

7. 學習索引

1. Spring Framework 

· 跟我學Spring3

2. Spring MVC 

· 跟開濤學Spring MVC

· JSP語法Spring FormJSTLEL

· Bean Validation

3. Apache Shiro 

· 官方文件

· 快速入門

4. SiteMesh 2.4

· 官方文件

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

5. Bootstrap 2.3

· Bootstrap官網

· Bootstrap中文網

6. jQuery

· jQuery API官方文件  中文文件

· jQuery Validation官方文件  使用範例

· jQuery zTree: 官方文件

· jQruey jBox官方文件

7. Activiti

· 官方網站

· 中文文件

· 咖啡兔Activiti

8. Ehcache

· 官方文件

· EhCache分散式快取

9. 其它資料

· Alibaba Druid

· FreeMarker

· 8. 安裝部署

1. 執行Maven目錄下的settings.bat檔案,用來設定maven倉庫路徑,並按提示操作(設定PATH系統變數、配置Eclipse)。

2. 執行jeesite/bin/eclipse.bat 生成工程檔案並下載jar依賴包(如果需要修改預設專案名,請開啟pom.xml修改第7artifactId,然後再執行eclipse.bat檔案)。

3.  jeesite 工程匯入到eclipse,選中工程,按F5重新整理。

4. 設定資料來源:src/main/resources/jeesite.properties

5. 匯入資料表並初始化資料:執行db/init-db.bat檔案。(匯入時如果出現“drop”失敗提示資訊,請忽略。)

6. 新建ServerTomcat),注意選擇以下兩個選項:

7. 配置server.xmlConnector項,增加URIEncoding="UTF-8"

8. 部署到Tomcat,設定Auto ReloadDisabled

9. 訪問工程:http://127.0.0.1:8080/ jeesite  使用者名稱:thinkgem  密碼:admin

9. 常見問題

1. 'mvn' 不是內部或外部命令,原因如下

a) PATH未配置或配置了多個不一致的Maven地址,如使用者/系統變數。

b) M2_HOME系統/使用者變數地址不正確,可刪除M2_HOME變數。

c) 檢查mvn執行是否正常,cmd執行:mvn -v

2. 執行eclipse.bat 找不到檔案路徑或亂碼:一般原因是路徑中包含空格或中文。

3. 匯入到eclipse下找不到jar包:maven未配置,檢視m2_repo倉庫路徑是否正確。

4. 執行init-db.bat提示ORA-xxx:根據錯誤碼排除錯誤,一般是資料庫url不對,使用者名稱或密碼錯誤。

5. 部署時出現某某被鎖定,一般原因:Tomcat服務中的兩個選項未選中。

6. 字典列表,新增鍵值,出現亂碼:server.xml未配置url編碼為utf-8


2章 檔案結構與配置

作者:ThinkGem

更新日期:2014-4-8

1. 檔案結構

1.1. 原始碼目錄

src/main/java

 

com.thinkgem.jeesite

Jeesite平臺目錄

 ├ common

公共模組存放目錄

 │ ├ beanvalidator

實體Bean驗證相關類

│ ├ log

日誌工具相關類

│ ├ mapper

各種ObjectXmlObjectJson的對映轉換類

│ ├ persistence

持久層相關類

│ ├ security

安全相關類

│ ├ service

業務層相關類

│ ├ servlet

公共servlet相關類

│ ├ utils

各種操作小工具類

│ └ web

模型控制器層相關類

└ modules

JeeSite內建功能模組存放目錄

├ act

Activiti工作流引擎目錄

├ cms

內容管理、新聞釋出模組目錄

├ gen

Web版本程式碼生成器目錄

├ oa

線上辦公模組演示用例存放目錄

└ sys

系統核心模組存放目錄

 ├ dao

資料訪問層相關類

 ├ entity

實體相關類

 ├ interceptor

系統模組攔截器相關類

 ├ service

業務處相關類

  ├ web

模型控制器層相關類

  └ utils

系統模組的工具類

1.2. 資源目錄

src/main/resource

 

act

Activiti工作流引擎相關檔案(部署檔案、bpmn

cache

Ehcache快取配置存放目錄

mappings

Mybatis Sql對映檔案存放目錄