內容簡介
本書分別介紹了XML、DOM、DTD、Schema、SOAP、XSL、Web Services等技術知識。其中,詳細介紹了XML的基本結構和XML的格式控制;Java處理XML的方法和技巧;以及介紹了如何使用Java Web服務開發工具包JWSDP(Java Web Services Developer Pack)來開發Web服務;此外還介紹了如何使用開源工具包CXF開發Web Services套用。
本書重點突出、偏重套用,結合理論篇的實例和實踐篇對案例的講解、剖析及實現,使讀者能迅速理解並掌握知識,全面提高動手能力。
本書可作為本科計算機科學與技術、軟體外包專業、高職高專計算機軟體、計算機網路、計算機信息管理、電子商務和經濟管理等專業的程式設計課程的教材。
編輯推薦
隨著IT產業的迅猛發展,企業對套用型人才的需求越來越大。“全面貼近企業需求,無縫打造專業實用人才”是目前高校計算機專業教育的革新方向。
該系列教材是面向高等院校軟體專業方向的標準化教材。教材研發充分結合軟體企業的用人需求,經過了充分的調研和論證,並充分參照多所高校一線專家的意見,具有系統性、實用性等特點。旨在使讀者在系統掌握軟體開發知識的同時,著重培養其綜合套用能力和解決問題的能力。
該系列教材具有如下幾個特色。
1. 以套用型人才為導向來培養學生
強調實踐:本系列教材以套用型軟體及外包人才為培養目標,在原有體制教育的基礎上對課程進行了改革,強化“套用型”技術的學習。使學生在經過系統、完整的學習後能夠達到如下要求:
具備軟體開發工作所需的理論知識和操作技能,能熟練進行編碼工作,並掌握軟體開發過程的規範;
具備一定的項目經驗,包括代碼的調試、文檔編寫、軟體測試等內容;
相當於一年的軟體開發經驗。
2. 以實用技能為核心來組織教學
二八原則:遵循企業生產過程中的“二八原則”,即企業生產過程中80%的時間在使用20%的核心技術,強調核心教學,即學生在學校用80%的學習時間來掌握企業中所用到的核心技術,從而保證對企業常用技術的掌握。教材內容精而專,同時配以知識拓展和拓展練習,以滿足不同層次的教學和學習需求。
3. 以新穎的教材架構來引導學習
自成體系:本系列教材採用的教材架構打破了傳統的以知識為標準編寫教材的方法,採用“全真案例”和“任務驅動”的組織模式。
理論篇:即最小教學集,包含了“二八原則”中提到的常用技術,以任務驅動引導知識點的學習,所選任務不但典型、實用,而且具有很強的趣味性和可操作性,引導學生循序漸進地理解和掌握這些知識和技能,培養學生的邏輯思維能力,掌握利用開發語言進行程式設計的必備知識和技巧。
實踐篇:多點於一線,以完整的具體案例貫穿始終,力求使學生在動手實踐的過程中,加深課程內容的理解,培養學生獨立思考和解決問題的能力,並配備相關知識的拓展講解和拓展練習,拓寬學生的知識面。
結構靈活:本系列教材在內容設定上借鑑了軟體開發中“低耦合高內聚”的設計理念,組織架構上遵循軟體開發中的MVC理念,即在課程的實施過程中各高校可根據自身的實際情況(課程配比、時間安排、學生水平、教學情況等),在保證最小教學集的前提下可對整個課程體系進行橫向(章節內容)、縱向(章節)裁剪。
4. 提供全面的教輔產品來輔助教學實施
為充分體現“實境耦合”的教學模式,方便教學實施,另外還開發了可配套使用的項目實訓教材和全套教輔產品,可供各院校選購:
項目篇:多線於一面,以輔助教材的形式,提供適應當前課程(及先行課程)的綜合項目,遵循軟體開發過程,進行講解、分析、設計、指導,注重工作過程的系統性,培養學生解決實際問題的能力,是實施“實境”教學的關鍵環節。
立體配套:為適應教學模式和教學方法的改革,本系列教材提供完備的教輔產品,主要包括教學指導、實驗指導、電子課件、習題集、實踐案例等內容,並配以相應的網路教學資源。教學實施方面,提供全方位的解決方案(課程體系解決方案、實訓解決方案、教師培訓解決方案和就業指導解決方案等),以適應軟體開發教學過程的特殊性。
本系列教材由青島東合信息技術有限公司和青島海爾軟體有限公司共同研製,歷時兩年,參與編著的有韓敬海、丁春強、趙克玲、高峰、張幼鵬、張旭平、孫更新、賓晟、胡芳、邵峰晶、於忠清、張磊、曹寶香、崔文善、王成端等。本書的特約策劃人為呂蕾女士。參與本書編寫工作的還有:青島農業大學、濰坊學院、青島大學、山東科技大學、曲阜師範大學、濟寧學院、中國海洋大學、濟寧醫學院等高校,期間得到了各合作院校專家及一線教師的大力支持和協作。在此技術叢書出版之際要特別感謝給予我們開發團隊大力支持和幫助的領導及同事,感謝合作院校的師生給予我們的支持和鼓勵,更要感謝開發團隊每一位成員所付出的艱辛勞動。iTeacher@ 教研組
2011年6月
目錄
理論篇 1
第1章 XML概述 2
1.1 XML概述 4
1.1.1 XML的歷史 4
1.1.2 XML的基本特徵 5
1.1.3 XML定義 6
1.2 XML文檔結構 8
1.2.1 序言 9
1.2.2 文檔元素 11
1.3 XML文檔內容 11
1.3.1 XML元素 11
1.3.2 XML屬性 14
1.3.3 注釋 16
1.3.4 字元引用和實體引用 16
1.3.5 CDATA節 18
1.3.6 處理指令 19
1.4 XML文檔規則 21
1.4.1 格式良好的XML文檔規則 21
1.4.2 格式良好的XML文檔 23
1.4.3 有效的XML文檔 23
小結 24
練習 25
第2章 XML文檔類型定義 26
2.1 DTD概述 28
2.1.1 DTD簡介 28
2.1.2 DTD聲明 29
2.1.3 內部DTD 29
2.1.4 外部DTD 30
2.2 DTD語法 32
2.2.1 元素聲明 32
2.2.2 屬性聲明 35
2.2.3 實體 41
小結 43
練習 44
第3章 XML模式定義 46
3.1 命名空間 48
3.1.1 概述 48
3.1.2 創建命名空間 49
3.2 Schema概述 51
3.2.1 Schema VS DTD 52
3.2.2 Schema文檔結構 53
3.3 Schema中的數據類型 54
3.3.1 簡單類型 54
3.3.2 複合類型 58
3.4 元素聲明 64
3.4.1 簡單元素 64
3.4.2 複合元素 65
3.4.3 匿名類型定義 67
3.5 屬性聲明 68
3.5.1 屬性 68
3.5.2 屬性組 71
3.6 模式重用 73
3.6.1 include元素 73
3.6.2 import元素 75
小結 78
練習 79
第4章 XML顯示——XSL 81
4.1 級聯樣式表CSS 83
4.1.1 CSS概述 83
4.1.2 CSS語法 83
4.1.3 XML與CSS關聯 84
4.2 XSL基礎 86
4.2.1 XSL 86
4.2.2 XSLT 87
4.2.3 XPath 88
4.2.4 XPath表達式 90
4.2.5 XPath定位路徑 95
4.3 XSL文檔 97
4.3.1 XSL文檔結構 97
4.3.2 XSL元素 100
4.4 多樣式表 115
4.4.1 <xsl:import>元素 115
4.4.2 <xsl:include>元素 117
小結 119
練習 119
第5章 運用DOM處理XML 122
5.1 文檔對象模型 124
5.1.1 概述 124
5.1.2 DOM文檔結構 124
5.2 解析XML 127
5.2.1 XML的解析方式 127
5.2.2 解析XML的API 128
5.3 DOM編程 131
5.3.1 Java DOM的API 131
5.3.2 DOM套用 134
5.3.3 DOM解析器屬性 143
小結 147
練習 147
第6章 SAX與JDOM 150
6.1 使用SAX解析XML 152
6.1.1 SAX的實現機制 152
6.1.2 SAX中的事件 152
6.1.3 Java SAX的API 155
6.1.4 SAX編程 156
6.2 使用JDOM解析XML 168
6.2.1 JDOM概述 168
6.2.2 JDOM的API 169
6.2.3 JDOM編程 171
6.3 SAX、DOM和JDOM技術的比較 175
小結 176
練習 177
第7章 Web Services概述 179
7.1 Web Services簡介 180
7.1.1 引言 180
7.1.2 Web Services的特點 181
7.1.3 Web Services的組成 182
7.1.4 Web Services的優勢與局限 184
7.2 Web Services體系結構 186
7.2.1 Web Services理論模型 186
7.2.2 Web Services協定 188
7.2.3 Web Services通信模型 190
7.2.4 實現Web Services 192
小結 195
練習 195
第8章 SOAP 197
8.1 SOAP概述 199
8.1.1 SOAP介紹 199
8.1.2 SOAP訊息結構 200
8.1.3 SOAP訊息交換模型 205
8.1.4 SOAP套用模式 208
8.1.5 SOAP與CORBA、COM/DCOM的區別 210
8.2 JAXM元素 211
8.2.1 SOAPElement 212
8.2.2 SOAPMessage 215
8.2.3 SOAPPart 216
8.2.4 SOAPEnvelope 216
8.2.5 SOAPHeader和SOAPHeaderElement 217
8.2.6 SOAPBody和SOAPBodyElement 218
8.2.7 SOAPFault 218
8.3 編寫SOAP客戶端 219
8.3.1 SOAP連線 219
8.3.2 構建訊息 221
8.3.3 編寫SOAP客戶端 222
8.4 編寫SOAP伺服器 225
8.4.1 JAXMServlet 225
8.4.2 編寫SOAP伺服器 227
8.4.3 部署測試 229
小結 229
練習 230
第9章 WSDL和UDDI 231
9.1 WSDL 233
9.1.1 WSDL概述 233
9.1.2 WSDL文檔結構 234
9.1.3 WSDL綁定 239
9.2 UDDI 241
9.2.1 UDDI註冊中心 241
9.2.2 UDDI數據結構 242
9.2.3 UDDI API 243
9.2.4 WSDL映射到UDDI 245
小結 251
練習 252
第10章 RPC 253
10.1 RPC概述 255
10.1.1 JAX-RPC簡介 255
10.1.2 JAX-RPC應用程式體系結構 256
10.2 映射Java數據類型 257
10.2.1 一般數據類型 257
10.2.2 數組 259
10.2.3 映射為JavaBean 260
10.3 創建基於JAX-RPC的Web Service 261
10.3.1 下載並安裝JWSDP 2.0 261
10.3.2 wscompile和wsdeploy工具 264
10.3.3 創建JAX-RPC伺服器端 266
10.3.4 創建JAX-RPC客戶端 270
小結 276
練習 276
理論篇 277
實踐1 SOAP 278
實踐指導 278
實踐1.G.1 278
知識拓展 284
SOAP安全性 284
拓展練習 287
練習1.E.1 287
實踐2 CXF套用 288
實踐指導 288
實踐2.G.1 288
知識拓展 296
Web Service框架 296
拓展練習 298
練習2.E.1 298
附錄A XSD元素 299
附錄B XSD限定 300
附錄C XPath函式館 301
附錄D XSL元素 303