注冊(cè) | 登錄讀書(shū)好,好讀書(shū),讀好書(shū)!
讀書(shū)網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書(shū)科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)網(wǎng)絡(luò)編程JSF第一步:JSF+Spring+Hibernate +AJAX編程實(shí)踐

JSF第一步:JSF+Spring+Hibernate +AJAX編程實(shí)踐

JSF第一步:JSF+Spring+Hibernate +AJAX編程實(shí)踐

定 價(jià):¥65.00

作 者: 羅會(huì)波 著
出版社: 清華大學(xué)出版社
叢編項(xiàng):
標(biāo) 簽: 算法語(yǔ)言

購(gòu)買這本書(shū)可以去


ISBN: 9787302159735 出版時(shí)間: 2007-10-01 包裝: 平裝
開(kāi)本: 16 頁(yè)數(shù): 552 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  JSF是表示層框架的標(biāo)準(zhǔn),Hibernate是一個(gè)比較完善的對(duì)象關(guān)系映射工具,Spring則提供了一個(gè)Web應(yīng)用的輕量級(jí)的解決方案。在開(kāi)發(fā)一個(gè)多層的Java EE應(yīng)用程序時(shí),這些框架可謂是相輔相成、相得益彰,可以稱得上是開(kāi)發(fā)輕量級(jí)Java EE應(yīng)用的三劍客。另外,AJAX是一種非常流行的改善用戶體驗(yàn)的技術(shù),但目前國(guó)內(nèi)外還沒(méi)有一本完整地介紹組合這三種框架及AJAX來(lái)開(kāi)發(fā)應(yīng)用程序的書(shū)籍,本書(shū)是在這方面的一個(gè)嘗試。本書(shū)詳盡地介紹了JSF的基本結(jié)構(gòu)和工作原理、標(biāo)簽、驗(yàn)證與轉(zhuǎn)換、事件處理、國(guó)際化編程及IoC;對(duì)象關(guān)系映射的概念、Hibernate的結(jié)構(gòu)及與JSF的集成;Spring的結(jié)構(gòu)、AOP、Spring與JSF和Hibernate的集成;常用IDE(Eclipse和MyEclipse)的使用方法等內(nèi)容。本書(shū)的特點(diǎn)主要是從編程實(shí)踐的角度來(lái)介紹這些框架的基本原理,以及用示例演示如何具體應(yīng)用這些框架來(lái)開(kāi)發(fā)一個(gè)Web應(yīng)用程序。在介紹各種框架時(shí),對(duì)涉及到的Web開(kāi)發(fā)中容易遇到的疑難問(wèn)題盡可能給出淺顯易懂的解釋,其目的是幫助想利用這些框架進(jìn)行開(kāi)發(fā)的人員盡快進(jìn)入實(shí)戰(zhàn)狀態(tài)。本書(shū)附光盤1張。

作者簡(jiǎn)介

  羅會(huì)波 高級(jí)工程師,IBM認(rèn)證DB2數(shù)據(jù)庫(kù)系統(tǒng)管理員。早年從事中學(xué)物理教學(xué)工作,后在億利達(dá)(Elite)集團(tuán)明泰R/D部(深圳)從事通信產(chǎn)品研發(fā)工作。1996年底進(jìn)入稅務(wù)系統(tǒng)從事信息化工作至今。在億利達(dá)工作期間開(kāi)始接觸匯編語(yǔ)言編程;在稅務(wù)系統(tǒng)主持或參與了“湖北省國(guó)稅局納稅大廳Web查詢系統(tǒng)”、“全國(guó)稅務(wù)征管軟件Ctais納稅人查詢系統(tǒng)”等數(shù)個(gè)省局及市局稅務(wù)信息化項(xiàng)目的開(kāi)發(fā)工作;參與了湖北省國(guó)稅局內(nèi)部教材《國(guó)稅系統(tǒng)辦公自動(dòng)化實(shí)用指南》一書(shū)的編撰工作;曾在《計(jì)算機(jī)世界》、《電腦愛(ài)好者》及《電腦編輯技巧與維護(hù)》等報(bào)刊雜志及賽迪風(fēng)上發(fā)表過(guò)包括《Struts原理與實(shí)踐》系列講座(該系列曾長(zhǎng)期占據(jù)賽迪網(wǎng)技術(shù)文章排行榜TOP10)在內(nèi)的多篇原創(chuàng)及翻譯的IT技術(shù)文章,文風(fēng)嚴(yán)謹(jǐn),又不失幽默,受到廣大讀者的一致好評(píng)。

圖書(shū)目錄

第1章 為什么要學(xué)習(xí)框架及學(xué)習(xí)什么樣的
框架 1
1.1 Java的發(fā)展與變化 1
1.1.1 版本與稱謂的變化 1
1.1.2 應(yīng)用程序開(kāi)發(fā)方式的變遷 1
1.2 兩種形式的多層結(jié)構(gòu)的J2EE應(yīng)用程序 2
1.2.1 胖客戶端J2EE應(yīng)用程序 2
1.2.2 Web應(yīng)用程序 3
1.3 Web應(yīng)用的兩種實(shí)現(xiàn)方式 4
1.3.1 傳統(tǒng)的重量級(jí)實(shí)現(xiàn)方式 5
1.3.1.1 運(yùn)行環(huán)境 5
1.3.1.2 EJB 5
1.3.1.3 其他特點(diǎn) 6
1.3.1.4 適應(yīng)的場(chǎng)合 6
1.3.2 方興未艾的輕量級(jí)實(shí)現(xiàn)方式 6
1.3.2.1 運(yùn)行環(huán)境 7
1.3.2.2 POJO 7
1.3.2.3 其他特點(diǎn) 7
1.3.2.4 適應(yīng)場(chǎng)合 7
1.4 風(fēng)云際會(huì)的框架世界 7
1.4.1 框架的出現(xiàn)與流行 8
1.4.2 大器晚成展新顏——JSF 8
1.4.3 層林深處好冬眠——Hibernate 9
1.4.4 七音合奏春光曲——Spring 9
1.5 為什么是JSF而不是Struts 9
1.5.1 比Struts更高的抽象 9
1.5.2 早先暴露的缺陷不斷被彌補(bǔ) 11
1.5.2.1 解決了與JSP集成中
的一些突出問(wèn)題 11
1.5.2.2 統(tǒng)一表達(dá)式語(yǔ)言與JSTL
迭代標(biāo)簽的支持 11
1.5.2.3 其他新的特征 12
1.5.3 與客戶端技術(shù)的完美結(jié)合 12
1.5.3.1 可以借助JavaScript改善用
戶體驗(yàn) 12
1.5.3.2 可與AJAX無(wú)縫集成 12
第2章 JSF與Web應(yīng)用程序 13
2.1 JSF的設(shè)計(jì)目標(biāo)及與Web應(yīng)用的關(guān)系 13
2.2 Web應(yīng)用程序概覽 13
2.2.1 基本的Web組件 13
2.2.2 Web部署描述器文件 13
2.2.3 Web應(yīng)用程序的物理結(jié)構(gòu) 14
2.3 Web應(yīng)用程序的開(kāi)發(fā)環(huán)境配置 14
2.3.1 Java 2 SDK的下載與安裝 14
2.3.2 Web容器的下載與安裝 15
2.3.3 環(huán)境變量的設(shè)置 16
2.3.4 其他準(zhǔn)備工作 16
2.4 Servlet 18
2.4.1 Servlet的基本概念 18
2.4.2 Servlet的體系結(jié)構(gòu) 18
2.4.3 你的第一個(gè)Servlet應(yīng)用程序——
Hello World 19
2.4.3.1 建立示例應(yīng)用目錄結(jié)構(gòu) 19
2.4.3.2 編寫Servlet類文件 19
2.4.3.3 編譯Servlet類文件 20
2.4.3.4 編寫部署描述器文件
web.xml 20
2.4.3.5 部署與運(yùn)行示例應(yīng)用 21
2.4.3.6 原理分析 22
2.4.4 Servlet的生命周期 22
2.4.4.1 初始化 23
2.4.4.2 處理請(qǐng)求 23
2.4.4.3 銷毀 24
2.4.5 Servlet的作用域?qū)ο?24
2.4.6 過(guò)濾請(qǐng)求與響應(yīng) 24
2.5 JSP 24
2.5.1 JSP如何表示靜態(tài)內(nèi)容 25
2.5.2 JSP如何表示動(dòng)態(tài)內(nèi)容 25
2.5.3 JSP的注釋 25
2.5.3.1 HTML注釋 26
2.5.3.2 JSP注釋 26
2.5.4 JSP示例 26
2.5.4.1 建立應(yīng)用程序目錄 26
2.5.4.2 編寫JSP示例代碼 26
2.5.4.3 部署和運(yùn)行JSP 26
2.5.5 JSP與Servlet的關(guān)系 27
2.5.5.1 JSP轉(zhuǎn)換為Servlet后執(zhí)行 27
2.5.5.2 JSP轉(zhuǎn)化后的Servlet的
簡(jiǎn)要分析 27
2.5.5.3 JSP為Servlet提供了模板
機(jī)制 29
2.5.6 JSP的元素 29
2.5.6.1 指令 29
2.5.6.2 動(dòng)作 30
2.5.6.3 腳本元素 30
2.5.7 JSP的標(biāo)簽庫(kù) 32
2.5.7.1 標(biāo)簽庫(kù)的組成 32
2.5.7.2 自定義標(biāo)簽庫(kù) 33
2.5.7.3 JSP標(biāo)準(zhǔn)標(biāo)簽庫(kù) 35
2.5.8 JSP的內(nèi)建對(duì)象 35
2.5.8.1 out 36
2.5.8.2 request 37
2.5.8.3 session 39
2.5.8.4 application 41
2.5.8.5 config 41
2.5.8.6 pageContext 41
2.5.8.7 page 41
2.5.8.8 response 41
2.5.8.9 exception 41
2.5.9 JSP中的異常處理 42
2.5.10 Web組件間的關(guān)聯(lián)關(guān)系 42
2.5.10.1 包含 42
2.5.10.2 請(qǐng)求轉(zhuǎn)發(fā) 43
2.5.10.3 重定向 45
2.5.11 JavaBean 45
2.5.11.1 JavaBean的概念 45
2.5.11.2 為什么要引入JavaBean 46
2.5.11.3 JavaBean的編碼約定 46
2.5.11.4 一個(gè)簡(jiǎn)單的JavaBean 48
2.5.11.5 在JSP中使用JavaBean 50
2.5.12 JavaBean在JSP中的有效范圍 50
2.5.12.1 演示Page范圍的Bean 50
2.5.12.2 演示Request范圍的Bean 52
2.5.12.3 演示Session范圍的Bean 53
2.5.12.4 演示Application范圍的
Bean 54
2.6 早期框架Struts 55
2.6.1 應(yīng)用程序的分層 55
2.6.2 表單的處理與驗(yàn)證 55
2.6.3 類型轉(zhuǎn)換 56
2.6.4 導(dǎo)航 56
2.6.5 資源管理 56
2.6.6 國(guó)際化編程 56
2.6.7 異常處理的加強(qiáng) 56
2.6.8 模板的重用管理與布局 57
2.7 JSF 57
2.7.1 具有早期框架的一些特性 57
2.7.2 有狀態(tài)的用戶界面組件模型 57
2.7.3 用戶界面事件的服務(wù)器端的處理 58
2.7.4 自動(dòng)生成各種標(biāo)志語(yǔ)言 58
2.7.5 與業(yè)務(wù)對(duì)象的聲明式集成 58
第3章 JSF應(yīng)用程序開(kāi)發(fā)入門 59
3.1 JSF開(kāi)發(fā)環(huán)境的配置 59
3.1.1 JSF參考實(shí)現(xiàn)的下載與安裝 59
3.1.2 ANT的下載與安裝 60
3.1.3 環(huán)境變量的設(shè)置 60
3.2 開(kāi)發(fā)您的第一個(gè)JSF應(yīng)用程序 60
3.2.1 Hello World應(yīng)用程序的需求分析 61
3.2.2 應(yīng)用程序的目錄結(jié)構(gòu) 61
3.2.3 應(yīng)用程序的頁(yè)面文件 61
3.2.3.1 index.jsp 61
3.2.3.2 hello.jsp 62
3.2.3.3 howDoYouDo.jsp 65
3.2.3.4 howAreYou.jsp 66
3.2.4 應(yīng)用程序的Backing Bean 66
3.2.4.1 Backing Bean及其作用 66
3.2.4.2 示例中的Backing Bean
類文件 67
3.2.4.3 Backing Bean的特點(diǎn) 69
3.2.5 JSF的配置文件faces-config.xml 69
3.2.5.1 示例應(yīng)用的導(dǎo)航規(guī)則 70
3.5.5.2 示例應(yīng)用的托管JavaBean
配置 71
3.2.6 應(yīng)用程序的配置文件web.xml 71
3.2.7 手工編譯應(yīng)用程序 72
3.2.8 應(yīng)用程序上下文 73
3.2.9 建立應(yīng)用程序上下文及部署應(yīng)用
程序 73
3.2.9.1 直接修改Tomcat的配置
文件server.xml 73
3.2.9.2 使用Tomcat頁(yè)面形式的
管理工具 73
3.2.10 運(yùn)行應(yīng)用程序 74
3.3 用ANT工具構(gòu)建應(yīng)用程序 75
3.3.1 ANT工具簡(jiǎn)介 75
3.3.2 創(chuàng)建build.xml文件 76
3.3.2.1 設(shè)置屬性 76
3.3.2.2 設(shè)置classpath 77
3.3.2.3 定義clean目標(biāo) 77
3.3.2.4 定義prepare目標(biāo) 77
3.3.2.5 定義deploy.copyJars目標(biāo) 77
3.2.2.6 定義build目標(biāo) 78
3.3.2.7 定義build.war目標(biāo) 79
3.3.2.8 定義deploy目標(biāo) 79
3.3.3 用ANT工具自動(dòng)構(gòu)建和部署應(yīng)用
程序 79
第4章 JSF中的請(qǐng)求處理 80
4.1 JSF處理請(qǐng)求的基本過(guò)程 80
4.1.1 將請(qǐng)求映射到FacesServlet 80
4.1.2 FacesServlet類 80
4.1.3 獲得配置Servlet的配置信息 81
4.1.4 初始化時(shí)獲得Faces上下文工廠和
生命周期實(shí)例 81
4.1.5 FacesServlet對(duì)請(qǐng)求的處理過(guò)程 81
4.1.5.1 獲得Faces上下文并用它
處理當(dāng)前請(qǐng)求 82
4.1.5.2 調(diào)用請(qǐng)求處理生命周期的
execute()方法 82
4.1.5.3 調(diào)用請(qǐng)求處理生命周期的
render()方法 82
4.1.5.4 釋放Faces上下文對(duì)象 83
4.1.5.5 與普通Servlet對(duì)請(qǐng)求處理
的比較 83
4.1.6 處理完成后的資源釋放 83
4.2 Faces上下文 83
4.2.1 Faces上下文簡(jiǎn)介 83
4.2.2 Faces上下文的主要方法 84
4.2.2.1 獲取應(yīng)用程序?qū)嵗?84
4.2.2.2 獲取外部上下文 84
4.2.2.3 獲取與設(shè)置視圖根 85
4.2.2.4 處理消息隊(duì)列 85
4.2.2.5 獲取呈現(xiàn)器工具包 86
4.2.2.6 流程控制方法 86
4.2.2.7 獲取表達(dá)式語(yǔ)言上下文 87
4.2.2.8 響應(yīng) 88
4.2.2.9 獲取Faces上下文的當(dāng)前
實(shí)例 88
4.3 請(qǐng)求處理的生命周期 88
4.3.1 獲得生命周期對(duì)象 88
4.3.2 生命周期的場(chǎng)景 89
4.3.2.1 非Faces請(qǐng)求生成Faces
響應(yīng) 89
4.3.2.2 Faces請(qǐng)求生成非Faces
響應(yīng) 90
4.3.2.3 Faces請(qǐng)求生成Faces響應(yīng) 90
4.3.3 標(biāo)準(zhǔn)的JSF請(qǐng)求處理生命周期 90
4.3.3.1 重建視圖 92
4.3.3.2 應(yīng)用請(qǐng)求值 93
4.3.3.3 處理驗(yàn)證 94
4.3.3.4 更新模型值 95
4.3.3.5 調(diào)用應(yīng)用程序 95
4.3.3.6 呈現(xiàn)響應(yīng) 95
4.4 Application及相關(guān)的類 96
4.4.1 Application簡(jiǎn)介 96
4.4.2 Application的主要屬性 97
4.4.2.1 動(dòng)作監(jiān)聽(tīng)器 97
4.4.2.2 導(dǎo)航處理器 98
4.4.2.3 視圖處理器 98
4.4.2.4 缺省呈現(xiàn)包標(biāo)識(shí) 98
4.4.2.5 狀態(tài)管理器 98
4.4.2.6 表達(dá)式語(yǔ)言解析器 98
4.4.3 Application動(dòng)作 98
4.4.4 Application作為組件工廠 99
4.4.5 Application支持國(guó)際化編程的方法 99
第5章 JSF的體系結(jié)構(gòu) 101
5.1 MVC架構(gòu)模式 101
5.1.1 耦合與解耦 101
5.1.2 MVC架構(gòu)模式 102
5.1.3 Web應(yīng)用中的MVC--Model2 104
5.2 MVC架構(gòu)模式的實(shí)現(xiàn)策略 105
5.2.1 Struts的實(shí)現(xiàn)策略 105
5.2.2 JSF的實(shí)現(xiàn)策略 105
5.2.2.1 JSF的控制器部分 106
5.2.2.2 JSF的視圖部分 107
5.2.2.3 JSF的模型部分 107
5.3 JSF的主要組成部分 108
5.3.1 JSF主要組成部分及其關(guān)系 108
5.3.1.1 組成部分概覽 108
5.3.1.2 各部分之間的關(guān)系 109
5.3.2 用戶界面組件 109
5.3.2.1 對(duì)組件的直觀認(rèn)識(shí) 109
5.3.2.2 JSF的組件模型 109
5.3.2.3 組件模型中的接口 110
5.3.2.4 組件模型中的類 111
5.3.2.5 組件的作用 112
5.3.2.6 組件的屬性 112
5.3.2.7 組件在服務(wù)器和客戶端的
表現(xiàn)形式 113
5.3.2.8 組件的標(biāo)識(shí) 114
5.3.2.9 通過(guò)標(biāo)識(shí)引用組件 115
5.3.2.10 組件是有狀態(tài)的 116
5.3.2.11 標(biāo)準(zhǔn)組件與自定義組件 116
5.3.3 呈現(xiàn)器 116
5.3.4 Backing Bean 117
5.3.5 事件與事件監(jiān)聽(tīng)器 118
5.3.6 導(dǎo)航系統(tǒng) 119
5.3.7 類型轉(zhuǎn)換器 120
5.3.8 驗(yàn)證器 120
5.3.9 消息 120
第6章 標(biāo)準(zhǔn)用戶界面組件 122
6.1 標(biāo)準(zhǔn)組件概述 122
6.1.1 組件的類型 122
6.1.2 組件的家族 122
6.1.3 組件的呈現(xiàn)器類型 123
6.2 JSF的呈現(xiàn)模型 123
6.2.1 直接實(shí)現(xiàn)方式 123
6.2.2 委托實(shí)現(xiàn)方式 123
6.2.3 呈現(xiàn)包工廠 124
6.2.4 呈現(xiàn)包 124
6.2.5 呈現(xiàn)器 125
6.3 JSF實(shí)現(xiàn)的缺省呈現(xiàn)器類型與標(biāo)準(zhǔn)組件
HTML具體類的關(guān)系 126
6.4 組件在JSP頁(yè)面上的表示 127
6.4.1 在JSP頁(yè)面中使用用戶界面組件的
定制動(dòng)作 128
6.4.2 核心標(biāo)簽庫(kù) 128
6.4.3 HTML標(biāo)簽庫(kù) 128
6.4.4 組件的HTML屬性 130
6.5 標(biāo)準(zhǔn)組件數(shù)據(jù)模型 130
6.5.1 標(biāo)準(zhǔn)組件與呈現(xiàn)無(wú)關(guān)的屬性 130
6.5.2 標(biāo)準(zhǔn)組件模型Bean 131
6.5.2.1 SelectItem 131
6.5.2.2 SelectItemGroup 131
6.5.2.3 DataModel 131
6.6 標(biāo)準(zhǔn)組件及使用方法 132
6.6.1 用UIViewRoot控制頁(yè)面 132
6.6.1.1 UIViewRoot簡(jiǎn)介 132
6.6.1.2 在JSP頁(yè)面上
的應(yīng)用 133
6.6.1.3 的使用 134
6.6.2 用UIForm處理表單 136
6.6.3 用UIParameter傳遞參數(shù) 137
6.6.4 用Facet制作表頭、表腳及列頭 137
6.6.5 用UIInput處理輸入 138
6.6.5.1 用HtmlInputText輸入單行
文本 139
6.6.5.2 用HtmlInputSecret輸入
密碼 139
6.6.5.3 用HtmlInputTextarea輸入
多行文本 139
6.6.5.4 用HtmlInputHidden
作為隱含字段 140
6.6.6 用UIOutput處理輸出 140
6.6.6.1 用HtmlOutputText
輸出簡(jiǎn)單文本 140
6.6.6.2 用HtmlOutputFormat
輸出格式化文本 141
6.6.6.3 用HtmlOutputLabel作為
組件的標(biāo)注 142
6.6.6.4 用HtmlOutputLink作為
超鏈接 142
6.6.7 用UISelectItem提供單個(gè)選項(xiàng) 142
6.6.8 用UISelectItems提供多個(gè)選項(xiàng) 143
6.6.9 用UISelectBoolean表示邏輯選項(xiàng) 143
6.6.10 用UISelectOne作為單選組件 144
6.6.10.1 單選列表框
HtmlSelectOneListbox 144
6.6.10.2 單選下拉菜單
HtmlSelectOneMenu 144
6.6.10.3 單選鈕HtmlSelect-
OneRadio 144
6.6.11 用UISelectMany作為復(fù)選組件 145
6.6.11.1 復(fù)選列表框
HtmlSelectManyListbox 145
6.6.11.2 復(fù)選下拉菜單
HtmlSelectManyMenu 145
6.6.11.3 復(fù)選鈕
HtmlSelectManyCheckbox 145
6.6.12 用UICommand調(diào)用應(yīng)用程序 146
6.6.12.1 命令按鈕HtmlCommand
Button 146
6.6.12.2 命令超鏈接
HtmlCommandLink 146
6.6.13 用UIMessage顯示特定組件的
消息 147
6.6.14 用UIMessages顯示多條消息 147
6.6.15 用UIGraphic顯示圖片 148
6.6.16 用UIPanel分組與布局組件 148
6.6.16.1 用HtmlPanelGroup分組
組件 148
6.6.16.2 用HtmlPanelGrid布局
組件 148
6.6.17 用UIColumn表示數(shù)據(jù)列 149
6.6.18 用UIData顯示數(shù)據(jù)集中的數(shù)據(jù) 149
6.6.19 到哪里獲得組件更詳細(xì)的信息 150
第7章 表達(dá)式語(yǔ)言與托管Bean 151
7.1 表達(dá)式語(yǔ)言的出現(xiàn) 151
7.1.1 統(tǒng)一表達(dá)式語(yǔ)言出現(xiàn)的背景 151
7.1.1.1 JSP的表達(dá)式語(yǔ)言 151
7.1.1.2 JSF自己的表達(dá)式語(yǔ)言 152
7.1.1.3 JSP與JSF表達(dá)式語(yǔ)言的
沖突 153
7.1.2 統(tǒng)一表達(dá)式語(yǔ)言 153
7.1.2.1 值表達(dá)式 153
7.1.2.2 方法表達(dá)式 154
7.1.2.3 解決原來(lái)的JSP與JSF
表達(dá)式的沖突問(wèn)題 154
7.2 托管Bean 155
7.2.1 托管Bean創(chuàng)建工具與托管Bean 155
7.2.2 托管Bean的配置 155
7.2.2.1 基本的配置元素 156
7.2.2.2 配置托管Bean的屬性 156
7.2.2.3 托管Bean屬性的初始化與
JSF的IoC 157
7.2.3 List配置為托管Bean 158
7.2.4 Map配置為托管Bean 158
7.3 托管 Bean的有效范圍 159
7.3.1 請(qǐng)求范圍 159
7.3.2 會(huì)話范圍 160
7.3.3 應(yīng)用程序范圍 160
7.3.4 NONE范圍 160
7.3.5 不同范圍間的托管Bean的引用 161
第8章 JSF中的導(dǎo)航 163
8.1 JSF導(dǎo)航概述 163
8.1.1 應(yīng)用程序動(dòng)作與導(dǎo)航 163
8.1.2 導(dǎo)航處理器的行為是可以配置的 163
8.2 JSF支持的導(dǎo)航形式 164
8.2.1 動(dòng)態(tài)導(dǎo)航 164
8.2.1.1 何為動(dòng)態(tài)導(dǎo)航 164
8.2.1.2 簡(jiǎn)單動(dòng)態(tài)導(dǎo)航示例回顧 164
8.2.2 靜態(tài)導(dǎo)航 165
8.2.2.1 何為靜態(tài)導(dǎo)航 165
8.2.2.2 靜態(tài)導(dǎo)航示例 165
8.3 導(dǎo)航規(guī)則 167
8.3.1 導(dǎo)航規(guī)則需要配置的元素 167
8.3.2 導(dǎo)航規(guī)則的匹配算法 167
8.3.3 復(fù)雜導(dǎo)航規(guī)則的配置示例 168
8.4 動(dòng)作事件監(jiān)聽(tīng)器方法對(duì)導(dǎo)航的影響 169
8.4.1 動(dòng)作事件監(jiān)聽(tīng)器方法間接影響
導(dǎo)航 169
8.4.2 動(dòng)作事件監(jiān)聽(tīng)器方法對(duì)導(dǎo)航
影響的示例 169
8.4.2.1 導(dǎo)航出發(fā)頁(yè)面 169
8.4.2.2 包含動(dòng)作事件監(jiān)聽(tīng)器方法和
動(dòng)作方法的Backing Bean 170
8.4.2.3 導(dǎo)航目的地頁(yè)面 171
8.4.2.4 配置導(dǎo)航規(guī)則 172
8.4.2.5 部署和運(yùn)行示例應(yīng)用程序 172
第9章 JSF與應(yīng)用程序模型層的集成 174
9.1 JSF作為表現(xiàn)層框架 174
9.1.1 JSF結(jié)構(gòu)回顧 174
9.1.2 Backing Bean扮演的角色 174
9.1.3 編寫B(tài)acking Bean代碼時(shí)的
不良實(shí)踐 174
9.2 登錄示例應(yīng)用程序 175
9.2.1 示例登錄應(yīng)用的需求分析 175
9.2.2 登錄示例應(yīng)用的界面 175
9.2.3 目錄結(jié)構(gòu) 176
9.2.4 業(yè)務(wù)服務(wù)接口 176
9.2.5 業(yè)務(wù)服務(wù)實(shí)現(xiàn) 176
9.2.6 示例應(yīng)用的Backing Bean 178
9.2.7 示例中的頁(yè)面文件 179
9.2.8 在Faces配置文件中配置導(dǎo)航
規(guī)則 180
9.2.9 在Faces配置文件中配置托管
Bean 180
9.2.10 部署和運(yùn)行示例應(yīng)用 181
9.3 JSF中的控制反轉(zhuǎn)(IoC) 182
9.3.1 登錄示例應(yīng)用的不足 182
9.3.2 控制反轉(zhuǎn)(IoC)及依賴注入
(DI) 182
9.3.2.1 控制反轉(zhuǎn)及依賴注入簡(jiǎn)介 182
9.3.2.2 依賴注入的形式 183
9.4 在JSF應(yīng)用程序中使用依賴注入 185
9.4.1 在Backing Bean使用type2型
依賴注入 185
9.4.2 在Faces配置文件中配置依賴關(guān)系 186
9.4.3 部署和運(yùn)行示例應(yīng)用 187
第10章 JSF的事件處理 188
10.1 JSF事件及事件監(jiān)聽(tīng)器模型 188
10.1.1 事件類 188
10.1.2 監(jiān)聽(tīng)器類 189
10.1.3 事件廣播及處理 189
10.2 JSF中的事件分類 190
10.2.1 值改變事件 190
10.2.2 動(dòng)作事件 190
10.2.3 階段事件 190
10.3 事件處理示例 190
10.3.1 值改變事件的處理示例 190
10.3.1.1 示例應(yīng)用的頁(yè)面文件 191
10.3.1.2 在Backing Bean中編寫處理
值改變事件方法 192
10.3.1.3 在Faces配置文件中配置
Backing Bean 192
10.3.1.4 部署和運(yùn)行 192
10.3.1.5 用專門的監(jiān)聽(tīng)器來(lái)處理值改
變事件 193
10.3.2 動(dòng)作事件的處理示例 194
10.3.2.1 在頁(yè)面中使用命令超鏈接 194
10.3.2.2 在Backing Bean中編寫事
件處理方法 195
10.3.2.3 部署和運(yùn)行示例應(yīng)用 196
10.3.3 Immediate組件使用示例 197
10.3.3.1 在頁(yè)面上使用Immediate
組件 197
10.3.3.2 在Backing Bean中編寫
事件監(jiān)聽(tīng)器方法 199
10.3.3.3 觀察示例應(yīng)用的運(yùn)行效果 199
第11章 JSF中的轉(zhuǎn)換 201
11.1 JSF的轉(zhuǎn)換模型 201
11.1.1 什么是JSF中的轉(zhuǎn)換 201
11.1.2 JSF中為什么需要轉(zhuǎn)換 201
11.1.3 JSF中何時(shí)發(fā)生轉(zhuǎn)換 202
11.1.4 JSF的轉(zhuǎn)換器接口 202
11.2 使用JSF的標(biāo)準(zhǔn)轉(zhuǎn)換器 203
11.2.1 JSF的標(biāo)準(zhǔn)轉(zhuǎn)換器 203
11.2.2 使用標(biāo)準(zhǔn)轉(zhuǎn)換器的一般方式 203
11.3 自動(dòng)轉(zhuǎn)換方式示例 204
11.3.1 在注冊(cè)頁(yè)面增加一個(gè)表示年齡
的文本輸入框 204
11.3.2 在注冊(cè)成功的頁(yè)面上顯示年齡 204
11.3.3 Backing Bean年齡屬性的數(shù)據(jù)
類型為int 204
11.3.4 示例應(yīng)用的業(yè)務(wù)數(shù)據(jù)對(duì)象 205
11.3.5 示例應(yīng)用中的自定義異常 206
11.3.6 示例應(yīng)用的業(yè)務(wù)服務(wù) 206
11.3.7 示例應(yīng)用的Faces配置 206
11.3.8 自動(dòng)轉(zhuǎn)換的效果 207
11.3.8.1 自動(dòng)轉(zhuǎn)換失敗的效果 207
11.3.8.2 自動(dòng)轉(zhuǎn)換成功的效果 207
11.4 使用組件標(biāo)簽的屬性 208
11.5 使用轉(zhuǎn)換器標(biāo)簽 208
11.6 Java中的日期與時(shí)間 209
11.6.1 Java中的Date類 209
11.6.2 Calendar類 210
11.6.3 GregorianCalendar類 210
11.6.4 日期、時(shí)間的格式化 211
11.6.5 訪問(wèn)數(shù)據(jù)庫(kù)時(shí)使用的日期類 211
11.7 日期時(shí)間轉(zhuǎn)換器示例 212
11.7.1 建立示例應(yīng)用的目錄結(jié)構(gòu) 212
11.7.2 新建一個(gè)可以輸入日期的頁(yè)面 213
11.7.3 在頁(yè)面上使用顯示日期的組件 213
11.7.4 Backing Bean中的日期型屬性 213
11.7.5 業(yè)務(wù)對(duì)象中的日期屬性 214
11.7.6 業(yè)務(wù)服務(wù)接口中的日期型參數(shù) 215
11.7.7 在業(yè)務(wù)服務(wù)實(shí)現(xiàn)中處理日期型
數(shù)據(jù) 215
11.7.8 更改示例應(yīng)用的Faces配置 216
11.7.9 日期轉(zhuǎn)換的效果 217
11.8 數(shù)字轉(zhuǎn)換器 218
11.9 使用自定義轉(zhuǎn)換器 218
11.9.1 創(chuàng)建自定義轉(zhuǎn)換器 218
11.9.2 注冊(cè)自定義轉(zhuǎn)換器 220
11.10 自定義的轉(zhuǎn)換器示例 220
11.10.1 建立示例應(yīng)用的目錄結(jié)構(gòu) 220
11.10.2 示例應(yīng)用的Backing Bean 220
11.10.3 新建自定義格式的業(yè)務(wù)對(duì)象 222
11.10.4 修改原業(yè)務(wù)對(duì)象 223
11.10.5 在業(yè)務(wù)服務(wù)接口的方法中
加入新參數(shù) 223
11.10.6 更改業(yè)務(wù)服務(wù)實(shí)現(xiàn)類 224
11.10.7 在Faces中配置自定義轉(zhuǎn)換器 225
11.10.8 在用戶注冊(cè)頁(yè)面上使用自定義
轉(zhuǎn)換器 225
11.10.9 在注冊(cè)成功頁(yè)面上使用自定義
轉(zhuǎn)換器 226
11.10.10 檢驗(yàn)自定義轉(zhuǎn)換器的使用
效果 226
第12章 JSF中的驗(yàn)證 227
12.1 JSF的驗(yàn)證模型 227
12.1.1 驗(yàn)證器類 227
12.1.2 驗(yàn)證器的注冊(cè) 227
12.1.3 驗(yàn)證處理過(guò)程 228
12.1.4 標(biāo)準(zhǔn)驗(yàn)證器實(shí)現(xiàn) 228
12.2 使用標(biāo)準(zhǔn)驗(yàn)證器示例 229
12.2.1 建立示例應(yīng)用目錄結(jié)構(gòu) 229
12.2.2 在頁(yè)面中使用標(biāo)準(zhǔn)驗(yàn)證器 229
12.2.3 部署和運(yùn)行應(yīng)用程序 230
12.3 正則表達(dá)式簡(jiǎn)介 231
12.4 使用自定義驗(yàn)證器示例 233
12.4.1 建立示例應(yīng)用目錄 233
12.4.2 創(chuàng)建自定義驗(yàn)證器類 234
12.4.3 在Faces配置文件中注冊(cè)驗(yàn)證器 235
12.4.4 在頁(yè)面中使用自定義驗(yàn)證器 235
12.4.5 自定義驗(yàn)證器的使用效果 235
12.5 使用Backing Bean的驗(yàn)證方法 237
12.5.1 建立示例應(yīng)用目錄結(jié)構(gòu) 237
12.5.2 在Backing Bean中編寫驗(yàn)證
方法 237
12.5.3 在Faces配置中刪除自定義驗(yàn)
證器 238
12.5.4 在頁(yè)面中引用驗(yàn)證方法 238
12.5.5 運(yùn)行應(yīng)用程序查看驗(yàn)證效果 239
第13章 JSF的國(guó)際化編程 240
13.1 問(wèn)題的由來(lái) 240
13.2 字符集的基礎(chǔ)知識(shí) 240
13.2.1 計(jì)算機(jī)表示字符的方式與字
符集 240
13.2.2 字符集的發(fā)展 241
13.2.3 UTF-8字符集 242
13.3 Java及Web中的編碼 243
13.3.1 Java中的編碼 243
13.3.2 Web中的編碼 243
13.4 中文亂碼的幾種表現(xiàn)形式及成因淺析 244
13.4.1 字符變問(wèn)號(hào) 244
13.4.2 部分漢字是亂碼 247
13.4.3 顯示亂碼(有些是漢字但并
不是你預(yù)期的) 248
13.4.4 讀寫數(shù)據(jù)庫(kù)時(shí)出現(xiàn)亂碼 250
13.5 JSF國(guó)際化編程的思路 250
13.6 JSF國(guó)際化編程的實(shí)現(xiàn) 251
13.6.1 支持國(guó)際化編程的應(yīng)用的基本
特征 251
13.6.2 Java平臺(tái)的本地化類 251
13.6.3 資源束 252
13.6.4 日期與數(shù)字的格式化 253
13.7 登錄示例程序的國(guó)際化與本地化 254
13.7.1 收集區(qū)域敏感數(shù)據(jù) 255
13.7.2 制作缺省資源文件 255
13.7.3 改編頁(yè)面文件 256
13.7.4 編寫和配置Servlet過(guò)濾器 258
13.7.5 構(gòu)建和運(yùn)行應(yīng)用程序 259
13.7.6 編寫中文資源文件 259
13.7.7 檢驗(yàn)應(yīng)用程序的運(yùn)行效果 260
13.8 圖片的國(guó)際化 261
13.8.1 在項(xiàng)目中建立存放圖片的目錄 262
13.8.2 制作對(duì)應(yīng)各種不同語(yǔ)言的圖片 262
13.8.3 在頁(yè)面文件上添加圖片 262
13.8.4 在資源束文件中加上對(duì)應(yīng)圖片
鍵-值對(duì) 263
13.8.5 在build.xml中添加拷貝圖片的
內(nèi)容 263
13.8.6 觀察應(yīng)用程序的運(yùn)行結(jié)果 264
13.9 異常消息的國(guó)際化 264
13.9.1 異常消息的種類 265
13.9.2 標(biāo)準(zhǔn)異常消息 265
13.9.3 自定義異常消息的處理過(guò)程 266
13.10 異常消息國(guó)際化示例 266
13.10.1 在資源文件中加上消息的
鍵-值對(duì) 266
13.10.2 創(chuàng)建消息工廠 267
13.10.3 業(yè)務(wù)模型中的消息處理方式 267
13.10.4 Backing Bean中的消息處理
方式 267
13.10.5 示例應(yīng)用的運(yùn)行效果 269
13.11 日期的國(guó)際化示例 269
13.11.1 示例應(yīng)用要實(shí)現(xiàn)的效果 269
13.11.2 建立示例應(yīng)用的目錄結(jié)構(gòu) 269
13.11.3 修改頁(yè)面文件 270
13.11.4 準(zhǔn)備資源文件 270
13.11.5 修改業(yè)務(wù)對(duì)象 271
13.11.6 修改業(yè)務(wù)模型中的類文件 271
13.11.7 修改Backing Bean 272
13.11.8 國(guó)際化編程后的效果檢驗(yàn) 274
第14章 JSF與Tiles框架的集成 275
14.1 頁(yè)面布局的幾種可選方案 275
14.1.1 使用JSP指令的方法 275
14.1.2 使用JSP標(biāo)簽 279
14.1.3 使用Tiles框架 279
14.2 Tiles框架簡(jiǎn)介 280
14.3 用Tiles布局頁(yè)面的示例 280
14.3.1 建立示例應(yīng)用的目錄結(jié)構(gòu) 280
14.3.2 下載和安裝與Tiles有關(guān)的庫(kù)
文件 280
14.3.3 編寫tiles的配置文件 281
14.3.4 在web.xml文件中配置tiles 281
14.3.5 編寫布局模板文件 282
14.3.6 編寫布局的各組成部分的頁(yè)面
文件 283
14.3.7 編寫應(yīng)用模板的頁(yè)面文件 284
14.3.8 示例應(yīng)用的運(yùn)行效果 284
14.4 用Tiles布局Frame頁(yè)面 285
14.4.1 Frame頁(yè)面的基礎(chǔ)知識(shí) 285
14.4.2 一個(gè)簡(jiǎn)單的Frame頁(yè)面例子 286
14.4.3 讓Frame頁(yè)面居中顯示 288
14.5 用Tiles布局Frame頁(yè)面的示例 289
14.5.1 建立示例應(yīng)用的目錄結(jié)構(gòu) 289
14.5.2 新建圖片文件 289
14.5.3 更改tiles配置 289
14.5.4 新建frame布局模板頁(yè)面 289
14.5.5 新建用于導(dǎo)航的菜單頁(yè)面 290
14.5.6 新建帶frame的頁(yè)面 291
14.5.7 應(yīng)用程序的運(yùn)行效果 291
第15章 JSF訪問(wèn)數(shù)據(jù)庫(kù) 293
15.1 MS SQL Server數(shù)據(jù)庫(kù)的安裝 293
15.1.1 SQL Server數(shù)據(jù)庫(kù)的安裝過(guò)程 293
15.1.2 數(shù)據(jù)庫(kù)補(bǔ)丁包的安裝 296
15.2 JDBC簡(jiǎn)介 297
15.2.1 JDBC的發(fā)展歷程 297
15.2.2 JDBC的結(jié)構(gòu)和工作原理 298
15.2.3 JDBC驅(qū)動(dòng)器 300
15.2.4 JDBC的使用場(chǎng)景 300
15.2.5 兩層模式 300
15.2.6 三層模式 301
15.2.6.1 客戶層 301
15.2.6.2 中間層 301
15.2.6.3 數(shù)據(jù)源層 302
15.3 數(shù)據(jù)訪問(wèn)對(duì)象模式簡(jiǎn)介 302
15.4 讓登錄程序訪問(wèn)數(shù)據(jù)庫(kù)中用戶信息 302
15.4.1 建立數(shù)據(jù)庫(kù) 302
15.4.2 建立數(shù)據(jù)庫(kù)表 303
15.4.3 在表中輸入實(shí)驗(yàn)用的數(shù)據(jù) 304
15.4.4 下載和安裝JDBC驅(qū)動(dòng)程序 304
15.4.5 建立應(yīng)用程序的目錄結(jié)構(gòu) 305
15.4.6 增加應(yīng)用程序訪問(wèn)數(shù)據(jù)庫(kù)的
部分 305
15.4.7 修改應(yīng)用程序的業(yè)務(wù)邏輯部分 307
15.4.8 修改backing bean使其使用
新的service 308
15.4.9 創(chuàng)建與數(shù)據(jù)訪問(wèn)相關(guān)的自定義
異常類 309
15.4.10 修改資源文件,添加新的
鍵-值對(duì) 311
15.4.11 配置應(yīng)用程序 311
15.4.12 運(yùn)行應(yīng)用程序 313
第16章 應(yīng)用程序中的異常處理 315
16.1 Java異常的分類 315
16.2 Java處理異常的一般方法 317
16.3 創(chuàng)建自己的異常子類 320
16.4 成鏈異常 321
16.5 JSF應(yīng)用程序的異常處理 322
第17章 應(yīng)用程序的日志 324
17.1 為什么要記日志 324
17.2 用什么記日志 324
17.3 怎么記日志 324
17.4 在登錄示例程序中記日志 326
17.4.1 建立示例應(yīng)用目錄結(jié)構(gòu) 326
17.4.2 下載通用日志包 326
17.4.3 下載日志器實(shí)現(xiàn)Log4J 327
17.4.4 寫日志有關(guān)的配置文件 327
17.4.5 創(chuàng)建一個(gè)空的日志文件 329
17.4.6 編寫訪問(wèn)日志接口的應(yīng)用程序
代碼 329
17.4.7 部署和運(yùn)行應(yīng)用程序 331
第18章 JSF與AJAX集成 334
18.1 AJAX概述 334
18.1.1 什么是AJAX 334
18.1.2 AJAX的原則 334
18.1.3 AJAX包含那些技術(shù) 334
18.1.4 AJAX的工作原理 335
18.2 Ajax4jsf 336
18.2.1 Ajax4jsf概述 336
18.2.2 Ajax4jsf工作原理 336
18.2.3 下載和安裝Ajax4jsf 337
18.3 示例應(yīng)用程序 338
18.3.1 建立應(yīng)用程序的目錄結(jié)構(gòu) 339
18.3.2 需要的庫(kù)文件 339
18.3.3 在web.xml文件中添加Ajax4jsf
的過(guò)濾器 339
18.3.4 在注冊(cè)頁(yè)面中使用Ajax4jsf
標(biāo)簽 339
18.3.5 在Backing Bean中添加動(dòng)作
監(jiān)聽(tīng)器方法 340
18.3.6 部署和運(yùn)行應(yīng)用 340
第19章 ORM及其Hibernate實(shí)現(xiàn) 341
19.1 ORM簡(jiǎn)介 341
19.1.1 對(duì)象模型與關(guān)系范例的失配 341
19.1.1.1 粒度問(wèn)題 341
19.1.1.2 子類型問(wèn)題 341
19.1.1.3 標(biāo)識(shí)符問(wèn)題 342
19.1.1.4 關(guān)聯(lián)問(wèn)題 342
19.1.1.5 對(duì)象圖導(dǎo)航問(wèn)題 343
19.1.2 集成層的可選方案 343
19.1.2.1 使用JDBC 343
19.1.2.2 使用EJB 343
19.1.2.3 使用面向?qū)ο蟮臄?shù)據(jù)庫(kù)
系統(tǒng) 344
19.1.2.4 使用對(duì)象/關(guān)系映射
(ORM) 344
19.1.3 ORM面臨的問(wèn)題 344
19.2 Hibernate的結(jié)構(gòu)簡(jiǎn)介 344
19.2.1 核心應(yīng)用程序編程接口 345
19.2.2 回調(diào)接口 347
19.2.3 擴(kuò)展接口 348
19.3 映射對(duì)象 348
19.3.1 基本映射 348
19.3.2 標(biāo)識(shí)的屬性 349
19.3.3 標(biāo)識(shí)生成器 350
19.3.4 多對(duì)一映射/一對(duì)多映射 350
19.3.5 多對(duì)一中的類示例 350
19.3.6 多對(duì)一/一對(duì)多的表間關(guān)系 353
19.3.7 多對(duì)一/一對(duì)多的映射文件 353
19.3.8 多對(duì)一元素的主要屬性 354
19.3.9 集合映射 355
19.3.10 外鍵元素 355
19.3.11 一對(duì)多元素的主要屬性 355
19.3.12 多對(duì)多映射 355
19.4 檢索對(duì)象 357
19.4.1 Hibernate查詢語(yǔ)言 357
19.4.2 條件查詢 358
19.4.3 SQL查詢 358
19.5 報(bào)表查詢 358
第20章 JSF與Hibernate的集成 360
20.1 Hibernate的配置 360
20.1.1 Hibernate的下載 360
20.1.2 需要的庫(kù)文件 361
20.1.3 持久化類的映射文件 361
20.1.4 Hibernate配置文件 362
20.2 用Hibernate重寫登錄程序的數(shù)據(jù)庫(kù)
訪問(wèn)部分 362
20.2.1 輔助工具類 362
20.2.2 項(xiàng)目使用的數(shù)據(jù)庫(kù) 363
20.3 具體的實(shí)現(xiàn) 363
20.3.1 創(chuàng)建應(yīng)用程序項(xiàng)目目錄 363
20.3.2 修改build.xml文件及調(diào)整部分
配置文件的目錄 363
20.3.3 準(zhǔn)備必要的Java庫(kù)文件 363
20.3.4 創(chuàng)建輔助工具類 363
20.3.5 創(chuàng)建持久類及映射文件 364
20.3.6 創(chuàng)建Hibernate配置文件 364
20.3.7 創(chuàng)建DAO接口 365
20.3.8 創(chuàng)建DAO的Hibernate實(shí)現(xiàn)類 366
20.3.9 創(chuàng)建應(yīng)用服務(wù)的Hibernate
實(shí)現(xiàn)類 367
20.3.10 修改Backing Bean 368
20.3.11 用ANT構(gòu)建和部署應(yīng)用程序 368
20.3.12 運(yùn)行應(yīng)用程序 369
20.4 對(duì)應(yīng)用程序的回顧 369
20.4.1 關(guān)于Hibernate Session的關(guān)閉
問(wèn)題 369
20.4.2 關(guān)于示例程序中的修改問(wèn)題 369
20.4.3 關(guān)于DAO代碼簡(jiǎn)化的問(wèn)題 370
20.5 進(jìn)一步簡(jiǎn)化DAO代碼 370
20.5.1 DAO中的樣板代碼 370
20.5.2 去除樣板代碼的方法 371
20.5.3 部署和運(yùn)行新項(xiàng)目 373
第21章 JSF與Spring和Hibernate
的集成 374
21.1 Spring的組成 374
21.2 Spring中的IoC以及用Spring管理JSF
托管bean 375
21.2.1 JSF與Spring集成的原理 375
21.2.2 集成所需要做的配置工作 375
21.2.3 早期版本的JSF參考實(shí)現(xiàn)在
實(shí)際集成中會(huì)遇到的問(wèn)題 377
21.2.4 項(xiàng)目使用的數(shù)據(jù)庫(kù) 378
21.3 用JSF、Spring和Hibernate編寫注冊(cè)
登錄示例 378
21.3.1 建立應(yīng)用程序項(xiàng)目的目錄結(jié)構(gòu) 378
21.3.2 準(zhǔn)備Spring庫(kù)文件 378
21.3.3 準(zhǔn)備JSF與Spring的膠代碼庫(kù)
文件 380
21.3.4 創(chuàng)建數(shù)據(jù)訪問(wèn)接口 381
21.3.5 創(chuàng)建數(shù)據(jù)訪問(wèn)實(shí)現(xiàn)類 381
21.3.6 創(chuàng)建業(yè)務(wù)服務(wù)接口 382
21.3.7 創(chuàng)建業(yè)務(wù)服務(wù)實(shí)現(xiàn)類 382
21.3.8 創(chuàng)建持久化類及映射文件 384
21.3.9 創(chuàng)建Backing Bean 385
21.3.10 創(chuàng)建注冊(cè)頁(yè)面及注冊(cè)成功頁(yè)面 385
21.3.11 在Spring上下文中配置服務(wù)及
數(shù)據(jù)訪問(wèn)對(duì)象 386
21.3.12 配置Faces上下文 388
21.3.13 配置web.xml 388
21.3.14 構(gòu)建、部署及運(yùn)行示例應(yīng)用
程序 389
第22章 使用Eclipse和MyEclipse工具 390
22.1 下載與配置Eclipse和MyEclipse 390
22.1.1 下載IDE軟件 390
22.1.2 配置開(kāi)發(fā)環(huán)境 391
22.2 用IDE開(kāi)發(fā)示例 394
22.2.1 建立新項(xiàng)目 394
22.2.2 加入JSf Capabilities 396
22.2.3 加入Spring Capabilities 397
22.2.4 加入Hibernate Capabilities 398
22.2.5 業(yè)務(wù)層與集成層對(duì)象的編寫與
配置 402
22.2.5.1 引入訪問(wèn)數(shù)據(jù)庫(kù)所需要的
包文件 402
22.2.5.2 配置數(shù)據(jù)源 403
22.2.5.3 創(chuàng)建持久化對(duì)象及其映射
文件 404
22.2.5.4 修改Hibernate sessionFactory的配置 405
22.2.5.5 創(chuàng)建數(shù)據(jù)訪問(wèn)對(duì)象的接口及
實(shí)現(xiàn)類 408
22.2.5.6 創(chuàng)建應(yīng)用服務(wù)接口及實(shí)現(xiàn)類
和自定義異常類 408
22.2.5.7 配置其他對(duì)象 408
22.2.6 應(yīng)用程序表示層對(duì)象的編寫與
配置 409
22.2.6.1 配置Application 410
22.2.6.2 配置和生成Backing Bean 410
22.2.6.3 在Backing Bean中注入
依賴 411
22.2.6.4 在Backing Bean中編寫動(dòng)作
方法 412
22.2.6.5 可視化方式制作頁(yè)面文件 412
22.2.6.6 配置導(dǎo)航規(guī)則 412
22.2.7 配置應(yīng)用程序的部署描述器
文件web.xml 413
22.2.8 部署和運(yùn)行項(xiàng)目 415
22.3 用IDE打開(kāi)示例應(yīng)用的方法 417
22.4 在IDE中使用Hibernate的反向工程 417
22.4.1 創(chuàng)建一個(gè)新項(xiàng)目 417
22.4.2 創(chuàng)建數(shù)據(jù)庫(kù) 417
22.4.3 創(chuàng)建數(shù)據(jù)庫(kù)瀏覽器窗口 418
22.4.4 建立必要的包 420
22.4.5 加入JSF和Spring的
Capabilities 420
22.4.6 加入Hibernate的Capabilities 420
22.4.7 應(yīng)用反向工程生成類和配置
文件 423
22.4.8 反向工程生成的文件樣例 425
第23章 AOP及事務(wù)管理 427
23.1 AOP簡(jiǎn)介 427
23.1.1 什么是AOP 427
23.1.1.1 對(duì)AOP的一些常見(jiàn)的
誤解 427
23.1.1.2 AOP的一些常用術(shù)語(yǔ) 428
23.1.2 Spring實(shí)現(xiàn)的AOP 428
23.1.2.1 Spring實(shí)現(xiàn)的AOP的
特點(diǎn) 428
23.1.2.2 Spring中AOP的應(yīng)用 429
23.2 事務(wù)簡(jiǎn)介 429
23.2.1 事務(wù)的基本屬性 429
23.2.2 Spring的事務(wù)策略 429
23.2.3 Spring支持的事務(wù)隔離度 430
23.2.4 Spring支持的事務(wù)傳播類型 430
23.3 事務(wù)管理示例 431
23.3.1 示例應(yīng)用要演示的情形 431
23.3.2 數(shù)據(jù)庫(kù)表的建立 431
23.4 沒(méi)有事務(wù)管理的例子 432
23.4.1 編寫持久化對(duì)象的類文件 432
23.4.2 編寫映射文件 433
24.4.3 編寫DAO接口 434
23.4.4 編寫DAO實(shí)現(xiàn)類 435
23.4.5 編寫業(yè)務(wù)服務(wù)接口 436
23.4.6 編寫沒(méi)有事務(wù)處理的業(yè)務(wù)服務(wù) 436
23.4.7 編寫沒(méi)有事務(wù)管理的Spring
配置 438
23.4.8 示例應(yīng)用的Backing Bean 439
23.4.9 配置web.xml 441
23.4.10 應(yīng)用程序的頁(yè)面文件 441
23.4.11 示例應(yīng)用的運(yùn)行效果 441
23.5 編程式事務(wù)管理的例子 442
23.5.1 編程式事務(wù)管理的一般方法 442
23.5.2 編寫編程式事務(wù)的業(yè)務(wù)服務(wù) 442
23.5.3 編寫編程式事務(wù)管理的Spring
配置 444
23.5.4 修改web.xml 445
23.5.5 應(yīng)用的運(yùn)行效果 445
23.6 聲明式事務(wù)管理的例子 445
23.6.1 聲明式事務(wù)管理的方法 445
23.6.2 在Spring的配置文件中聲明
事務(wù) 446
22.6.3 修改web.xml 447
23.6.4 應(yīng)用的運(yùn)行效果 447
第24章 權(quán)限系統(tǒng)示例應(yīng)用程序 448
24.1 基于角色的訪問(wèn)控制 448
24.2 應(yīng)用程序的界面 448
24.2.1 登錄界面 449
24.2.2 管理員用戶界面 449
24.2.3 普通用戶界面 450
24.3 數(shù)據(jù)庫(kù)設(shè)計(jì) 451
24.3.1 表的結(jié)構(gòu) 451
24.3.2 表之間的關(guān)系 454
24.4 持久化對(duì)象 455
24.4.1 持久化對(duì)象的類文件 455
24.4.2 持久化對(duì)象的映射文件 461
24.5 數(shù)據(jù)訪問(wèn)對(duì)象 463
24.5.1 數(shù)據(jù)訪問(wèn)對(duì)象接口 464
24.5.2 數(shù)據(jù)訪問(wèn)對(duì)象實(shí)現(xiàn) 465
24.6 業(yè)務(wù)服務(wù) 469
24.6.1 業(yè)務(wù)服務(wù)接口 469
24.6.2 業(yè)務(wù)服務(wù)實(shí)現(xiàn) 470
24.6.3 編程式事務(wù)在示例中的應(yīng)用 473
24.7 Backing Bean 474
24.7.1 使用Backing Bean的策略 474
24.7.2 示例Backing Bean的編碼 475
24.7.3 安全退出系統(tǒng)的動(dòng)作 478
24.7.4 在Backing Bean中驗(yàn)證Email
地址 478
24.7.5 在Backing Bean中引用其他
Backing Bean 480
24.8 配置文件 482
24.8.1 應(yīng)用程序部署描述器文件 482
24.8.2 JSF配置文件 483
24.8.3 Spring配置文件 486
24.8.4 Hibernate的配置文件 489
24.9 頁(yè)面文件 489
24.9.1 index.jsp 489
24.9.2 登錄頁(yè)面文件 489
24.9.3 Frameset文件 490
24.9.4 樹(shù)型菜單文件 491
24.9.5 添加新用戶的頁(yè)面文件 492
24.9.6 指派用戶角色的頁(yè)面文件 492
24.9.7 安全登出系統(tǒng)的頁(yè)面文件 495
24.9.8 顯示操作結(jié)果的頁(yè)面文件 495
24.9.9 頁(yè)面間的導(dǎo)航關(guān)系 496
24.10 輔助文件 496
24.10.1 字符集過(guò)濾器類文件 496
24.10.2 資源文件 497
24.10.3 消息工廠類文件 497
24.11 怎樣讓示例程序運(yùn)行起來(lái) 497
24.11.1 創(chuàng)建示例數(shù)據(jù)庫(kù) 497
24.11.2 更改配置文件中的數(shù)據(jù)庫(kù)密碼 498
24.11.3 用IDE部署示例應(yīng)用 498
24.12 為已有的JSF項(xiàng)目增加AJAX支持 498
24.12.1 導(dǎo)入庫(kù)文件 498
24.12.2 更改頁(yè)面文件 498
24.12.3 更改Backing Bean 500
24.12.4 更改業(yè)務(wù)服務(wù)接口及實(shí)現(xiàn) 501
24.12.5 更改應(yīng)用程序部署描述器文件 502
第25章 辦公用品管理系統(tǒng)示例程序 503
25.1 示例程序的需求分析 503
25.1.1 需求分析簡(jiǎn)述 503
25.1.2 用例(Use Case)圖 503
25.1.3 用例文檔的書(shū)寫 504
25.1.4 系統(tǒng)需要用到的頁(yè)面 505
25.1.5 業(yè)務(wù)規(guī)則的說(shuō)明 506
25.1.6 其他要求 506
25.2 示例程序的架構(gòu)設(shè)計(jì) 506
25.2.1 多層架構(gòu) 506
25.2.2 選擇合適的技術(shù) 506
25.2.3 表示層設(shè)計(jì) 507
25.2.4 業(yè)務(wù)邏輯層設(shè)計(jì) 507
25.2.5 數(shù)據(jù)映射層設(shè)計(jì) 507
25.2.6 數(shù)據(jù)庫(kù)設(shè)計(jì) 507
25.3 示例程序的實(shí)現(xiàn) 508
25.3.1 表示層實(shí)現(xiàn) 508
25.3.2 業(yè)務(wù)層實(shí)現(xiàn) 510
25.3.3 數(shù)據(jù)映射層實(shí)現(xiàn) 512
25.4 其他實(shí)用功能的實(shí)現(xiàn) 512
25.4.1 文件上傳 512
25.4.1.1 Java中的輸入輸出與流 512
25.4.1.2 文件的路徑與目錄 512
25.4.1.3 MyFaces的文件上傳標(biāo)簽 513
25.4.2 文件上傳的實(shí)現(xiàn) 513
25.4.3 處理分頁(yè) 518
25.4.4 發(fā)送電子郵件 521
25.4.4.1 Spring對(duì)電子郵件的抽象 521
25.4.4.2 編寫B(tài)acking Bean 521
25.4.4.3 配置郵件發(fā)送器和郵件
消息 523
25.4.4.4 編寫發(fā)送郵件的方法 524
25.4.4.5 發(fā)送郵件時(shí)需要加入的
庫(kù)文件 525
25.5 示例應(yīng)用程序的測(cè)試 525
25.5.1 測(cè)試簡(jiǎn)介 525
25.5.2 測(cè)試的分類 526
25.5.3 模擬測(cè)試與集成測(cè)試 526
25.5.4 常用的測(cè)試框架JUnit 526
25.5.5 測(cè)試用例的運(yùn)行方式 527
25.5.6 數(shù)據(jù)訪問(wèn)層測(cè)試示例 528
25.5.6.1 創(chuàng)建測(cè)試基類 528
25.5.6.2 創(chuàng)建測(cè)試具體類 529
25.5.6.3 修改向?qū)傻臏y(cè)
試類文件 531
25.5.6.4 測(cè)試過(guò)程 532
25.5.6.5 在IDE中測(cè)試易出現(xiàn)
的問(wèn)題 533
25.6 部署和運(yùn)行應(yīng)用程序 533
25.6.1 數(shù)據(jù)庫(kù)的建立 533
25.6.2 配置文件中的參數(shù)更改 534
第26章 應(yīng)用程序的安全性 535
26.1 應(yīng)用程序的安全性簡(jiǎn)介 535
26.2 權(quán)限管理示例程序的安全性考慮 535
26.2.1 控制對(duì)資源的訪問(wèn) 535
26.2.2 保護(hù)敏感數(shù)據(jù) 536
26.3 防止用戶繞過(guò)登錄的方法 537
26.3.1 登錄時(shí)保存信息到
HttpSession中 537
26.3.2 制作驗(yàn)證HttpSession中內(nèi)容的
頁(yè)面 539
26.3.3 在需要保護(hù)的頁(yè)面前部包含驗(yàn)證
頁(yè)面 539
26.4 Java密碼架構(gòu)和加密服務(wù)提供者 540
26.4.1 Java密碼架構(gòu) 540
26.4.2 加密服務(wù)提供者 541
26.4.3 Java密碼架構(gòu)的使用方式 541
26.5 消息摘要與口令認(rèn)證 541
26.5.1 什么是消息摘要 541
26.5.2 口令的加密存儲(chǔ) 542
26.5.3 加密后的口令的驗(yàn)證 543
26.6 權(quán)限管理應(yīng)用的口令加密示例 544
26.6.1 新建示例項(xiàng)目 544
26.6.2 更改人員表中口令字段的數(shù)據(jù)
類型 544
26.6.3 改變持久化類中口令字段的數(shù)據(jù)
類型 544
26.6.4 更改映射文件中口令字段的
數(shù)據(jù)類型 545
26.6.5 在業(yè)務(wù)服務(wù)實(shí)現(xiàn)中增加口令
加密方法 546
26.6.6 在業(yè)務(wù)服務(wù)實(shí)現(xiàn)中增加口令
驗(yàn)證方法 547
26.6.7 更改業(yè)務(wù)服務(wù)實(shí)現(xiàn)的注冊(cè)新
用戶方法 548
26.6.8 更改業(yè)務(wù)服務(wù)實(shí)現(xiàn)的登錄方法 549
26.6.9 更改業(yè)務(wù)服務(wù)實(shí)現(xiàn)的用戶
改變口令方法 551
26.6.10 在數(shù)據(jù)庫(kù)表中查看口令數(shù)據(jù) 552

本目錄推薦

掃描二維碼
Copyright ? 讀書(shū)網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)