自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

淺析JSP技術(shù)單處理和多任務(wù)處理

開(kāi)發(fā) 后端
本文介紹JSP技術(shù)單處理和多任務(wù)處理,以及介紹JSP技術(shù)最嚴(yán)重的缺陷之一就是它與XML不兼容。

JSP技術(shù)單處理和多任務(wù)處理

如前所述,理想狀態(tài)下,設(shè)計(jì)師應(yīng)該能夠執(zhí)行單獨(dú)處理,只關(guān)注圖形設(shè)計(jì),而開(kāi)發(fā)人員應(yīng)該能夠?qū)⒆⒁饬性诰幊躺稀R虼?,設(shè)計(jì)師可以在將頁(yè)面轉(zhuǎn)換為適合應(yīng)用程序的格式后,再對(duì)其進(jìn)行處理。對(duì)于 JSP 頁(yè)面來(lái)說(shuō),將頁(yè)面轉(zhuǎn)換為適合應(yīng)用程序的格式就是指向頁(yè)面導(dǎo)入 JavaBeans、插入內(nèi)聯(lián)編碼并添加自定義標(biāo)記庫(kù)。問(wèn)題是有些設(shè)計(jì)師使用的是 HTML 編輯器,比如 HoTMetaL、Macromedia Dreamweaver 或 FrontPage,這些編輯器無(wú)法識(shí)別代碼 scriptlets 或標(biāo)記庫(kù),這意味著設(shè)計(jì)師實(shí)際上只收到了頁(yè)面的一部分。想象一下,標(biāo)記庫(kù)或代碼片段只生成了表的若干行,或是頁(yè)面中其他格式化的細(xì)節(jié),這是多么麻煩的事情。設(shè)計(jì)師使用了不兼容的 HTML 編輯器,無(wú)法看到這些元素的外觀。在開(kāi)發(fā)人員完成編碼后,設(shè)計(jì)師不能輕松地對(duì)頁(yè)面進(jìn)行修改,這時(shí),不僅沒(méi)有清晰地劃分角色,JSP 編碼實(shí)際上將這兩種角色合二為一:開(kāi)發(fā)人員必須執(zhí)行多個(gè)任務(wù),必須擔(dān)當(dāng)開(kāi)發(fā)人員、設(shè)計(jì)師以及其他角色。

如果您仍然對(duì)此表示懷疑,那么請(qǐng)下載 J2EE Reference Implementation 并將其中一個(gè)附帶的 JSP 頁(yè)面加載到一個(gè) WYSIWYG HTML 編輯器,例如 Dreamweaver.頁(yè)面立即被一些黃色區(qū)域填充,告訴您頁(yè)面中包含的所有 “錯(cuò)誤” 標(biāo)記。當(dāng)然,黃色內(nèi)容來(lái)自于 JSP 標(biāo)記和代碼,而不是頁(yè)面出現(xiàn)了什么真正的錯(cuò)誤。

迄今為止,尚未出現(xiàn)支持 JSP 功能的 WYSIWYG 編輯器,我也沒(méi)有聽(tīng)說(shuō)過(guò)任何與此相關(guān)的項(xiàng)目。盡管模板引擎也具有相同的問(wèn)題,但是很多基于 Java 的解決方案,例如我最喜歡的 Enhydra,都允許您將標(biāo)記頁(yè)面作為輸入提供給表示技術(shù)。在這種情況下,設(shè)計(jì)師可以根據(jù)需要頻繁地進(jìn)行修改,并重新提供標(biāo)記頁(yè)面。運(yùn)行表示技術(shù)的引擎或編譯程序?qū)?biāo)記頁(yè)面轉(zhuǎn)換為適當(dāng)?shù)母袷?,并且不需要修改任何代碼(典型情況下)。最終獲得了理想的結(jié)果:設(shè)計(jì)師和開(kāi)發(fā)人員各司其職。

因此,要注意 JSP技術(shù)作出的承諾和它實(shí)際交付的實(shí)現(xiàn)。在實(shí)際中,要在一個(gè) JSP技術(shù)驅(qū)動(dòng)的環(huán)境下發(fā)揮功效,必須讓開(kāi)發(fā)人員處理大部分標(biāo)記,或至少讓設(shè)計(jì)師學(xué)習(xí)一些 JSP 編碼。

HTML和XML

JSP技術(shù)最嚴(yán)重的缺陷之一(也是經(jīng)常被忽視的一個(gè)缺陷)就是它與 XML 不兼容。更確切地說(shuō),并且特別針對(duì) HTML 領(lǐng)域,JSP 頁(yè)面不要求具備 XHTML 兼容性。XHTML 是一個(gè) World Wide Web Consortium (W3C) 規(guī)范,目前正在取代 HTML 4.0.XHTML 在實(shí)現(xiàn)格式良好的 XML 文檔方面定義了 HTML 標(biāo)記集。例如,<br> 標(biāo)記必須被轉(zhuǎn)換為 <br/> 才能確保 XML 兼容性(如果這個(gè)例子沒(méi)有解釋清楚的話(huà),可以查閱 參考資料 列出的 XML 規(guī)范,以及關(guān)于 XHTML 的 developerWorks 文章)。同樣的規(guī)則適用于圖像標(biāo)記,并且在 XHTML 1.1(即將到來(lái))中,大部分字體屬性和其他樣式被移入到 CSS 樣式表中。另外,大多數(shù)標(biāo)準(zhǔn) HTML 文檔可以輕松地轉(zhuǎn)換為 XHTML 1.0,這意味著可以使用任何與 XML 兼容的解析器讀取,例如 Apache Xerces,并且可以作為 XML 進(jìn)行處理。

您會(huì)問(wèn) “這有什么關(guān)系呢?”。答案是關(guān)系重大。因?yàn)?XML 正在快速成為一個(gè)在應(yīng)用程序之間和應(yīng)用程序內(nèi)部進(jìn)行通信的全球標(biāo)準(zhǔn)。使用 XML 格式傳遞書(shū)籍,可以讓任何使用基本 XML 數(shù)據(jù)綁定功能的應(yīng)用程序輕松地使用您的應(yīng)用程序的數(shù)據(jù)。想象一下,通過(guò)將您的數(shù)據(jù)遷移到 XML 格式,您就可以與信用卡公司進(jìn)行網(wǎng)上交易!多數(shù)情況下,您的數(shù)據(jù)表示還需要與其他公司進(jìn)行交互。最常見(jiàn)的情況是門(mén)戶(hù)應(yīng)用程序,它接受來(lái)自各種提供者的內(nèi)容(例如,天氣信息、股票報(bào)價(jià)和新聞),通常附帶有提供者的標(biāo)記。然而,由于 JSP 頁(yè)面將代碼和自定義標(biāo)記庫(kù)相混合,因此無(wú)法在這種環(huán)境下良好地工作。

JSP 頁(yè)面很少具有格式良好的 XML 文檔,并且不重視是否符合 XHTML,而 XHTML 這種標(biāo)記語(yǔ)言并不允許使用各種 JSP 自定義標(biāo)記庫(kù)。然而,更重要的是,插入到 JSP 頁(yè)面的代碼片段并不屬于任何標(biāo)記形式,因此當(dāng)另一個(gè)應(yīng)用程序處理它們時(shí),將產(chǎn)生解析器加載錯(cuò)誤。

在您提出質(zhì)疑之前,讓我們先了解一下整個(gè)情況。如果應(yīng)用程序允許 JSP 頁(yè)面由初始客戶(hù)機(jī)處理,結(jié)果將產(chǎn)生純 HTML(或 WML、VoXML 等)。然而,大多數(shù)請(qǐng)求這個(gè)數(shù)據(jù)的應(yīng)用程序使用了一定程度的緩存,因?yàn)榫W(wǎng)絡(luò)往返開(kāi)銷(xiāo)很昂貴。在這些情況下,緩存過(guò)的頁(yè)面將返回過(guò)時(shí)的數(shù)據(jù)。因此,您可能更愿意返回與 XML 兼容的結(jié)果,最好使用靜態(tài)的形式。而 JSP技術(shù)在這些情況下無(wú)能為力;JSP 頁(yè)面必須始終 在運(yùn)行時(shí)進(jìn)行處理,以去掉 JSP 代碼 scriptlets 和標(biāo)記庫(kù)。

看看最關(guān)鍵的考驗(yàn):其他一些表示技術(shù)能做到這一點(diǎn)嗎?答案是可以。這個(gè)領(lǐng)域最權(quán)威的領(lǐng)導(dǎo)者是 Apache Cocoon 項(xiàng)目,它完全建立在 XML 和一個(gè) XSLT 樣式表應(yīng)用程序(可以在運(yùn)行時(shí)或靜態(tài)狀態(tài)下應(yīng)用)的基礎(chǔ)之上。由于 XML Server Pages(在 Cocoon 框架中稱(chēng)為 XSP)實(shí)際上是 XML 文檔,因此始終與 XML 兼容。像 Tea 和 Enhydra XMLC 等允許輸入純標(biāo)記語(yǔ)言頁(yè)面的技術(shù)也可以做到這點(diǎn),雖然它們的目的并不在此。在這些情況下,用戶(hù)可以使用 XHTML 或標(biāo)準(zhǔn)的 HTML.此外,這比 JSP技術(shù)要好,因?yàn)?JSP 不能 靜態(tài)地實(shí)現(xiàn)格式良好的 XML.

【編輯推薦】

  1. 簡(jiǎn)單介紹JSP技術(shù)
  2. 需要掌握的十個(gè)JSP標(biāo)簽庫(kù)
  3. JSP技術(shù)中表單數(shù)據(jù)存儲(chǔ)的通用方法
  4. 詳解JSP技術(shù)的方法
  5. 怎樣學(xué)習(xí)JSP技術(shù)
責(zé)任編輯:佚名 來(lái)源: 中國(guó)IT實(shí)驗(yàn)室
相關(guān)推薦

2014-05-09 12:59:26

iOS移動(dòng)互聯(lián)網(wǎng)

2009-07-17 17:29:13

多任務(wù)多線(xiàn)程

2011-02-21 10:16:16

多任務(wù)處理功能Windows Pho

2017-08-10 15:02:34

華碩筆記本

2010-04-09 14:37:08

Oracle數(shù)據(jù)庫(kù)

2011-09-06 17:47:21

瀏覽器單窗口多任務(wù)

2017-04-06 14:40:29

JavaScript錯(cuò)誤處理堆棧追蹤

2017-03-08 08:57:04

JavaScript錯(cuò)誤堆棧

2010-09-27 13:35:43

TCP IP故障

2009-08-12 15:20:21

C#事件處理

2022-02-18 09:43:43

Windows 游戲操作系統(tǒng)Windows11

2010-02-26 17:47:07

2009-07-01 18:17:32

JSP處理Cookie

2009-06-30 17:26:56

JSP頁(yè)面

2009-07-03 14:41:03

2009-07-22 16:43:22

iBATIS框架iBATIS優(yōu)化

2009-07-15 17:41:55

iBATIS事務(wù)處理

2009-07-20 13:22:47

iBATIS.Net日

2013-08-13 14:39:29

多任務(wù)下載

2023-02-28 09:16:35

智能騎車(chē)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)