《Java XML 編程指南》

《Java XML 編程指南》本書作者面向有經驗的程式設計師和計算機專業的學生,通過開發多個實質性的應用程式,介紹了大量與Java、XML、JSP以及XSLT有關的技術;同時,以元編程方式�D�D編寫定製、指導與修改其他程式的程式,在用戶、程式設計師與程式之間建立一種新型關係。

Java XML 編程指南 內容簡介

分散式Web應用程式是如今最常見、也最值得投入的一種應用程式,建立Web應用程式的最佳方式是使之成為三層應用程式,從而巧妙地區分出其三個組成部分:用戶界面、計算邏輯與數據存儲,而Java與XML的組合提供了建立三層應用程式的最佳手段。基於以上思想,本書作者面向有經驗的程式設計師和計算機專業的學生,通過開發多個實質性的應用程式,介紹了大量與Java、XML、JSP以及XSLT有關的技術;同時,以元編程方式�D�D編寫定製、指導與修改其他程式的程式,在用戶、程式設計師與程式之間建立一種新型關係。
本書探討的複合技術既可以分開套用,也可以針對不同系統類型以不同方式結合使用。相信讀者一定會倍感受益。

Java XML 編程指南 本書前言

首先是Wrox公司稱職的編輯們:Tim Briggs,Jeremy Beacock,GregoryBeekman以及Paul Cooper。是他們的努力,避免了許多謬誤;是他們的建議,提供了諸多幫助。David Brownell也值得言謝,他曾在許多場合幫助過我們。

還有colgate大學信息技術服務部的人員,特別是Ross Miller,Jim Nesbitt,Bill Howell,以及SBIO的其他善良人士。感謝Dylan Strong,感謝計算機科學系的秘書Charlotte Jablonski,他們的工作總是那么高效。

本書中的一些論點源於1999年春季的獨立研究課題。參與該課題的學生們利用了一學期的時間緊張工作,在此,一併感謝小組成員Hui Cheng,Alan Lewis,Sameer Panjwani和Jon Seidman;Dave Blank和Alison Hatwell;Karthik Jnyarainan(Java老師);以及Matt Seeve和Chris Towt。儘管Colgate 99級的Armando Singer並非該組成員,但他同樣給予了極大幫助,並顯示出卓越才華。

同樣,感謝我們的家人,沒有他們的支持,就沒有我們今天的成功。

Java XML 編程指南 本書目錄

第1章 三層Web應用程式

 三層應用程式

 一個簡單的範例

 客戶機端

 小型服務程式基礎

 JDBC基礎

 更好的電話簿

 新Servlet類

 MiscDB類及其方法

 logger

 LookerUpper類

 HtmlWrapper類

 Servlet API綜述

 包

 主要角色

 裝載與實例化

 初始化

 服務程式的任務:請求與回響

 完整的包列表

 會話跟蹤

 小結

第2章 一個通用的三層應用程式

 整體設計與Query2

 Query2應用程式

 用於數據交換的ENV

 聲明與方法

 Env與HTTP請求

 根據文本檔案與緩衝閱讀器建立的構造器

 其他Env構造器

 Env與Properties

 DBHandler與Query類

 引入、聲明與變數

 DBHandler構造器

 查詢處理

 addQuery()與delQuery()

 連線庫方法

 Query類

 RowSequence與MiscDB實用程式

 聲明與構造器

 MiscDB實用程式與結果集會元數據

 作為惰性序列的ResultSet對象

 getRow()與next()

 主服務程式

 JDBC綜述:Statement、ResultSet、元數據

 Statement接口

 PreparedStatement擴展了Statement

 數據類型

 PreparedStatement的setXXX()方法

 ResultSet

 JDBC的元數據接口

 ResultSetMetaData

 小結

第3章 三層應用程式的外殼

 自己做的三層應用程式(版本1)

 版本1a:編輯Query2

 Query3:帶有會話的三層應用程式

 應用程式指定的檔案

 Query3服務程式綜述

 doPost()代碼

 在Query3中建立與使用會話

 HTML生成

 根據元素建立頁:wrapPage()

 ECS基礎

 擴展ECS包

 輸出指定類型的頁

 模板檔案

 Query3中的模板檔案與HTML輸出

 模板檔案與Javaserver Pages

 使用Query3建立一個應用程式

 這是一個應用程式服務器嗎?

 連線組合與DBHandler的其餘部分

 問題是什麼?可伸縮性與性能

 安全性與執行緒安全

 連線庫與高速快取

 整體設計與介紹順序

 Cache類

 高速快取範例1:階乘

 高速快取範例2:二項式係數

 屬性檔案與屬性組

 DBConndetionManager

 ConnectionPool類

 在DBHandler中使用連線組合

 小結

第4章 語言、文法與分析程式

 用於查詢輸出的模板檔案

 微型語言的替換

 查詢輸出模板的代碼

 正式語言與文法規則

 英語範例

 文法與分析程式

 上下文無關與上下文相關的文法

 一小段歷史

 EBNF符號

 一個範例:.ini檔案作為一種正式語言

 文法規則、語義約束與辭彙規則

 作為一種正式語言的模板檔案

 分析程式綜述

 一個範例

 分析程式、樹與辭彙分析器

 ParseTree類

 將樹寫入一個字元串

 辭彙分析器

 支付:一個小購物卡

 大學書店

 Env.addBufferedReader()的新代碼

 .ini檔案

 用戶界面與模板檔案

 小給

第5章 XML初步

 XML簡介

 XML易於閱讀

 XML是一種定義標記語言的工具

 XML文檔描述了它們自己的語法

 XML可以在瀏覽器中顯示�s

 XML是對象的一種序列化格式

 XML是一種很好的多層應用程式黏合劑

 XML是一種重要的授權技術

 XML與SGML;XHTML與HTML

 結構合理約束

 一個HTML/XHTML/XML頁面

 一個SGML元素聲明

 終止標註、空元素與分析程式

 分析程式與規範

 HTML與XHTML:區別的總結

 XML文檔

 文檔、處理器與應用程式

 主要的數據類型:CDATA與PCDATA

 邏輯結構

 文檔語法

 注釋CDATA部分與PI

 PI的替換

第6章 實體DTD

第7章 DOX、SAX與分析程式

第8章 SAX處理、Sun分析程式與一致性研究

第9章 集成XML微型語言

第10章 JSP與JavaBean

第11章 多支持系統的實現:通用工具

第12章 多支持系統的實現:具體構造

第13章 XSLT和XPath(節選)

Java XML 編程指南 文章節選

第1章 三層Web應用程式

本章與下一章是本書其他部分的基礎,其目的在於介紹後續章節中將實際使用到的所有概念。如果你缺乏耐心並且已經具備了相關的基礎知識,可以跳過這兩章的內容,在需要的時候再返回閱讀這部分。

我們主要希望你做到以下三點:

?理解三層Web應用程式的結構

?熟悉Servlet API

?熟悉JDBC

在本章中,我們要介紹三層應用程式,並討論一個簡單範例(以此奠定本專題的基礎):可以用於查找電話號碼的Phonebook應用程式。誠然,對本書來說,這不是最適合於一開始就吸引讀者的應用程式:本來,我們考慮用一個植物的資料庫,每一種植物都帶有一個拉丁文名稱,並配有相應的圖像與音樂。然而,這樣會脫離主題,且兩章的內容顯然超出了我們希望的篇幅。不過,在本書結束前,我們一定會給大家奉獻足夠精彩的應用程式。

我們介紹的Phonebook範例在設計與結構組成上都非常簡單,讀者一旦掌握了基礎知識之後,我們將馬上編寫出更好的Phonebook,使之允許一個人擁有多個電話號碼。更重要的是,將中間層的不園任務,如資料庫訪問與HTML生成,分配給不同的類,令這些類得到獨立開發,而不用修改基本的小型服務程式。我們還要包含一些實用程式類與一個有用的Logger類。屆時,將看到兩個稍稍不同的小型服務程式,並以綜述Servlet API 2.1來結束本章。

本章的內容包括:

?三層應用程式

?小型服務程式基礎,包括小型服務程式中的請求一回響處理

?JDBC基礎:驅動程式、連線、查詢與結果集合

?小型服務程式的生存期

?Logger類與自己註冊的優點

?其他JDBC:準備好的語句

?HTML生成的基礎

?ServletAPI綜述

該列表的最後一項非常大。除了JavaDoc檔案內容之外,我們還要提供附加內容,相信它不會白占空間的。API的邏輯結構及其最重要的部分也是我們涉及的目標。最後,還有一個“插入索引”,它將常見的任務與實現它們所需的API部分聯繫了起來。

三層應用程式

一個分散式Web應用程式的不同部分分布在一個網路的不同計算機上。那么都有哪些部分呢?通常的設計模式會將應用程式劃分為View、Controller與Model,這些是應用程式的邏輯組件,它們的分布僅僅表示了最明顯的基本邏輯結構。

Model(模型或應用程式邏輯)是應用程式的內部成分,構成了應用程式的數據模型。View與Controller共同形成了用戶界面:View(視圖或表示邏輯)向用戶顯示了Model的不同部分與特徵,Controller(控制器或事務邏輯)允許用戶修改Model的值,或改變查看Model的方式。通常,用戶不會覺察到Controller的存在:在其最簡單的形式里,它僅僅處理其他兩層之間的通信。根據項目的約束,我們將看到應用程式與事務邏輯駐留的位置會有些變化。除了Model、View與Controller外,應用程式還需要一個持久穩定的存儲:在應用程式不同運行之間,保存其狀態。該存儲可以是一個檔案系統或資料庫。

考慮一個熟悉的應用程式,如Microsoft Excel。視圖是一個行與列的格線,顯示電子表格不同部分中的數字與公式,或許是那些數字與公式的圖表。控制器由工具列上的按鈕、選單命令與快捷鍵組成。模型是一個約束傳播系統,它保證對電子表格一個區域的修改會傳播到其餘每個部分中,所以需要維護由公式表示的約束。電子表格的狀態保存在一個擴展名為.xls的檔案中。(摘自1-2頁)

相關詞條

相關搜尋

熱門詞條

聯絡我們