內容簡介
本書基於最新的Java EE 7規範對Java EE的基礎知識和套用開發技術進行系統講解。書中主要習承斷挨內容分為五篇:入門篇對Java EE基本的市遷洪介狼刪汗紹。第一篇介紹了Java EE的概念和Java語協敬舉埋言基礎以及實際開發中涉及的各種基礎技術,包括SQL語言與MySQL、XML、HTML、CSS、JavaScript、Servlet、JSP等,可使讀者全面認識Java EE以及各種基礎技術。第二篇以Java EE企業套用的表現層、數據持久化層和業務邏輯層的開發為主線,重點講解實際開發中涉及的各種框架技術,包括Struts 2、Hibernate、Spring等,使讀者掌握開發完整Java EE企業套用所用到的框架技能。第三篇講解了快速開發平台的概念,並以TDFY快速開發平台為例,講解了該平台的功能、設計思想、技術選型、安裝部署以及使用步驟,同時還講解了該平台中常用組件的使用以及手機端的基礎接口知識,使讀者掌握TDFY平台開發技巧,從而能夠快速開發出企業級套用。第四篇以一個基於TDFY快速開發祖催平台的公共資源交易系統為例,講解了該項目從需求分析、系統設計、功能設計、詳細設計到最後代碼編程的整個過程,並以其中一個場地安排模組為例,詳細講解了TDFY快速開發平台在實際項目中的使用。本書配套資源有:PPT、原始碼、習題解答等。
圖書目錄
目 錄
第0篇 入 門 篇
第0章 概述 1
0.1 Java EE是什麼 1
0.2 Java EE發展史 1
0.3 Java EE到底要解決什麼問題 2
0.4 Java EE組件、容器、伺服器 2
0.4.1 組件(Component) 2
0.4.2 容器(Container) 2
0.4.3 伺服器(Server) 3
0.4.4 組件、容器、伺服器三者的功能 3
0.4.5 組件體系結構 3
0.5 Java EE主要技術 4
0.5.1 JSP,Servlet 4
0.5.2 EJB(Enterprise JavaBean) 5
0.5.3 Container(容器) 5
0.5.4 RMI 6
0.5.5 JMS 6
0.5.6 JTA 7
0.5.7 JAAS 7
0.5.8 Connector 7
第1篇 基 礎 篇
第1章 CoreJava 8
1.1 Java簡介催危腿與使用 8
1.1.1 JDK 8
1.1.2 設定Java開發環境 9
1.1.3 為什麼發明Java 9
1.1.4 Java虛擬機的特徵 9
1.1.5 垃圾回收集的概念 10
1.1.6 Java平台代碼安全實現策略 11
1.1.7 定義類記簽籃、包、applets和應用程式 11
1.2 標識、關鍵字、類型 13
1.2.1 注釋 13
1.2.2 分號、塊和空格 14
1.2.3 標識符 14
1.2.4 關鍵字 14
1.2.5 基本類型和引用類型 15
1.2.6 boolean類型 15
1.2.7 文本數據類型 16
1.2.8 整數類型 17
1.2.9 浮點類型 18
1.2.10 變數的聲明和賦值 19
1.2.11 推薦命名規則 19
1.2.12 創建類 19
1.2.13 創建實例 21
1.3 表達式和程式控制 21
1.3.1 局部變數 21
1.3.2 實例變數 22
1.3.3 操作符 24
1.3.4 類型轉換 27
1.3.5 條件語句 28
1.3.6 循環語句 29
1.3.7 循環語句中流程跳轉 30
1.4 數組 31
1.4.1 數組變數的聲明 31
1.4.2 初始化 32
1.4.3 多維數組 33
1.4.4 數組的邊界 33
1.4.5 數組的複製 34
1.5 高級語言特性 34
1.5.1 OOP中的基本概念 34
1.5.2 類和對象 35
1.5.3 定義方法的形式及參數傳遞 35
1.5.4 封裝 36
1.5.5 方法重載 37
1.5.6 創建和初始化對象 37
1.5.7 構造方法 37
1.5.8 繼承 39
1.5.9 方法覆蓋 39
1.5.10 this和super關鍵字 40
1.5.11 多態及對象類型轉換 43
1.5.12 static修飾符 44
1.5.13 final修飾符 45
1.5.14 接口 47
1.5.15 訪問控制 48
1.6 集合 53
1.6.1 Collection和Iterator接口 53
1.6.2 Set、List、Map集合 54
1.6.3 反射機制 59
1.7 異常 61
1.7.1 異常的基本概念 61
1.7.2 try...catch語句 62
1.7.3 finally語句 62
1.7.4 異常調用棧 64
1.7.5 異常層級關係 64
1.7.6 異常聲明和處理 65
1.7.7 斷言 67
1.8 執行緒 68
1.8.1 執行緒概念 68
1.8.2 執行緒的組成部分 68
1.8.3 執行緒的創建和啟動 68
1.8.4 執行緒狀態 70
1.8.5 執行緒調度 71
1.8.6 執行緒的同步 72
1.8.7 執行緒的通信 73
1.8.8 執行緒死鎖、執行緒讓步 75
1.8.9 調整執行緒優先權 76
1.9 IO流和檔案流 76
1.9.1 流的概念 76
1.9.2 位元組輸入流和輸出流 77
1.9.3 輸入流和輸出流層級結構 78
1.9.4 字元輸入/輸出流 79
1.9.5 檔案流 80
1.9.6 對象的序列化和反序列化 82
1.10 網路編程 84
1.10.1 網路相關概念 84
1.10.2 基於TCP的Socket編程步驟 85
1.10.3 基於UDP的Socket編程步驟 87
習題 89
第2章 Java新特性 93
2.1 Jdk1.5新特性 93
2.1.1 自動裝箱/拆箱 93
2.1.2 增強for循環 96
2.1.3 類型安全枚舉 96
2.1.4 可變長參數 99
2.1.5 靜態導入 100
2.1.6 格式化輸出 100
2.1.7 泛型 101
2.1.8 Annotation 103
2.2 JDK1.6新特性 106
2.3 JDK7新特性 108
2.4 JDK8新特性 110
2.4.1 接口的默認方法 110
2.4.2 Lambda 表達式 111
2.4.3 函式式接口 112
2.4.4 方法與構造函式引用 112
2.4.5 訪問局部變數 113
2.4.6 訪問對象欄位與靜態變數 113
2.4.7 訪問接口的默認方法 114
2.4.8 Date API 116
2.4.9 多重Annotation 註解 118
習題 119
第3章 SQL+MySQL 120
3.1 SQL概述 120
3.2 MySQL 122
習題 137
第4章 XML 138
4.1 標記語言 138
4.2 XML語法規則 139
4.3 DTD/Schema 143
4.3.1 DTD/Schema的由來 143
4.3.2 DTD中的定義規則 143
4.3.3 文檔類型定義 146
4.3.4 Schema 147
4.4 JAXP解析XML 148
習題 155
第5章 HTML/CSS+Bootstrap 156
5.1 HTML 156
5.1.1 HTML基礎 156
5.1.2 幾個重要的標記 158
5.2 CSS 168
5.2.1 CSS定義 168
5.2.2 CSS選擇器 168
5.2.3 樣式的繼承 172
5.2.4 樣式的優先權 172
5.2.5 關鍵屬性 173
5.2.6 塊標記和行內標記 174
5.2.7 常見的屬性 174
5.3 Bootstrap 179
習題 184
第6章 JavaScript+AJAX 185
6.1 JavaScript 185
6.1.1 JavaScript相關概念 185
6.1.2 JavaScript的基本語法 187
6.1.3 JavaScript中常見內置對象 192
6.1.4 DOM 198
6.1.5 BOM 203
6.2 AJAX 208
6.2.1 AJAX定義 208
6.2.2 AJAX編程 209
6.2.3 XmlHttpRequest對象的重要
屬性 211
6.2.4 快取問題 211
6.2.5 用戶註冊案例 211
6.2.6 AJAX的優點和編碼問題 216
6.2.7 級聯下拉列表案例 217
6.3 JSON 217
6.4 jQuery 218
6.4.1 jQuery的定義 218
6.4.2 jQuery使用 218
6.4.3 jQuery DOM操作 219
6.4.4 jQuery事件處理 220
6.4.5 jQuery運算元組的方法 220
6.4.6 jQuery對AJAX的支持 221
習題 222
第7章 Servlet 223
7.1 Servlet原理 223
7.1.1 Servlet相關概念 223
7.1.2 Servlet開發流程 224
7.1.3 Servlet Web套用的流程 224
7.1.4 Servlet通信 226
7.2 Servlet的生命周期 230
7.3 伺服器內部和外部跳轉 232
7.3.1 伺服器內部跳轉 232
7.3.2 伺服器外部跳轉 232
7.4 Session、Cookie、URL重寫 233
7.4.1 Session 233
7.4.2 Cookie 235
7.4.3 URL重寫 236
7.5 ServletConfig與ServletContext 239
7.6 Filter(Servlet過濾器) 242
7.7 Listener(Servlet監聽器) 244
習題 249
第8章 JSP 250
8.1 JSP相關概念 250
8.2 JSP的使用 252
8.2.1 第一個JSP 252
8.2.2 JSP腳本元素 253
8.2.3 JSP中的注釋 254
8.2.4 動作元素 256
8.2.5 JSP中默認的內置對象 257
8.2.6 JSP模型 258
8.2.7 JavaBean 259
8.2.8 EL表達式 261
8.2.9 JSTL 264
習題 267
第2篇 框 架 篇
第9章 Struts2 269
9.1 Struts2概述 269
9.2 Struts2工作原理 270
9.3 構件基於Struts2的套用 273
9.4 第一個Struts2應用程式 276
習題 278
第10章 持久層框架技術 279
10.1 JDBC 279
10.1.1 JDBC相關概念 279
10.1.2 JDBC的使用 280
10.2 Hibernate 284
10.2.1 Hibernate相關概念 284
10.2.2 Hibernate工作原理 284
10.2.3 持久化對象 284
10.2.4 延遲載入機制 286
10.2.5 關係映射 287
10.3 MyBatis 294
10.3.1 MyBatis相關概念 294
10.3.2 MyBatis的工作流程 295
10.3.3 基礎配置 296
10.3.4 SQL映射 298
10.3.5 SqlSession接口 299
習題 300
第11章 Spring 302
11.1 Spring概述 302
11.2 IoC注入 305
11.2.5 繼承裝入 311
11.3 PropertyEditor和創建Bean 312
11.3.1 PropertyEditor 312
11.3.2 創建Bean 314
11.4 Bean的生命周期 315
11.5 IoC中的annotation配置 315
11.5.1 @Autowired 315
11.5.2 @Resource 316
11.5.3 @PostConstruct 和
@PreDestroy 316
11.5.4 @Component 317
11.6 AOP 318
11.7 Advice 324
11.8 AutoProxy和aop:config標籤 325
11.8.1 AutoProxy 325
11.8.2 aop:config標籤 326
11.9 Spring+jdbc 327
11.10 Spring+Hibernate 329
11.11 Spring事務管理機制 330
11.11.1 編程式事務管理 330
11.11.2 聲明式事務管理 331
11.11.3 事務描述 333
11.12 HibernateTemplate類與
HibernateDaoSupport類 335
習題 336
第3篇 平 台 篇
第12章 快速開發平台 337
12.1 平台的概念 337
12.2 平台的模式 338
12.3 TDFY快速開發平台簡介 338
12.4 內置功能 338
12.5 設計思想 339
12.6 技術選型 339
12.7 安裝部署 340
12.8 檔案結構 341
12.9 系統配置檔案 343
第13章 常用組件 345
第14章 代碼生成器套用 351
第15章 手機端基礎接口 358
第4篇 應 用 篇
第16章 公共資源交易平台 362
16.1 項目概述 362
16.2 需求分析 363
16.3 公共資源交易系統功能設計 365
16.4 場地安排模組快速開發實例 367
16.4.1 利用PowerDesigner設計表 367
16.4.2 使用代碼生成器生成代碼 368
16.4.3 Java各層代碼修改 372
16.4.4 MyBatis映射檔案修改 390
16.4.5 WebApp展示層代碼修改 395
16.4.6 許可權控制 397
16.4.7 程式調試 399
習題 400
參考文獻 401
1.1.5 垃圾回收集的概念 10
1.1.6 Java平台代碼安全實現策略 11
1.1.7 定義類、包、applets和應用程式 11
1.2 標識、關鍵字、類型 13
1.2.1 注釋 13
1.2.2 分號、塊和空格 14
1.2.3 標識符 14
1.2.4 關鍵字 14
1.2.5 基本類型和引用類型 15
1.2.6 boolean類型 15
1.2.7 文本數據類型 16
1.2.8 整數類型 17
1.2.9 浮點類型 18
1.2.10 變數的聲明和賦值 19
1.2.11 推薦命名規則 19
1.2.12 創建類 19
1.2.13 創建實例 21
1.3 表達式和程式控制 21
1.3.1 局部變數 21
1.3.2 實例變數 22
1.3.3 操作符 24
1.3.4 類型轉換 27
1.3.5 條件語句 28
1.3.6 循環語句 29
1.3.7 循環語句中流程跳轉 30
1.4 數組 31
1.4.1 數組變數的聲明 31
1.4.2 初始化 32
1.4.3 多維數組 33
1.4.4 數組的邊界 33
1.4.5 數組的複製 34
1.5 高級語言特性 34
1.5.1 OOP中的基本概念 34
1.5.2 類和對象 35
1.5.3 定義方法的形式及參數傳遞 35
1.5.4 封裝 36
1.5.5 方法重載 37
1.5.6 創建和初始化對象 37
1.5.7 構造方法 37
1.5.8 繼承 39
1.5.9 方法覆蓋 39
1.5.10 this和super關鍵字 40
1.5.11 多態及對象類型轉換 43
1.5.12 static修飾符 44
1.5.13 final修飾符 45
1.5.14 接口 47
1.5.15 訪問控制 48
1.6 集合 53
1.6.1 Collection和Iterator接口 53
1.6.2 Set、List、Map集合 54
1.6.3 反射機制 59
1.7 異常 61
1.7.1 異常的基本概念 61
1.7.2 try...catch語句 62
1.7.3 finally語句 62
1.7.4 異常調用棧 64
1.7.5 異常層級關係 64
1.7.6 異常聲明和處理 65
1.7.7 斷言 67
1.8 執行緒 68
1.8.1 執行緒概念 68
1.8.2 執行緒的組成部分 68
1.8.3 執行緒的創建和啟動 68
1.8.4 執行緒狀態 70
1.8.5 執行緒調度 71
1.8.6 執行緒的同步 72
1.8.7 執行緒的通信 73
1.8.8 執行緒死鎖、執行緒讓步 75
1.8.9 調整執行緒優先權 76
1.9 IO流和檔案流 76
1.9.1 流的概念 76
1.9.2 位元組輸入流和輸出流 77
1.9.3 輸入流和輸出流層級結構 78
1.9.4 字元輸入/輸出流 79
1.9.5 檔案流 80
1.9.6 對象的序列化和反序列化 82
1.10 網路編程 84
1.10.1 網路相關概念 84
1.10.2 基於TCP的Socket編程步驟 85
1.10.3 基於UDP的Socket編程步驟 87
習題 89
第2章 Java新特性 93
2.1 Jdk1.5新特性 93
2.1.1 自動裝箱/拆箱 93
2.1.2 增強for循環 96
2.1.3 類型安全枚舉 96
2.1.4 可變長參數 99
2.1.5 靜態導入 100
2.1.6 格式化輸出 100
2.1.7 泛型 101
2.1.8 Annotation 103
2.2 JDK1.6新特性 106
2.3 JDK7新特性 108
2.4 JDK8新特性 110
2.4.1 接口的默認方法 110
2.4.2 Lambda 表達式 111
2.4.3 函式式接口 112
2.4.4 方法與構造函式引用 112
2.4.5 訪問局部變數 113
2.4.6 訪問對象欄位與靜態變數 113
2.4.7 訪問接口的默認方法 114
2.4.8 Date API 116
2.4.9 多重Annotation 註解 118
習題 119
第3章 SQL+MySQL 120
3.1 SQL概述 120
3.2 MySQL 122
習題 137
第4章 XML 138
4.1 標記語言 138
4.2 XML語法規則 139
4.3 DTD/Schema 143
4.3.1 DTD/Schema的由來 143
4.3.2 DTD中的定義規則 143
4.3.3 文檔類型定義 146
4.3.4 Schema 147
4.4 JAXP解析XML 148
習題 155
第5章 HTML/CSS+Bootstrap 156
5.1 HTML 156
5.1.1 HTML基礎 156
5.1.2 幾個重要的標記 158
5.2 CSS 168
5.2.1 CSS定義 168
5.2.2 CSS選擇器 168
5.2.3 樣式的繼承 172
5.2.4 樣式的優先權 172
5.2.5 關鍵屬性 173
5.2.6 塊標記和行內標記 174
5.2.7 常見的屬性 174
5.3 Bootstrap 179
習題 184
第6章 JavaScript+AJAX 185
6.1 JavaScript 185
6.1.1 JavaScript相關概念 185
6.1.2 JavaScript的基本語法 187
6.1.3 JavaScript中常見內置對象 192
6.1.4 DOM 198
6.1.5 BOM 203
6.2 AJAX 208
6.2.1 AJAX定義 208
6.2.2 AJAX編程 209
6.2.3 XmlHttpRequest對象的重要
屬性 211
6.2.4 快取問題 211
6.2.5 用戶註冊案例 211
6.2.6 AJAX的優點和編碼問題 216
6.2.7 級聯下拉列表案例 217
6.3 JSON 217
6.4 jQuery 218
6.4.1 jQuery的定義 218
6.4.2 jQuery使用 218
6.4.3 jQuery DOM操作 219
6.4.4 jQuery事件處理 220
6.4.5 jQuery運算元組的方法 220
6.4.6 jQuery對AJAX的支持 221
習題 222
第7章 Servlet 223
7.1 Servlet原理 223
7.1.1 Servlet相關概念 223
7.1.2 Servlet開發流程 224
7.1.3 Servlet Web套用的流程 224
7.1.4 Servlet通信 226
7.2 Servlet的生命周期 230
7.3 伺服器內部和外部跳轉 232
7.3.1 伺服器內部跳轉 232
7.3.2 伺服器外部跳轉 232
7.4 Session、Cookie、URL重寫 233
7.4.1 Session 233
7.4.2 Cookie 235
7.4.3 URL重寫 236
7.5 ServletConfig與ServletContext 239
7.6 Filter(Servlet過濾器) 242
7.7 Listener(Servlet監聽器) 244
習題 249
第8章 JSP 250
8.1 JSP相關概念 250
8.2 JSP的使用 252
8.2.1 第一個JSP 252
8.2.2 JSP腳本元素 253
8.2.3 JSP中的注釋 254
8.2.4 動作元素 256
8.2.5 JSP中默認的內置對象 257
8.2.6 JSP模型 258
8.2.7 JavaBean 259
8.2.8 EL表達式 261
8.2.9 JSTL 264
習題 267
第2篇 框 架 篇
第9章 Struts2 269
9.1 Struts2概述 269
9.2 Struts2工作原理 270
9.3 構件基於Struts2的套用 273
9.4 第一個Struts2應用程式 276
習題 278
第10章 持久層框架技術 279
10.1 JDBC 279
10.1.1 JDBC相關概念 279
10.1.2 JDBC的使用 280
10.2 Hibernate 284
10.2.1 Hibernate相關概念 284
10.2.2 Hibernate工作原理 284
10.2.3 持久化對象 284
10.2.4 延遲載入機制 286
10.2.5 關係映射 287
10.3 MyBatis 294
10.3.1 MyBatis相關概念 294
10.3.2 MyBatis的工作流程 295
10.3.3 基礎配置 296
10.3.4 SQL映射 298
10.3.5 SqlSession接口 299
習題 300
第11章 Spring 302
11.1 Spring概述 302
11.2 IoC注入 305
11.2.5 繼承裝入 311
11.3 PropertyEditor和創建Bean 312
11.3.1 PropertyEditor 312
11.3.2 創建Bean 314
11.4 Bean的生命周期 315
11.5 IoC中的annotation配置 315
11.5.1 @Autowired 315
11.5.2 @Resource 316
11.5.3 @PostConstruct 和
@PreDestroy 316
11.5.4 @Component 317
11.6 AOP 318
11.7 Advice 324
11.8 AutoProxy和aop:config標籤 325
11.8.1 AutoProxy 325
11.8.2 aop:config標籤 326
11.9 Spring+jdbc 327
11.10 Spring+Hibernate 329
11.11 Spring事務管理機制 330
11.11.1 編程式事務管理 330
11.11.2 聲明式事務管理 331
11.11.3 事務描述 333
11.12 HibernateTemplate類與
HibernateDaoSupport類 335
習題 336
第3篇 平 台 篇
第12章 快速開發平台 337
12.1 平台的概念 337
12.2 平台的模式 338
12.3 TDFY快速開發平台簡介 338
12.4 內置功能 338
12.5 設計思想 339
12.6 技術選型 339
12.7 安裝部署 340
12.8 檔案結構 341
12.9 系統配置檔案 343
第13章 常用組件 345
第14章 代碼生成器套用 351
第15章 手機端基礎接口 358
第4篇 應 用 篇
第16章 公共資源交易平台 362
16.1 項目概述 362
16.2 需求分析 363
16.3 公共資源交易系統功能設計 365
16.4 場地安排模組快速開發實例 367
16.4.1 利用PowerDesigner設計表 367
16.4.2 使用代碼生成器生成代碼 368
16.4.3 Java各層代碼修改 372
16.4.4 MyBatis映射檔案修改 390
16.4.5 WebApp展示層代碼修改 395
16.4.6 許可權控制 397
16.4.7 程式調試 399
習題 400
參考文獻 401