词条 | 《Java XML 编程指南》 |
释义 | 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页) |
随便看 |
百科全书收录594082条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。