第1章 在WebLogic中構(gòu)建Web應(yīng)用程序... 1
1.1 Java servlet和JSP中的重要概念... 1
1.1.1 servlet的特征... 1
1.1.2 JSP的特征... 6
1.2 Web應(yīng)用程序最佳實(shí)踐... 11
1.2.1 保證正確的錯(cuò)誤處理... 11
1.2.2 使用JSTL標(biāo)記減少scriptlet代碼... 13
1.2.3 對(duì)選定的行為使用自定義標(biāo)記... 16
1.2.4 對(duì)常見行為使用servlet過濾器... 18
1.2.5 使用servlet和JSP頁面創(chuàng)建Excel文件... 22
1.2.6 查看產(chǎn)生的servlet代碼... 25
1.3 本章回顧... 26
第2章 選擇Web應(yīng)用程序體系結(jié)構(gòu)... 27
2.1 體系結(jié)構(gòu)的關(guān)鍵概念... 27
2.1.1 Java EE應(yīng)用程序的層次... 27
2.1.2 MVC體系結(jié)構(gòu)... 28
2.1.3 通用Java EE設(shè)計(jì)模式... 29
2.2 表示層體系結(jié)構(gòu)的選擇... 29
2.2.1 表示層需求... 29
2.2.2 有關(guān)體系結(jié)構(gòu)的其他考慮... 39
2.3 可選的表示層體系結(jié)構(gòu)... 39
2.3.1 以JSP為核心的體系結(jié)構(gòu)... 40
2.3.2 以servlet為核心的體系結(jié)構(gòu):Struts. 41
2.3.3 以servlet為核心的體系結(jié)構(gòu):Spring MVC.. 42
2.4 本章回顧... 45
第3章 設(shè)計(jì)Java EE應(yīng)用程序示例... 47
3.1 應(yīng)用程序需求... 47
3.2 業(yè)務(wù)領(lǐng)域模型... 48
3.3 表示層需求... 48
3.4 Web應(yīng)用程序體系結(jié)構(gòu)... 50
3.5 表示方法... 51
3.5.1 自組裝... 52
3.5.2 母版頁組裝... 55
3.5.3 使用Tiles框架進(jìn)行外部視圖組裝... 56
3.6 業(yè)務(wù)層接口... 58
3.6.1 控制器調(diào)用業(yè)務(wù)服務(wù)... 58
3.6.2 控制器為JSP填充表單... 60
3.6.3 更新要求顯式的服務(wù)調(diào)用... 61
3.6.4 表示層組件之間的關(guān)系... 61
3.7 本章回顧... 62
第4章 構(gòu)建Web應(yīng)用程序示例... 63
4.1 應(yīng)用程序組件概述... 63
4.2 構(gòu)建應(yīng)用程序骨架... 65
4.3 構(gòu)建用戶站點(diǎn)組件... 65
4.3.1 預(yù)訂信息組件... 65
4.3.2 核心預(yù)訂流程組件... 67
4.3.3 提供服務(wù)組件... 90
4.4 管理站點(diǎn)組件的結(jié)構(gòu)... 91
4.4.1 身份驗(yàn)證和授權(quán)組件... 91
4.4.2 酒店維護(hù)組件... 94
4.5 本章回顧... 107
第5章 打包和部署WebLogic Web應(yīng)用程序... 109
5.1 打包Web應(yīng)用程序... 110
5.1.1 Web應(yīng)用程序目錄結(jié)構(gòu)... 110
5.1.2 Web應(yīng)用程序描述符文件... 112
5.1.3 預(yù)編譯JSP組件... 119
5.1.4 創(chuàng)建一個(gè)分解式 Web應(yīng)用程序... 121
5.1.5 創(chuàng)建一個(gè)Web應(yīng)用程序的歸檔文件... 125
5.2 部署Web應(yīng)用程序... 126
5.2.1 自動(dòng)部署... 126
5.2.2 WebLogic部署工具和Ant任務(wù)... 128
5.2.3 WebLogic控制臺(tái)部署... 130
5.2.4 為bigrez.com創(chuàng)建必要的用戶和組... 132
5.3 本章回顧... 133
第6章 在WebLogic Server中構(gòu)建企業(yè)JavaBean. 135
6.1 EJB技術(shù)概述... 135
6.2 EJB 3.0簡(jiǎn)介... 136
6.3 EJB組件類型... 137
6.3.1 無狀態(tài)會(huì)話bean. 137
6.3.2 有狀態(tài)會(huì)話bean. 139
6.3.3 消息驅(qū)動(dòng)的bean. 140
6.3.4 攔截器... 141
6.4 Java持久化API 142
6.4.1 JPA的歷史... 142
6.4.2 JPA概念... 144
6.4.3 一個(gè)JPA示例... 144
6.4.4 應(yīng)用JPA.. 164
6.5 WebLogic Server EJB容器... 165
6.5.1 EJB容器基礎(chǔ)... 165
6.5.2 WebLogic Server中EJB的生命周期... 165
6.6 通用的WebLogic Server EJB特性... 167
6.6.1 EJB的部署和重新部署... 167
6.6.2 動(dòng)態(tài)EJB編譯... 167
6.6.3 EJB的遠(yuǎn)程業(yè)務(wù)接口和JNDI 168
6.6.4 EJB之間的引用... 170
6.7 會(huì)話bean的特性... 175
6.7.1 無狀態(tài)會(huì)話EJB緩沖池... 175
6.7.2 有狀態(tài)會(huì)話EJB的緩存管理... 176
6.7.3 有狀態(tài)會(huì)話EJB的內(nèi)存中復(fù)制... 178
6.7.4 指向會(huì)話bean的句柄... 180
6.7.5 冪等方法... 180
6.8 消息驅(qū)動(dòng)的bean的特性... 180
6.9 OpenJPA和Kodo特性... 181
6.9.1 Kodo部署描述符文件... 182
6.9.2 獲取組... 182
6.9.3 預(yù)先獲取... 184
6.9.4 樂觀鎖版本策略... 184
6.9.5 大結(jié)果集... 187
6.9.6 二級(jí)緩存... 188
6.9.7 控制刷新行為... 190
6.9.8 逆向管理... 190
6.9.9 混合繼承策略... 191
6.9.10 預(yù)處理語句緩存... 191
6.10 使用部署描述符還是標(biāo)注... 191
6.10.1 部署計(jì)劃... 192
6.10.2 標(biāo)注、描述符、計(jì)劃和依賴注入... 193
6.11 本章回顧... 195
第7章 構(gòu)建EJB應(yīng)用程序示例... 197
7.1 業(yè)務(wù)層需求... 197
7.1.1 業(yè)務(wù)邏輯需求... 197
7.1.2 對(duì)象關(guān)系映射需求... 199
7.1.3 數(shù)據(jù)訪問需求... 203
7.1.4 其他業(yè)務(wù)層需求... 203
7.1.5 業(yè)務(wù)層需求的回顧... 203
7.2 可選的業(yè)務(wù)層體系結(jié)構(gòu)... 204
7.2.1 SLSB和會(huì)話外觀模式的需求... 204
7.2.2 使用JDBC的無狀態(tài)會(huì)話EJB.. 205
7.2.3 使用EJB 2.1 CMP實(shí)體bean的無狀態(tài)會(huì)話EJB.. 207
7.2.4 使用JPA的無狀態(tài)會(huì)話EJB.. 209