js|xml
本文提綱:
* 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>
<td><jsp: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>
<td><jsp: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>
<head>...
<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