JfinalUIB學(xué)習(xí)交流QQ群 :309647612
書籍整個創(chuàng)作周期從2015年8月1日開始到2015年9月10日,時間倉促,難免有瑕疵,
希望大家能夠指出存在的問題,我會不斷的更新糾正,謝謝大家!
百度閱讀地址 :http://yuedu.baidu.com/ebook/3fc54b55d5bbfd0a7956739f
前四章免費閱讀,內(nèi)容會持續(xù)定期更新,緊隨Jfinal的發(fā)展,希望大家看看做出評價,謝謝!
試讀下載地址:http://down.51cto.com/data/2127288
目錄
Jfinal極速開發(fā)實戰(zhàn)...
為什么要寫這本書... 3
讀者對象... 3
能學(xué)到什么... 4
如何閱讀這本書... 4
勘誤和支持... 4
致謝... 4
1 初識Jfinal
1.1 Jfinal的簡介... 18
1.2 Jfinal的特點... 18
1.3 Jfinal下載... 18
2 搭建開發(fā)環(huán)境... 19
2.1 開發(fā)環(huán)境要求... 19
2.2 下載安裝配置JDK. 20
2.2.1 下載地址... 20
2.2.2 選擇平臺類型... 20
2.2.3 安裝JDK
2.2.4 配置環(huán)境變量... 21
2.2.5 JVM參數(shù)... 22
2.2.6 Java VisualVM
2.3 下載安裝配置Eclipse. 26
2.3.1 打開主頁... 26
2.3.2 選擇平臺類型... 27
2.3.3 點擊下載... 27
2.3.4 安裝eclipse
2.3.5 啟動eclipse
2.3.6 添加JDK到eclipse
2.3.7 設(shè)置JDK編譯級別... 30
2.3.8 設(shè)置文件編碼... 30
2.4 下載安裝配置Maven. 32
2.4.1 下載maven
2.4.2 配置maven
2.4.3 eclipse整合maven
2.5 下載安裝配置TomcatPlugin
2.5.1 打開主頁... 37
2.5.2 下載tomcatPlugin
2.5.3 安裝tomcatPlugin
2.5.4 下載tomcat
2.5.5 安裝配置tomcat
2.5.6 整合tomcatPlugin和tomcat
2.5.7 設(shè)置tomcat的JVM
2.6 嵌入式Tomcat
2.6.1 打開主頁... 41
2.6.2 配置項目... 42
2.6.3 編寫啟動類... 43
2.6.4 啟動測試... 45
2.7 熱部署神器之Jrebel
2.7.1 打開主頁... 46
2.7.2 下載eclipse插件包... 46
2.7.3 Eclipse中安裝update-site-6.2.1.zip
2.7.4 破解jrebel
2.7.5 設(shè)置jvm的jrebel代理... 52
2.8 熱部署神器之springloaded
2.8.1 打開主頁... 52
2.8.2 下載springloaded-xxx.jar包... 52
2.8.3 安裝配置... 53
2.8.4 啟用jvm的springloaded代理... 53
3 導(dǎo)入示例項目... 54
3.1 eclipse導(dǎo)入Jfinal demo項目... 54
3.1.1 解壓Jfinal_demo.zip
3.1.2 導(dǎo)入項目... 54
3.2 eclipse導(dǎo)入Jfinal demo for maven項目... 57
3.2.1 解壓Jfinal_demo_for_maven.zip
3.2.2 Eclipse導(dǎo)入maven項目... 58
3.2.3 導(dǎo)入后的項目視圖... 60
3.3 使用eclipse git下載JfinalUIB項目... 60
3.3.1 項目地址... 60
3.3.2 打開git視圖... 61
3.3.3 使用git下載... 62
3.3.4 使用git更新... 65
4 運行項目方式... 66
4.1 Jetty運行Jfinal demo
4.1.1 創(chuàng)建數(shù)據(jù)庫... 66
4.1.2 配置數(shù)據(jù)庫連接... 66
4.1.3 啟動項目... 67
4.1.4 訪問項目... 68
4.1.5 這是錯誤嗎?... 68
4.1.6 移出jetty-server-8.1.8.jar
4.2 TomcatEclipsePlugin運行Jfinal demo
4.2.1 數(shù)據(jù)庫配置... 70
4.2.2 修改tomcat/conf/server.xml
4.2.3 刪除jetty-server-8.1.8.jar
4.2.4 啟動tomcat
4.2.5 訪問項目... 73
4.2.6 啟用熱部署... 73
4.3 Tomcat Embedded運行Jfinal demo
4.3.1 數(shù)據(jù)庫配置... 75
4.3.2 添加應(yīng)用路徑... 75
4.3.3 啟動項目... 75
4.3.4 訪問項目... 75
4.3.5 啟用熱部署... 75
4.4 Jetty運行Jfinal demo for maven
4.4.1 數(shù)據(jù)庫配置... 77
4.4.2 啟動項目... 77
4.4.3 訪問項目... 77
4.5 Mvn jetty:run運行Jfinal demo for maven
4.5.1 數(shù)據(jù)庫配置... 77
4.5.2 啟動項目... 78
4.5.3 訪問項目... 79
4.6 Eclipse自帶server運行Jfinal demo for maven
4.6.1 數(shù)據(jù)庫配置... 79
4.6.2 重新解壓一個tomcat
4.6.3 查找Server視圖... 79
4.6.4 配置Server
4.6.5 修改項目路徑... 84
4.6.6 自動發(fā)布和啟動超時... 85
4.6.7 啟動項目... 86
4.6.8 訪問項目... 86
4.6.9 啟用熱部署... 86
4.7 配置運行JfinalUIB
4.7.1 配置數(shù)據(jù)庫... 88
4.7.2 修改數(shù)據(jù)庫連接... 91
4.7.3 啟動項目... 92
4.7.4 訪問項目... 93
4.7.5 啟用熱部署... 94
4.8 使用idea開發(fā)JfinalUIB項目... 94
4.8.1 安裝配置git
4.8.2 使用git下載... 95
4.8.3 導(dǎo)入并啟動項目... 96
4.9 創(chuàng)建并運行普通java web項目... 99
4.9.1 創(chuàng)建一個Dynamic Web Project
4.9.2 修改編譯路徑... 102
4.9.3 加入Jfinal支持... 104
4.9.4 啟動并測試... 107
4.10 創(chuàng)建并運行maven版java web項目... 109
4.10.1 創(chuàng)建一個Maven Project
4.10.2 加入Jfinal支持... 112
4.10.3 啟動并測試... 114
5 部署項目... 114
5.1 項目打包... 114
5.1.1 項目結(jié)構(gòu)... 114
5.1.2 打包jfinal_demo
5.1.3 打包JfinalUIB
5.2 項目部署到tomcat
5.2.1 安裝tomcat
5.2.2 修改默認(rèn)端口... 116
5.2.3 部署項目... 116
5.2.4 設(shè)置tomcat內(nèi)存大小... 117
5.2.5 啟動tomcat
5.3 項目部署到j(luò)etty
5.3.1 安裝jetty
5.3.2 修改默認(rèn)端口... 118
5.3.3 部署項目... 118
5.3.4 啟動Jetty
5.3.5 設(shè)置Jetty內(nèi)存大小... 119
5.4 項目部署到resin
5.4.1 安裝resin
5.4.2 修改默認(rèn)端口... 120
5.4.3 部署項目... 120
5.4.4 設(shè)置resin內(nèi)存大小... 120
5.4.5 啟動resin
5.5 整合nginx
5.5.1 下載nginx
5.5.2 安裝nginx
5.5.3 啟動nginx
5.5.4 在hosts文件中配置域名... 124
5.5.5 整合servlet容器... 125
5.5.6 負(fù)載均衡... 128
6 Jfinal快速入門... 130
6.1 Jfinal總體架構(gòu)圖... 130
6.2 入口控制類JfinalConfig
6.2.1 configConstant
6.2.2 configRoute
6.2.3 configPlugin
6.2.4 configInterceptor
6.2.5 configHandler
6.2.6 afterJfinalStart
6.2.7 beforeJfinalStop
6.3 MVC控制器Controller
6.3.1 Action
6.3.2 Action中獲取請求參數(shù)... 140
6.3.3 Action中請求參數(shù)實例化model
6.3.4 Action中獲取上傳文件... 142
6.3.5 Action中操作request的attribute
6.3.6 Action中操作Session
6.3.7 Action中的render
6.4 數(shù)據(jù)校驗Validator
6.4.1 驗證器示例... 146
6.4.2 驗證器調(diào)用... 148
6.4.3 validate方法擴展... 149
6.5 數(shù)據(jù)庫操作ActiveRecord
6.5.1 什么是ActiveRecord
6.5.2 ActiveRecordPlugin
6.5.3 Model
6.5.4 Db + Record
6.5.5 ICallback
6.5.6 事務(wù)控制... 163
6.5.7 各種數(shù)據(jù)庫支持... 165
6.5.8 多數(shù)據(jù)源... 166
6.6 緩存的配置使用... 167
6.6.1 整合使用Ehcache
6.6.2 整合使用Redis
6.7 國際化... 172
6.7.1 資源文件編輯器... 172
6.7.2 資源文件操作... 172
6.7.3 I18nInterceptor
6.8 常用工具類... 174
6.8.1 PropKit
6.8.2 FileKit
6.8.3 HandlerKit
6.8.4 HashKit
6.8.5 HttpKit
6.8.6 JsonKit
6.8.7 PathKit
6.8.8 Ret
6.8.9 StrKit
6.8.10 Sqls
6.8.11 DbKit
7 實戰(zhàn)項目之項目設(shè)計... 183
7.1 數(shù)據(jù)處理流程... 183
7.1.1 數(shù)據(jù)處理流程圖... 183
7.1.2 核心處理類說明... 184
7.2 項目結(jié)構(gòu)... 186
7.2.1 platform源碼包... 187
7.2.2 junit源碼包... 188
7.2.3 WebContent文件夾... 188
7.3 功能模塊... 189
7.3.1 用戶管理... 189
7.3.2 分組管理... 190
7.3.3 角色管理... 190
7.3.4 崗位管理... 190
7.3.5 功能管理... 191
7.3.6 系統(tǒng)管理... 191
7.4 數(shù)據(jù)庫... 191
7.4.1 安裝ERMaster
7.4.2 用戶權(quán)限表... 192
7.4.3 其他表... 193
7.5 Base類... 194
7.5.1 BaseController
7.5.2 BaseService
7.5.3 BaseModel
7.6 前端和后端交互... 207
7.6.1 單頁面應(yīng)用... 208
7.6.2 頁面交互流程... 209
7.6.3 交互架構(gòu)的演變... 209
8 實戰(zhàn)項目之?dāng)U展開發(fā)... 210
8.1 Controller、Model自動注冊... 210
8.1.1 定義Controller注解... 210
8.1.2 應(yīng)用Controller注解... 211
8.1.3 掃描Controller注解... 211
8.1.4 定義Model注解... 213
8.1.5 應(yīng)用Model注解... 214
8.1.6 掃描Model注解... 214
8.2 Controller全局參數(shù)封裝... 215
8.2.1 定義攔截器... 215
8.2.2 request取值到Controller變量... 216
8.2.3 Controller變量值返回request
8.3 支持distinct分頁... 219
8.3.1 普通分頁存在的問題... 219
8.3.2 自定義分頁方法... 222
8.3.3 調(diào)用分頁方法... 224
8.4 高仿mybatis動態(tài)SQL管理... 224
8.4.1 .sql.xml文件定義... 225
8.4.2 加載.sql.xml文件... 226
8.4.3 獲取靜態(tài)sql
8.4.4 獲取動態(tài)sql
8.4.5 獲取動態(tài)預(yù)處理sql
8.5 格式化輸出SQL和預(yù)處理參數(shù)輸出... 232
8.5.1 開啟Sql打印... 232
8.5.2 Sql格式化工具類... 233
8.5.3 Sql格式化輸出... 233
8.5.4 Sql參數(shù)輸出... 234
8.5.5 Sql和參數(shù)輸出效果... 235
8.6 樂觀鎖控制... 236
8.6.1 什么是樂觀鎖... 236
8.6.2 樂觀鎖設(shè)計... 237
8.6.3 樂觀鎖實現(xiàn)... 237
8.6.4 樂觀鎖應(yīng)用... 240
8.7 請求耗時計算... 241
8.7.1 總耗時... 241
8.7.2 Render耗時... 243
8.8 國際化... 243
8.8.1 國際化內(nèi)容... 244
8.8.2 國際化資源文件編輯... 244
8.8.3 國際化資源文件加載... 244
8.8.4 國際化資源文件讀取... 248
8.8.5 國際化的模板取值... 249
8.9 使用Junit做單元測試... 250
8.9.1 單元測試基礎(chǔ)類TestBase
8.9.2 測試示例... 253
8.10 簡易代碼生成器... 254
8.10.1 設(shè)計目標(biāo)... 254
8.10.2 設(shè)計實現(xiàn)思路... 254
8.10.3 模板定義... 255
8.10.4 應(yīng)用示例... 260
8.11 表單數(shù)組提交... 262
8.11.1 getModel方法... 262
8.11.2 getModel源碼分析... 263
8.11.3 擴展實現(xiàn)... 264
8.11.4 增加到BaseController
8.11.5 應(yīng)用示例... 266
8.12 表單重復(fù)提交... 267
8.12.1 常見的處理手段... 267
8.12.2 JfinalUIB中做了哪些工作... 268
8.13 統(tǒng)一異常處理... 269
8.13.1 統(tǒng)一捕獲異常... 269
8.13.2 異常提示... 270
8.14 Service層事務(wù)控制... 271
8.14.1 引入cglib做事務(wù)邊界控制... 272
8.14.2 定義方法事務(wù)注解... 273
8.14.3 事務(wù)代理類... 274
8.14.4 應(yīng)用示例... 276
9 實戰(zhàn)項目之業(yè)務(wù)功能開發(fā)... 277
9.1 權(quán)限設(shè)計... 277
9.1.1 權(quán)限分配流程... 277
9.1.2 URL權(quán)限... 277
9.1.3 按鈕權(quán)限... 280
9.2 登錄驗證... 281
9.2.1 密碼存儲... 282
9.2.2 登錄驗證... 283
9.2.3 加密登錄cookie
9.2.4 解密登錄cookie
9.3 分頁詳解... 289
9.3.1 頁面查詢參數(shù)... 290
9.3.2 查詢參數(shù)封裝... 291
9.3.3 分頁數(shù)據(jù)處理... 293
9.3.4 頁面數(shù)據(jù)展示... 297
9.4 通用表單驗證器... 302
9.4.1 Rapido UI的校驗提示... 302
9.4.2 擴展Input屬性... 304
9.4.3 通用校驗方法... 304
9.4.4 Input中的onblur驗證... 307
9.4.5 Form整體驗證... 307
9.4.6 用戶信息校驗... 308
9.5 開發(fā)一個新功能... 309
9.5.1 表設(shè)計... 310
9.5.2 文件生成... 313
9.5.3 配置Controller和Model
9.5.4 修改Action方法... 315
9.5.5 Service層單元測試... 317
9.5.6 頁面開發(fā)... 317
9.5.7 錄入功能URL
9.5.8 菜單和按鈕授權(quán)... 324
9.5.9 頁面功能測試... 325