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