《Java XML编程指南》PDF下载

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

第1章 三层Web应用程序 1

三层应用程序 1

一个简单的范例 3

客户机端 4

小型服务程序基础 4

JDBC基础 7

更好的电话簿 9

新Servlet类 9

MiscDB类及其方法 12

Logger类 14

LookerUpper类 16

HtmlWrapper类 18

Servlet API综述 22

包 22

主要角色 22

装载与实例化 23

初始化 23

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

完整的包列表 30

会话跟踪 32

小结 34

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

整体设计与Query2 36

Query2应用程序 37

用于数据交换的Env类 39

声明与方法 39

Env与HTTP请求 40

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

Env与Properties 42

其他Env构造器 42

DBHandler与Query类 43

引入、声明与变量 44

DBHandler构造器 44

查询处理 47

addQuery()与delQuery() 48

连接库方法 48

Query类 49

RowSequence与MiscDB实用程序 53

声明与构造器 53

MiscDB实用程序与结果集合元数据 54

作为惰性序列的ResultSet对象 56

getRow()与next() 57

主服务程序 58

JDBC综述:Statement、ResultSet、元数据 60

Statement接口 61

PreparedStatement扩展了Statement 63

数据类型 64

PreparedStatement的setXXX()方法 65

ResultSet 66

JDBC的元数据接口 67

ResultSetMetaData 68

小结 69

第3章 三层应用程序的外壳 70

自己做的三层应用程序(版本1) 70

版本1a:编辑Query2 71

Query3:带有会话的三层应用程序 74

应用程序指定的文件 75

Query3服务程序综述 77

doPost()代码 78

在Query3中建立与使用会话 81

HTML生成 82

根据元素建立页:wrapPage() 82

ECS基础 83

扩展ECS包 84

输出指定类型的页 85

模板文件 86

Query3中的模板文件与HTML输出 87

模板文件与JavaServer Pages 88

使用Query3建立一个应用程序 90

这是一个应用程序服务器吗? 91

连接组合与DBHandler的其余部分 92

问题是什么?可伸缩性与性能 92

安全性与线程安全 92

连接库与高速缓存 93

整体设计与介绍顺序 93

Cache类 94

高速缓存范例1:阶乘 99

高速缓存范例2:二项式系数 102

属性文件与属性组 104

DBConnectionManager 107

ConnectionPool类 114

在DBHandler中使用连接组合 118

小结 119

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

用于查询输出的模板文件 123

微型语言的替换 124

查询输出模板的代码 125

正式语言与文法规则 127

英语范例 128

一小段历史 129

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

文法与分析程序 129

EBNF符号 130

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

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

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

分析程序综述 134

一个范例 136

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

ParseTree类 140

将树写入一个字符串 143

词汇分析器 147

支付:一个小购物卡 154

大学书店 155

Env.addBufferedReader()的新代码 155

.ini文件 158

用户界面与模板文件 159

小结 166

第5章 XML初步 167

XML易于阅读 168

XML简介 168

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

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

XML可以在浏览器中显示 171

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

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

XML是一种重要的授权技术 172

XML与SGML;XHTML与HTML 173

结构合理约束 173

一个HTML/XHTML/XML页面 174

一个SGML元素声明 175

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

分析程序与规范 177

HTML与XHTML:区别的总结 178

XML文档 180

文档、处理器与应用程序 180

主要的数据类型:CDATA与PCDATA 181

逻辑结构 181

文档语法 182

注释、CDATA部分与PI 183

PI的替换 186

元素生成 187

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

编程中的名称空间 188

XML中的名称冲突 189

前缀解决方案 190

Web上的完全限定名 190

名称空间与DTD 193

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

XML 1.0中的新生成与改变 195

扩展元素与属性名称 196

小结 197

第6章 实体与DTD 198

引言 198

物理实体 198

对字符实体的引用 199

参数与普通实体 199

实体声明与引用 199

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

非XML数据的外部实体:Notations 202

DOCTYPE声明 203

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

使用实体的范例 205

CDATA的助记名称 205

字符的助记名称 207

包含文件 207

作为模块的外部参数实体 209

模块化XHTML 210

条件部分与外部参数实体 211

作为宏的内部参数实体 212

元素与属性声明 212

元素声明 213

属性-列表声明 215

DTD的缺陷 220

文档、处理器与DTD 221

非确认性的分析程序 221

确认性分析程序 222

空白区的处理 222

实体引用替换过程 224

小结 226

第7章 DOM、SAX与分析程序 227

分析XML文档 227

DOM与SAX 228

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

输入源与文档对象 230

一个范例应用程序:DocWalker 232

应用程序的结构 233

DocWalkerServlet 233

DocWalker 235

写出XML字符串 245

模板文件 246

XmlManipulator:剪切、复制与粘贴 247

DOM Level 1 250

DOM接口 250

XML、DOM与语言联编 251

IDL的范例与Java联编 254

Java联编的结构 255

小结 258

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

EchoAsHtml 259

Sun的Java XML指南 262

EchoAsHtml、三层版本 266

EchoAsHtml类 268

HandlerBase方法 273

总结与评述 283

SAX评述 283

SUN工具包的评述 284

XML处理器的一致性研究 284

小结 286

第9章 集成XML微型语言 287

SAXMinilanguage 288

算术表达式语言 288

二堆栈办法 289

SAXMinilanguage 291

算术表达式Minilanguage 296

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

Xm12DBTables 301

Xm12DBTables的DTD 301

Xm12DBTables类 303

XML与关系型数据表格 309

小结 312

第10章 JSP与JavaBean 313

引言 313

它的显示 314

JSP的主要特性 314

工作原理 315

将JSP转换为服务程序 316

JSP语法与语义 321

非XML语法 321

行为元素 324

设计考虑 326

与客户机的会话 326

具有JSP与JavaMail的Birthday应用程序 327

入口点:birthday.htm 329

JSP主页:birthday.jsp 331

输出模板文件 333

部件对象的内部:BirthdayBean.java 336

程序总结 345

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

小结 346

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

引言 348

应用程序综述 349

测试 351

XML配置子系统 354

序列与数据源 354

部件对象与JavaMail API 355

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

JavaMail的结构 356

启动一个会话 357

RowSeq及其派生 357

RowSeq 358

DBRowSequenct 365

过滤与映射 369

MailSequence 369

RowViewSource 371

更新更好的Env 373

递归Env 374

XML配置 380

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

XmlConfig子系统综述 381

mailConfig.xml与它定义的Env 382

XmlConfig 383

根据Env建立部件对象 385

根据XML文档建立部件对象 389

从DOM到Env 392

XmlConfigBase.java 396

小结 399

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

从客户机到JSP主页 400

HTML入口点 401

JSP主页 403

JSP输出页 405

主部件对象 406

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

doLogin()与初始化 408

doCommand() 412

msgList命令 413

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

XmlConfigBase的重载方法 418

结论 419

小型部件对象 419

MessageSender 419

MessageMaker 423

RowViewSource 1:MailViewSource 425

主要构成部分 425

引入、变量、构造器和setString() 425

JavaMail方法 428

获取消息的方法 432

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

输出方法 437

RowViewSource 2:DBViewSource 441

mailSource与databaseSource元素 441

对比提纲 442

引入、变量和构造器 442

initSession()、setQueries()、initDBHandler() 443

获取行的方法 445

删除行的方法 446

小结 448

第13章 XSLT和XPath 450

引言 450

XSLT概述 450

要点总结 451

历史回顾 451

IE5范例 455

配置XT 460

三个扩展范例 461

文档范例 462

编程范例:Countdown 464

数据范例:SQL到XSL 466

XSLT和XPath的细节剖析 471

XSLT数据模型 471

XSLT处理模型 472

XPath概述 472

XSLT的扩展 475

更高级的编程范例 476

嵌套循环 476

排列 477

8 Queens Puzzle 481

XSLT的用途 484

小结 485

跋 486

附录A 安装简单说明 488

附录B 相关资源 491

附录C HTTP 494

附录D JDBC API Reference 512

附录E JSDK API Reference 548

附录F JavaServer Pages语法简介 562

附录G 核心JavaMail/JAF API Reference 568

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

附录I XML中的名称空间 647

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

附录K SAX API Reference 670

附录L 规则表达式 678

附录M 技术支持和勘误表 682