Java Web程式設計與項目實踐

《Java Web程式設計與項目實踐》是2011年電子工業出版社出版的圖書,作者是古樂聲。

內容簡介

本書講解知識全面、重點突出。其中覆蓋JavaWeb開發中的各個方面,但是以套用最廣的SSH三大框架為重點進行詳細講解。通過本書可以使JavaWeb開發的初學者輕鬆入門,並且全面了解JavaWeb開發的套用方向和掌握重點內容,從而為以後的項目開發中打下紮實的基礎。

本書是目前流行的JavaWeb開發的入門教程,由淺入深,循序漸進地講解了如何使用Java進行Web開發。本書內容包括開發環境的搭建、JSP技術、JavaBean技術、Servlet技術、AJAX技術、Struts2框架、Hibernate框架以及Spring框架。最後通過論壇系統和新聞發布系統來講解如何使用前面所學進行項目開發。

圖書目錄

第1章 Java動態網站開發概述1

1.1 Web運行機制1

1.1.1 Web訊息生命周期1

1.1.2 URL簡介2

1.1.3 HTTP協定3

1.1.4 HTML靜態網頁語言3

1.2 從靜態到動態的轉變4

1.2.1 開發靜態網站和套用4

1.2.2 用戶和瀏覽器的動態互動5

1.2.3 用戶和伺服器的動態互動6

1.2.4 Web 2.0時代的人機互動7

1.3 使用Java開發動態網站——J2EE技術8

1.3.1 Java開發動態網站的優勢8

1.3.2 J2EE架構技術選擇8

1.4 J2EE開發中的編程思想9

1.4.1 面向對象編程9

1.4.2 面向關係編程10

1.4.3 面向切面編程10

1.5 疑難解答11

第2章 開發工具的選擇 和開發環境搭建13

2.1 開發工具的選擇13

2.1.1 瀏覽器13

2.1.2 Web伺服器14

2.1.3 資料庫管理系統14

2.2 下載和安裝JDK 615

2.2.1 下載JDK 615

2.2.2 安裝JDK 616

2.2.3 配置環境變數17

2.3 下載和安裝Tomcat6.0伺服器18

2.3.1 下載Tomcat18

2.3.2 安裝Tomcat19

2.3.3 配置虛擬目錄20

2.4 下載和安裝MySQL資料庫20

2.4.1 下載MySQL資料庫20

2.4.2 安裝MySQL21

2.5 下載和安裝MyEclipse6.5集成開發工具22

2.5.1 下載MyEclipse6.5集成開發工具22

2.5.2 安裝MyEclipse22

2.6 配置MyEclipse6.5集成開發工具23

2.6.1 集成配置JRE23

2.6.2 集成配置Tomcat24

2.6.3 集成配置MySQL25

2.7 開發一個JavaWeb程式26

2.7.1 使用MyEclipse新建Web項目26

2.7.2 MyEclipse中新建JSP頁面27

2.7.3 MyEclipse部署項目27

2.8 疑難解答28

第3章 套用JSP技術 開發動態網站31

3.1 開發一個JSP程式31

3.1.1 編寫JSP代碼31

3.1.2 JSP代碼解析32

3.1.3 JSP運行機制33

3.2 JSP基本語法34

3.2.1 注釋34

3.2.2 JSP腳本元素36

3.2.3 JSP指令元素38

3.3 JSP動作指令39

3.3.1 頁面包含操作include40

3.3.2 請求轉發操作forward42

3.3.3 參數傳遞操作param42

3.4 JSP主要內置對象43

3.4.1 request請求對象43

3.4.2 response回響對象47

3.4.3 session會話對象49

3.4.4 application套用服務對象51

3.4.5 pageContext頁面上下文對象52

3.5 JSTL標籤庫54

3.5.1 EL表達式54

3.5.2 核心標籤庫56

3.5.3 格式化標籤庫59

3.5.4 函式標籤庫60

3.6 疑難解答67

3.7 上機題68

第4章 JavaBean在JSP 程式中的套用71

4.1 JavaBean簡介71

4.2 定義JavaBean72

4.3 在JSP中使用JavaBean73

4.3.1 調用JavaBean73

4.3.2 設定JavaBean屬性74

4.3.3 獲取JavaBean屬性75

4.4 JavaBean範圍77

4.5 移除JavaBean78

4.6 使用JavaBean封裝JDBC操作79

4.6.1 資料庫和資料庫表79

4.6.2 公共資料庫訪問連線類的開發82

4.6.3 DAO接口84

4.6.4 DAO實現類84

4.6.5 DAO工廠類87

4.7 疑難解答94

4.8 上機題95

第5章 Servlet技術97

5.1 什麼是Servlet97

5.2 Servlet開發98

5.2.1 開發一個Servlet程式98

5.2.2 Servlet生命周期99

5.2.3 HttpServlet常用方法101

5.3 Filter過濾器開發102

5.3.1 過濾器簡介103

5.3.2 實現一個過濾器103

5.3.3 Filter生命周期104

5.3.4 IP位址過濾器105

5.4 Listener監聽器開發106

5.4.1 監聽器簡介106

5.4.2 Servlet上下文監聽器107

5.4.3 Http會話監聽器和客戶端請求監聽器109

5.5 疑難解答114

5.6 上機題115

第6章 AJAX+JSP+ Servlet整合開發117

6.1 AJAX簡介117

6.2 傳統開發模式與AJAX開發模式117

6.2.1 傳統Web開發模式118

6.2.2 AJAX開發模式119

6.3 AJAX核心技術120

6.3.1 JavaScript腳本語言120

6.3.2 XMLHttpRequest對象122

6.3.3 DOM文檔對象模型124

6.3.4 XML/JSON數據表示技術127

6.4 AJAX開發過程129

6.4.1 創建XMLHttpRequest對象130

6.4.2 定義回響事件處理函式131

6.4.3 傳送HTTP請求131

6.5 疑難解答138

6.6 上機題139

第7章 用Struts 2編寫一個程式141

7.1 Struts 2框架141

7.1.1 Model 1架構模式141

7.1.2 Model 2架構模式142

7.1.3 常用的MVC框架143

7.1.4 Struts 2框架簡介143

7.2 搭建Struts 2開發環境144

7.2.1 下載並安裝Struts 2框架144

7.2.2 配置web.xml146

7.2.3 配置struts.xml147

7.3 疑難解答153

7.4 上機題154

第8章 Struts 2類型轉換和 輸入校驗155

8.1 Struts 2類型轉換基礎155

8.1.1 類型轉換的意義155

8.1.2 內建類型轉換器簡介156

8.1.3 基本數據類型轉換器157

8.1.4 基本數據類型的封裝類轉換器158

8.1.5 數組類型轉換器159

8.1.6 集合類型轉換器160

8.1.7 日期類型轉換器161

8.2 自定義類型轉換器162

8.2.1 實現自定義類型轉換器163

8.2.2 使用Struts 2提供的StrutsTypeConverter165

8.2.3 註冊局部類型轉換器166

8.2.4 註冊全局類型轉換器167

8.2.5 類型轉換執行流程168

8.2.6 類型轉換中錯誤處理169

8.2.7 輸出指定的錯誤信息170

8.3 Struts 2輸入校驗171

8.3.1 輸入校驗的重要性171

8.3.2 通過實現validate方法完成輸入校驗172

8.3.3 保存表單提交信息173

8.3.4 使用addFieldError添加錯誤信息174

8.3.5 Struts 2輸入校驗流程175

8.4 Struts 2校驗框架177

8.4.1 使用校驗框架的好處177

8.4.2 編寫校驗規則檔案177

8.4.3 校驗器配置風格177

8.4.4 內建校驗器註冊檔案179

8.4.5 常用的內建校驗器180

8.5 疑難解答187

8.6 上機題188

第9章 Struts 2攔截器189

9.1 攔截器介紹以及實現原理189

9.1.1 攔截器簡介189

9.1.2 攔截器實現原理190

9.2 自定義攔截器191

9.2.1 通過Interceptor接口實現攔截器192

9.2.2 通過AbstractInterceptor類實現攔截器193

9.2.3 配置攔截器193

9.2.4 使用攔截器196

9.2.5 使用默認攔截器197

9.3 深入了解攔截器198

9.3.1 為攔截器傳入參數198

9.3.2 配置攔截器棧199

9.3.3 覆蓋攔截器棧中指定攔截器的參數201

9.3.4 攔截器執行順序202

9.4 Struts 2內建攔截器203

9.4.1 內建攔截器介紹203

9.4.2 內建攔截器的配置205

9.5 疑難解答210

9.6 上機題211

第10章 國際化和檔案上傳213

10.1 JSP頁面國際化213

10.1.1 載入全局資源檔案完成國際化213

10.1.2 臨時指定資源檔案完成國際化215

10.1.3 為資源檔案傳遞參數216

10.1.4 資源檔案載入順序217

10.2 Action國際化217

10.2.1 載入全局資源檔案完成國際化217

10.2.2 載入包範圍資源檔案完成國際化219

10.2.3 載入Action範圍資源檔案完成國際化219

10.2.4 資源檔案載入順序220

10.3 基於Struts 2完成檔案上傳225

10.3.1 下載並安裝Common-FileUpload框架225

10.3.2 配置上傳解析器226

10.3.3 實現檔案上傳控制器227

10.3.4 完成檔案上傳229

10.4 檔案上傳高級配置230

10.4.1 動態設定檔案上傳目錄230

10.4.2 限制上傳檔案大小和類型231

10.4.3 自定義上傳錯誤提示信息231

10.5 疑難解答238

10.6 上機題239

第11章 Struts 2標籤庫241

11.1 Struts 2標籤庫概述241

11.1.1 Struts 2標籤庫的組成241

11.1.3 Struts 2標籤庫的使用243

11.2 控制標籤243

11.2.1 if/elseif/else標籤244

11.2.2 iterator標籤245

11.2.3 append標籤247

11.2.4 merge標籤249

11.2.5 generator標籤250

11.2.6 subset標籤251

11.2.7 sort標籤252

11.3 數據標籤253

11.3.1 action標籤253

11.3.2 bean標籤255

11.3.3 date標籤256

11.3.4 debug標籤257

11.3.5 include標籤258

11.3.6 param標籤258

11.3.7 property標籤259

11.3.8 push標籤259

11.3.9 set標籤260

11.3.10 url標籤261

11.4 表單標籤262

11.4.1 簡單表單標籤262

11.4.2 checkboxlist標籤263

11.4.3 combobox標籤265

11.4.4 datetimepicker標籤265

11.4.5 doubleselect標籤266

11.5 疑難解答273

11.6 上機題274

第12章 編寫一個Hibernate程式277

12.1 Hibernate概述277

12.1.1 什麼是ORM277

12.1.2 為什麼要使用ORM278

12.1.3 使用Hibernate框架的優勢279

12.2 為項目添加Hibernate支持279

12.2.1 下載和安裝Hibernate279

12.2.2. MyEclipse對Hibernate 3的支持280

12.3 Hibernate開發入門281

12.3.1 開發Hibernate程式的基本步驟281

12.3.2 創建資料庫表282

12.3.3 創建Hibernate配置檔案282

12.3.4 創建會話工廠類283

12.3.5 創建實體類285

12.3.6 創建對象關係映射檔案286

12.3.7 完成插入數據287

12.4 疑難解答290

12.5 上機題290

第13章 Hibernate配置和會話291

13.1 配置Hibernate291

13.1.1 使用XML檔案配置Hibernate291

13.1.2 使用資源檔案配置Hibernate293

13.1.3 代碼動態配置Hibernate293

13.2 配置映射檔案294

13.2.1 <hibernate-mapping>元素295

13.2.2 <class>元素295

13.2.3 <id>元素296

13.2.4 元素298

13.2.5 其他元素299

13.3 使用Annotations配置映射300

13.3.1 使用@Entity注釋實體類300

13.3.2 使用@Table注釋實體類300

13.3.3 使用@Id注釋實體類標識301

13.3.4 使用@GenerateValue注釋覆蓋標識的默認訪問策略302

13.3.5 使用@GenericGenerator注釋生成標識生成器303

13.3.6 使用@Column注釋實體類非標識屬性303

13.3.7 自定義AnnotationSessionFactory類來獲得Session對象304

13.3.8 測試Annotations注釋是否成功完成映射305

13.4 會話(Session)的套用306

13.4.1 Hibernate對象狀態306

13.4.2 使用save方法持久化對象307

13.4.3 使用saveOrUpdate方法持久化對象308

13.4.4 使用load方法裝載對象308

13.4.5 使用get方法裝載對象310

13.4.6 使用refresh方法刷新對象310

13.4.7 使用setFlushMode方法設定更新模式311

13.4.8 使用isDirty方法判斷數據是否一致311

13.4.9 使用delete方法刪除記錄312

13.5 疑難解答318

13.6 上機題319

第14章 Hibernate高級映射 和數據檢索321

14.1 關聯關係映射321

14.1.1 多對一關係映射321

14.1.2 基於多對一關係映射的演示324

14.1.3 一對多關係映射326

14.1.4 基於一對多關係映射的演示327

14.1.5 一對一關係映射328

14.1.6 基於一對一關係映射的演示330

14.2 標準查詢API332

14.2.1 查詢所有記錄332

14.2.2 設定最大記錄數333

14.2.3 按條件查詢334

14.2.4 使用通配符完成模糊查詢334

14.2.5 使用MatchMode完成模糊查詢335

14.2.6 對查詢結果進行排序335

14.3 HQL基礎查詢336

14.3.1 使用HQL查詢所有記錄336

14.3.2 使用Select子句返回指定屬性信息337

14.3.3 使用as關鍵字給實體類起一個別名338

14.3.4 使用Where子句指定查詢條件339

14.3.5 指定查詢參數來完成查詢339

14.3.6 指定查詢起始位置和查詢最大記錄數340

14.4 HQL高級查詢341

14.4.1 使用HQL對查詢結果進行排序341

14.4.2 使用HQL對查詢結果進行分組341

14.4.4 使用HQL執行資料庫內置函式342

14.5 疑難解答348

14.6 上機題349

第15章 編寫一個Spring程式351

15.1 Spring概述351

15.1.1 為什麼使用Spring351

15.1.2 Spring技術介紹352

15.2 Spring開發環境的搭建352

15.2.1 手動搭建352

15.2.2 使用MyEclipse自動搭建353

15.3 開發Spring的HelloWorld程式354

15.3.1 開發Spring程式的步驟354

15.3.2 編寫業務接口354

15.3.3 編寫業務實現類355

15.3.4 配置業務實現類355

15.3.5 編寫客戶端程式進行測試356

15.4 疑難解答359

15.5 上機題359

第16章 控制反轉361

16.1 IoC容器361

16.1.1 Bean工廠接口361

16.1.2 實例化容器362

16.1.3 多配置檔案的使用363

16.1.4 配置Bean363

16.1.5 使用容器實例化Bean364

16.1.6 容器常用方法364

16.2 依賴注入365

16.2.1 Setter方法注入365

16.2.2 構造函式注入366

16.2.3 注入其他Bean368

16.2.4 內部Bean370

16.2.5 注入集合371

16.2.6 空字元串和null值的處理372

16.2.7 依賴注入的簡寫形式373

16.2.8 不完全依賴373

16.2.9 自動裝配373

16.3 Bean作用域374

16.3.1 Singleton作用域374

16.3.2 Prototype作用域375

16.3.3 Request作用域375

16.3.4 Session作用域376

16.3.5 global session作用域376

16.3.6 自定義作用域377

16.4 疑難解答380

16.5 上機題381

第17章 面向切面編程383

17.1 面向切面編程簡介383

17.1.1 面向切面編程概念383

17.1.2 面向切面編程的功能384

17.2 使用註解方式進行AOP開發384

17.2.1 啟動AspectJ的支持384

17.2.2 聲明切面384

17.2.3 聲明切入點384

17.2.4 聲明通知385

17.3 切入點388

17.3.1 切入點指定者388

17.3.2 合併切入點388

17.3.3 切入點表達式388

17.4 通知389

17.4.1 返回後通知389

17.4.2 出錯後通知390

17.4.3 後通知391

17.4.4 環繞通知391

17.4.5 通知順序392

17.5 使用配置方式進行AOP開發392

17.5.1 配置聲明切面392

17.5.2 配置聲明切入點393

17.5.3 配置聲明通知393

17.6 面向切面編程API介紹396

17.6.1 處理切入點396

17.6.2 處理通知397

17.6.3 使用AOP的工廠Bean398

17.7 在Spring中進行JDBC編程399

17.7.1 Spring中的資料庫操作封裝類399

17.7.2 數據源接口399

17.7.3 執行SQL語句400

17.7.4 更新資料庫操作401

17.7.5 查詢資料庫操作402

17.8 疑難解答403

17.9 上機題404

第18章 框架技術整合開發405

18.1 Struts 2和Hibernate整合開發405

18.1.1 整合策略405

18.1.2 資料庫層開發406

18.1.3 持久層開發406

18.1.3 數據訪問層開發407

18.1.4 業務邏輯層開發409

18.1.5 完成書籍的錄入411

18.1.6 完成所有圖書的顯示413

18.2 Struts 2和Spring整合開發415

18.2.1 整合策略415

18.2.2 安裝Spring外掛程式完成整合416

18.2.3 裝配數據訪問層416

18.2.4 裝配業務邏輯層416

18.2.5 裝配業務控制器417

18.3 Hibernate和Spring整合開發418

18.3.1 使用Spring管理數據源419

18.3.2 使用Spring管理SessionFactory419

18.3.3 使用HibernateTemplate類420

18.3.4 使用HibernateDaoSupport類420

18.3.5 使用編程式的事務管理422

18.3.6 使用Spring管理事務管理器422

18.3.7 為業務邏輯層注入事務管理器422

18.3.8 使用TransactionTemplate進行事務管理423

18.3.9 使用聲明式的事務管理424

18.3.10 使用TransactionProxyFactoryBean生成事務代理425

18.4 疑難解答426

18.5 上機題427

第19章 論壇系統429

19.1 系統分析429

19.1.1 需求分析429

19.1.2 功能分析429

19.2 系統設計430

19.2.1 繪製用例圖設計系統功能430

19.2.2 繪製系統流程圖432

19.3 資料庫分析與設計432

19.3.1 資料庫邏輯結構設計432

19.3.2 創建資料庫及數據表434

19.4 公共類設計435

19.4.1 分頁信息類435

19.4.2 分頁輔助類436

19.4.3 分頁結果類437

19.4.4 用戶實體類438

19.4.5 欄目實體類439

19.4.6 子欄目實體類439

19.4.7 主題實體類440

19.4.8 回復實體類441

19.5 用戶管理模組442

19.5.1 新增用戶442

19.5.2 瀏覽用戶446

19.5.3 刪除用戶448

19.6 欄目管理模組450

19.6.1 創建新欄目450

19.6.2 查看所有欄目453

19.6.3 刪除指定欄目455

19.7 子欄目管理模組457

19.7.1 在欄目下創建子欄目458

19.7.2 查詢欄目下所有子欄目461

19.7.3 刪除指定子欄目463

19.8 前台功能模組465

19.8.1 指向論壇首頁465

19.8.2 顯示子欄目中所有主題467

19.8.3 發表新主題470

19.8.4 瀏覽主題473

19.8.5 對主題進行回復476

第20章 新聞發布系統479

20.1 系統分析479

20.1.1 需求分析479

20.1.2 功能分析479

20.2 系統設計480

20.2.1 繪製用例圖設計系統功能480

20.2.2 繪製系統流程圖481

20.3 資料庫分析與設計482

20.3.1 資料庫邏輯結構設計482

20.3.2 創建資料庫及數據表483

20.4 公共類設計483

20.4.1 用戶實體類483

20.4.2 版面實體類484

20.4.3 新聞實體類485

20.5 系統用戶管理模組486

20.6 版面管理模組488

20.6.1 創建新版面489

20.6.2 查看系統中所有版面491

20.6.3 對已有版面進行編輯494

20.6.4 刪除指定版面497

20.7 新聞發布管理模組499

20.7.1 發布新聞499

20.7.2 瀏覽所有新聞502

20.7.3 刪除指定新聞504

20.8 前台功能模組506

20.8.1 指向系統首頁507

20.8.2 查看版面下所有新聞509

20.8.3 閱讀指定新聞511

附錄A 贈送項目案例515

01.1 需求分析515

01.2 功能分析515

01.3 資料庫分析與設計516

01.3.1 資料庫分析516

01.3.2 資料庫邏輯結構設計516

01.4 系統演示517

02.1 需求分析519

02.2 功能分析519

02.3 資料庫分析與設計520

02.3.1 資料庫分析520

02.3.2 資料庫邏輯結構設計520

02.4 系統演示521

03.1 需求分析526

03.2 功能分析526

03.3 資料庫分析與設計526

03.3.1 資料庫分析526

03.3.2 資料庫邏輯結構設計527

03.4 系統演示528

04.1 需求分析532

04.2 功能分析532

04.3 資料庫分析與設計532

04.3.1 資料庫分析532

04.3.2 資料庫邏輯結構設計533

04.4 系統演示534

05.1 需求分析538

05.2 功能分析538

05.3 資料庫分析與設計538

05.3.1 資料庫分析538

05.3.2 資料庫邏輯結構設計538

05.4 系統演示539

06.1 需求分析543

06.2 功能分析543

06.3 資料庫分析與設計543

06.3.1 資料庫分析543

06.3.2 資料庫邏輯結構設計544

06.4 系統演示545

07.1 需求分析550

07.2 功能分析551

07.3 資料庫分析與設計551

07.3.1 資料庫分析551

07.3.2 資料庫邏輯結構設計551

07.4 系統演示552

08.1 需求分析557

08.2 功能分析557

08.3 資料庫分析與設計557

08.3.1 資料庫分析557

08.3.2 資料庫邏輯結構設計558

08.4 系統演示558

09.1 需求分析563

09.2 功能分析564

09.3 資料庫分析與設計564

09.3.1 資料庫分析564

09.3.2 資料庫邏輯結構設計565

09.4 系統演示566

10.1 需求分析570

10.2 功能分析571

10.3 資料庫分析與設計571

10.3.1 資料庫分析571

10.3.2 資料庫邏輯結構設571

10.4 系統演示572

相關詞條

相關搜尋

熱門詞條

聯絡我們