Java XML编程指南

Java XML编程指南
作 者: Tom Myers Alexander Nakhimovsky 王辉 张晓晖 王辉
出版社: 电子工业出版社
丛编项: 乐思公司编程指南系列
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: Java
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  Alexander Nakhimovsky于1972年获得Lenigrad大学数学硕士学位。1978年获Cornell大学大众语言学博士学位。并辅修了计算机学,在1985年进入Colgate大学的计算机系之前,他曾于Cornell 与SRNY Oswego讲授大众与斯拉夫语言学,他出版了一部关于理论与计算机语言学的专著和多篇文章,多部俄语教科书,一本Nabokov's字典,并与Tom Myers合作出版了“ Javascript Objects ”,Wrox 1998 ,以及“Professional Java XML Programming with Servlets and JSP ”,Wrox 1999。Tom于1975年获St.John's学院学士学位,1980年获Pennsylvania大学计算机学博士学位。他在专职从事软件开发与咨询之前,曾于Delaware与Colgate大学教育计算机学,他是“Equations,Models,and Programs:A Mathematical Introduction to Computer Science ”Prentice-Hall Software Serids,1998 的作者,并撰写了多篇关于理论计算机学方面的论文,他还与Alexander Nakhimovsky合作出版了“ Javascript Objects ”,Wrox1998,以及 Professional Java XML Programming with Servlets and JSP “,Wrox1999.

内容简介

分布式Web应用程序是如今最常见、也最值得投入的一种应用程序,建立Web应用程序的最佳方式是使之成为三层应用程序,从而巧妙地区分出其三个组成部分:用户界面、计算逻辑与数据存储,而Java与XML的组合提供了建立三层应用程序的最佳手段。基于以上思想,本书作者面向有经验的程序员和计算机专业的学生,通过开发多个实质性的应用程序,介绍了大量与Java、XML、JSP以及XSLT有关的技术;同时,以元编程方式——编写定制、指导与修改其他程序的程序,在用户、程序员与程序之间建立一种新型关系。本书探讨的复合技术既可以分开应用,也可以针对不同系统类型以不同方式结合使用。相信读者一定会倍感受益。

图书目录

第1章 三层Web应用程序

三层应用程序

一个简单的范例

客户机端

小型服务程序基础

JDBC基础

更好的电话簿

新Servlet类

MiscDB类及其方法

Logger类

LookerUpper类

HtmlWrapper类

Senlet API综述

主要角色

装载与实例化

初始化

服务程序的任务:请求与响应

完整的包列表

会话跟踪

小结

第2章 一个通用的三层应用程序

整体设计与Query2

Query2应用程序

用于数据交换的Env类

声明与方法

Env与HTTP请求

根据文本文件与缓冲阅读器建立的构造器

其他Env构造器

Env与Properties

DBHandler与Qery类

引入、声明与变量

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:二项式系数

属性文件与属性组

DBC0nnectionManager

ConnectionPoo1类

在DBHandler中使用连接组合

小结

第4章 语言、文法与分析程序

用于查询输出的模板文件

微型语言的替换

查询输出模板的代码

正式语言与文法规则

英语范例

文法与分析程序

上下文无关与上下文相关的文法

一小段历史

EBNF符号

一个范例:.ini文件作为一种正式语言

文法规则、语义约束与词汇规则

作为一种正式语言的模板文件

分析程序综述

一个范例

分析程序、树与词汇分析器

ParseTree类

将树写入一个字符串

词汇分析器

支付:一个小购物卡

大学书店

Env.addBufferedReader()的新代码

.ini文件

用户界面与模板文件

小结

第5章 XML初步

XML简介

XML易于阅读

XML是一种定义标记语言的工具

XML文档描述了它们自己的语法

XML可以在浏览器中显示

XML是对象的一种序列化格式

XML是一种很好的多层应用程序黏合剂

XML是一种重要的授权技术

XML与SOML;XHTML与HTML

结构合理约束

一个HTML/XHTML/XML页面

一个SOML元素声明

终止标注、空元素与分析程序

分析程序与规范

HTML与XHTML:区别的总结

XML文档

文档、处理器与应用程序

主要的数据类型:CDATA与PCDATA

逻辑结构

文档语法

注释、CDATA部分与PI

PI的替换

文档的本征部分与名称空间

元素生成

编程中的名称空间

XML中的名称冲突

前缀解决方案

Web上的完全限定名

名称空间与DTD

名称空间可以任意使用吗?

XML l.0中的新生成与改变

扩展元素与属性名称

小结

第6章 实体与DTD

引言

物理实体

对字符实体的引用

参数与普通实体

实体声明与引用

实体定义:内部与外部实体

非XML数据的外部实体:Notations

五个预声明实体与两个未命名实体

DOCTYPE声明

使用实体的范例

CDATA的助记名称

字符的助记名称

包含文件

作为模块的外部参数实体

模块化XHTML

条件部分与外部参数实体

作为宏的内部参数实体

元素与属性声明

元素声明

属性—列表声明

DTD的缺陷

文档、处理器与DTD

非确认性的分析程序

确认性分析程序

空白区的处理

实体引用替换过程

小结

第7章 DOM、SAX与分析程序

分析XML文档

现有的分析程序,以及我们应该使用哪一种?

DOM与SAX

输入源与文档对象

一个范例应用程序:DocWalker

应用程序的结构

DOCWaalkerServlet

Docwalker

写出XML字符串

模板文件

XmlManipulator:剪切、复制与粘贴

DOM接口

DOM Level l

XML、DOM与语言联编

IDL的范例与Java联编

Java联编的结构

小结

第8章 SAX处理、Sun分析程序与一致性研究

EchoAsHtml

Sun的Java XML指南

EchoAsHtm1、三层版本

EchoAsHtml类

HandlerBase方法

总结与评述

SAX评述

SUN工具包的评述

XML处理器的一致性研究

小结

第9章 集成XML微型语言

SAXMinilanguage

算术表达式语言

二堆栈办法

SAXMinilanguage

算术表达式Minilanguage

驱动程序:客户机与服务程序

xnd2DBTables

Xml2DBTables的DTD

xml2DBTables类

XML与关系型数据表格

小结

第10章 JSP与JavaBean

引言

JSP的主要特性

它的显示

工作原理

将JSP转换为服务程序

JSP语法与语义

非XML语法

行为元素

设计考虑

与客户机的会话

具有JSP与JavaMail的Birthday应用程序

入口点:birthday.htm

JSP主页:birthday.jsp

输出模板文件

部件对象的内部:BithdayBean.java

程序总结

JSP与用于数据模板的SUBST微型语言

小结

第11章 多支持系统的实现:通用工具

引言

应用程序综述

测试

XML配置子系统

序列与数据源

部件对象与JavaMail API

电子邮件的传输与存储协议

JavaMail的结构

启动一个会话

RowSeq及其派生

RowSeq

DBRowSequenct

MailSequence

过滤与映射

RowViewSource

更新更好的Env

递归Env

XML配置

主要概念:三个递归数据结构

XmlConfig子系统综述

mailConfig.xml与它定义的Env

XmlConfig

根据Env建立部件对象

根据XML文档建立部件对象

从DOM到Env

XmlConfigBase.java

小结

第12章 多支持系统的实现:具体构造

从客户机到JSP主页

HTML入口点

JSP主页

JSP输出页

主部件对象

引入、类层次变量与构造器

doLogin()与初始化

doCommand()

msgList命令

显示、发送以及删除消息的方法

XmlConfigBase的重载方法

结论

小型部件对象

MessageSender

MessageMaker

RowViewSource l:MailViewSource

主要构成部分

引入、变量、构造器和setSking()

JavaMail方法

获取消息的方法

删除消息和消息范围的方法

输出方法

RowViewSource 2:DBViewSource

mailSource与databaseSource元素

引入、变量和构造器

对比提纲

ioitSession()、setQuedes()、initDBHandler()

获取行的方法

删除行的方法

小结

第13章 XSLT和XPath

引言

XSLT概述

历史回顾

要点总结

IE5范例

配置XT

三个扩展范例

文档范例

编程范例:Countdown

数据范例:SQL到XSL

XSLT和XPath的细节剖析

XSLT数据模型

XSLT处理模型

XPath概述

XSLT的扩展

更高级的编程范例

嵌套循环

排列

8 QUeens Puzzle

XSLT的用途

小结

附录A 安装简单说明

附录D 相关资源

附录C HTTP

附录D JDBC API Reference

附录E JSDK API Beference

附录F javaSenerPages语法简介

附录G 核心javaMail/JAFAHRefGrence

附录H 可扩展标记语言(XML)1.0规范

附录I XML中的名称空间

附录J DOM l核心:IDL与Java语言联编

附录K SAX API Reference

附录L 规则表达式

附录M 技术支持和勘误表