本文提纲:
* JSP, Servlets & J2EE
* JSP & XML
* 现状
1 JSP, Servlets & J2EE
1.1 J2EE平台
* 具有明确的规范
* 经过了各种 兼容性测试
* 具有很多的 实施参考 (RI)
* 丰富的功能体现在以下方面:
– JSP/Servlets
– JDBC
– EJB
– JMS
– Connector to EIS (J2EE 1.3)
* 具有非常实用的价值
1.2 J2EE所在的Web层
1.3 JSP/Servlets扮演的角色
(译者注:我把JSP和Servelet混在一起了,你可参考本文所附的原文)
* application的入口
* 和外界交互
* 一般都采用HTTP协议
* 客户端可能是以下几种类型:
- Browser
- Applet
- Desktop application (Java Web Start)
- 无线设备
- Server application (B2B)
1.4 JSP/Servlets的用途
* 可以用于
– JSP & Servlet Container
– J2EE Container
* Common mindshare
* Best-of-breed implementation
* 已经获得 广泛的支持
* 动态内容生成
* 具有 简单化的构架
* 由container管理
* 经常 使用JavaBeans和Tag Lib
1.5 一个例子
?xml version="1.0"
%@ page contentType=”text/xml” %
%@ taglib prefix="x" uri="..." %
wml
card id="card1" title="Flowers"
p
Flowers available:
br/
x:enumerate inventory="flowers"
id="aFlower"
%= aFlower.type %
br/
/x:iterate
br/
/p
/card
/wml
1.6 Tag Lib
* 抽象提炼
* XML语法
* Run-Time协议
– 集成到JSP页面中去
– 容易组合和定制
– 由JSP container管理
– 简单的协议,用于简单的需求
1.7 各种协同工作的角色
* 站点页面作者
– 从数据开发者提供的数据中建立表达presentation
– 用户界面方面的专家
– 使用Tag Lib和JavaBeans
– 使用页面工具
* 开发者
– 为页面作者提供数据存取
– 服务器端组织的专家
– 定义Tag Lib和JavaBeans
– IDE
2 JSP & XML
2.1 XML在JSP技术中的应用
JSP页面可以:
– 使用XML
– 生成XML
– 改变XML
* 将JSP页面作为XML文档
* XML配置
2.2 使用XML
* 将XML解析到对象(由开发者完成)
– 硬编码
– 使用Adelard技术
* 解析和复述抽象
* 转变以后插入– XSLT
2.3 解析成为对象
%@ taglib uri="..." prefix="tl" %
html
tl:parse id="saleBooks" type="BookInventory"
xml="Book_Inventory_URL"/
head...
body
table border="0" width="50%"
tl:iterate
id ="bk" type="Book"
collection="%= saleBooks.getBooks()%"
tr
tdjsp:getProperty name="bk" property="title"//td
/tr
/tl:iterate
/table
/body
/html
2.4 解析和复述
%@ taglib uri="..." prefix="tl" %
html
head...
body
table border="0" width="50%"
tl:iterateOnXMLStream
id="bk" type="Book"
xml="Book_Inventory_URL"
tr
tdjsp:getProperty name="bk" property="title"//td
/tr
/tl:iterateOnXMLStream
/table
/body
/html
2.5 组合Data
2.6 转化后插入
%@taglib uri="http://jakarta.apache.org/taglibs/xsl/1.0"
prefix="x" %
html
&
body
center Welcome
x:apply xml="Customer_URL" xsl="store.xsl"/!
p
On Sale Today ...
p
x:apply xml="Inventory_URL" xsl="store.xsl"/
/center
/body
/html
2.7 制作XML
* 客户端可以是
– Gateway网关
– 设备(WAP, XHTML)
* XML
* XML + StyleSheet样式表
2.8 VoiceXML 和 WAP Gateway网关
2.9 生成 XML
2.10 XSLT on XML
2.11 JSP和XSLT
* JSP强化了:
– Template & Java
– Multiple Sources
– Open-ended Portable Abstraction
* XSLT强化了:
– 循环的tree transformation
– 有良好定义的输入输出
* XPath
2.12 生成内容用于
Multiple Devices
* One back end source
* 许多客户
* 将总的维护费用最小化
* 达到预期的性能
2.13 多客户的XSLT样式
2.14 多客户的短管道 Short Pipelines
2.15 多客户的组合途径
2.16 在JSP技术中使用XML
* JSPs Pages
将JSP页面作为 XML文档
* Manipulation
– Apply XSLT to generate JSP
* Authoring
– JSP pages from XML objects
* Validation
– TagLibraryValidator
* Standarized in JSP 1.2
* XML配置
* Tag Library Descriptor
* Servlet configuration<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


