第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)用程序最佳實踐... 11
1.2.1 保證正確的錯誤處理... 11
1.2.2 使用JSTL標記減少scriptlet代碼... 13
1.2.3 對選定的行為使用自定義標記... 16
1.2.4 對常見行為使用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è)計模式... 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è)計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框架進行外部視圖組裝... 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)建用戶站點組件... 65
4.3.1 預(yù)訂信息組件... 65
4.3.2 核心預(yù)訂流程組件... 67
4.3.3 提供服務(wù)組件... 90
4.4 管理站點組件的結(jié)構(gòu)... 91
4.4.1 身份驗證和授權(quán)組件... 91
4.4.2 酒店維護組件... 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)建一個分解式 Web應(yīng)用程序... 121
5.1.5 創(chuàng)建一個Web應(yīng)用程序的歸檔文件... 125
5.2 部署Web應(yīng)用程序... 126
5.2.1 自動部署... 126
5.2.2 WebLogic部署工具和Ant任務(wù)... 128
5.2.3 WebLogic控制臺部署... 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簡介... 136
6.3 EJB組件類型... 137
6.3.1 無狀態(tài)會話bean. 137
6.3.2 有狀態(tài)會話bean. 139
6.3.3 消息驅(qū)動的bean. 140
6.3.4 攔截器... 141
6.4 Java持久化API 142
6.4.1 JPA的歷史... 142
6.4.2 JPA概念... 144
6.4.3 一個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 動態(tài)EJB編譯... 167
6.6.3 EJB的遠程業(yè)務(wù)接口和JNDI 168
6.6.4 EJB之間的引用... 170
6.7 會話bean的特性... 175
6.7.1 無狀態(tài)會話EJB緩沖池... 175
6.7.2 有狀態(tài)會話EJB的緩存管理... 176
6.7.3 有狀態(tài)會話EJB的內(nèi)存中復(fù)制... 178
6.7.4 指向會話bean的句柄... 180
6.7.5 冪等方法... 180
6.8 消息驅(qū)動的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 二級緩存... 188
6.9.7 控制刷新行為... 190
6.9.8 逆向管理... 190
6.9.9 混合繼承策略... 191
6.9.10 預(yù)處理語句緩存... 191
6.10 使用部署描述符還是標注... 191
6.10.1 部署計劃... 192
6.10.2 標注、描述符、計劃和依賴注入... 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 對象關(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和會話外觀模式的需求... 204
7.2.2 使用JDBC的無狀態(tài)會話EJB.. 205
7.2.3 使用EJB 2.1 CMP實體bean的無狀態(tài)會話EJB.. 207
7.2.4 使用JPA的無狀態(tài)會話EJB.. 209