国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      網(wǎng)頁、網(wǎng)站建模和生成的制作方法

      文檔序號:6476441閱讀:734來源:國知局

      專利名稱::網(wǎng)頁、網(wǎng)站建模和生成的制作方法
      技術領域
      :本發(fā)明領域本發(fā)明一般涉及計算系統(tǒng),尤其涉及在組件級建模網(wǎng)頁,其提供了用于匯編和構建網(wǎng)頁、網(wǎng)站和網(wǎng)站聚合(websitesyndication)的系統(tǒng)和方法。
      背景技術
      :自因特網(wǎng)和萬維網(wǎng)的誕生起,開發(fā)了許多工具和方法來離線地創(chuàng)作網(wǎng)頁(MacromediaStudio、MicrosoftFrontPage、Dreamweaver,AdobeCreativeSuite,這僅歹俾了少數(shù)),或者在線動態(tài)地創(chuàng)作網(wǎng)頁,其大部分時間是數(shù)據(jù)庫驅動的(GooglePageCreator,YahooGEOCIT正S等)。通常它們直接遵守HTML規(guī)范并提供實現(xiàn)html元素的函數(shù)和特征。缺乏對網(wǎng)頁自身的抽象建模是這些工具和方法的共同特性。該特性通常反映在需要對工具的深度學習曲線以及對HTML元素和規(guī)范的透徹理解才能更好地創(chuàng)作網(wǎng)頁這一事實。幾乎所有工具都提供模板供作者使用和構建,從而在創(chuàng)建網(wǎng)頁方面具有高超能力,但這對于外行而言仍不容易。網(wǎng)頁是從基本級的html元素或從最頂級構建而成的,在后一種情形中網(wǎng)頁由引用其他網(wǎng)頁的框架集和框架組成。從中間立場而言,在組件級(componentlevel)建模網(wǎng)頁具有缺點。對于為了重用網(wǎng)頁的一部分的網(wǎng)頁聚合,RSS(真正簡單聚合)的不同版本和Atom規(guī)范將XML用作其數(shù)據(jù)格式并將其信息作為被稱為"RSS訂閱源"、"web訂閱源"、"RSS流"、或"RSS頻道"的XML文件來遞送。被稱為訂閱源閱讀器或聚集器的程序可代表用戶檢查訂閱源列表并顯示其找到的任何已更新的文章。需要網(wǎng)頁上的組件模型來提供用于網(wǎng)頁聚合的新領地。發(fā)明公開發(fā)明了在HTML元素級上層的更高級別地建模網(wǎng)頁,用于通過封裝組件中的HTML元素的細節(jié)并隨后將組件匯編成網(wǎng)頁來構建網(wǎng)頁和網(wǎng)站。通過展示組件作為服務,組件可在其他網(wǎng)站中被重用并使得網(wǎng)站能聚合。定義抽象頁面并用于代表網(wǎng)頁;定義抽象鑲嵌并用于代表網(wǎng)頁的組件或部分,鑲嵌可本地或遠程地被綁定到任何有意義信息,鑲嵌可被展示作為服務。一個或多個鑲嵌可懸掛于頁面上的不同行和列位置處,以形成呈現(xiàn)網(wǎng)頁用的圖案。通過操縱鑲嵌的行和列位置,達成了用于呈現(xiàn)網(wǎng)頁的不同圖案。此外,一個或多個其他鑲嵌可以與鑲嵌懸掛于頁面上相同的方式懸掛于鑲嵌上。嵌入級別可為任意高。此外,與網(wǎng)頁的標題區(qū)的恰當信息綁定的鑲嵌可被懸掛于網(wǎng)頁的標題區(qū)上或所謂的注入其中。這種有序多層結構提供了供一組同步線程同時一起工作以便以高效和高速方式生成網(wǎng)頁的機制。多個緩沖器層次容納該過程以臨時并有序地存儲所生成的內容以構成網(wǎng)頁。此機構的嵌套或級聯(lián)本質在本質上與層疊樣式表(CSS)機制是相同的,并且每一個組件的樣式可個別地指定并從最低部到頂部級聯(lián)。頁面在指定為目錄類型時可將其他頁面維持為其孩子并提供用于管理和訪問的目錄樹結構。頁面可以僅僅是頁面自身或者其可被映射到鑲嵌;頁面拷貝映射到諸如圖片或視頻等實體,頁面還可被映射到諸如搜索框等函數(shù),頁面還可被映射到遠程信息源,在所有情形中,實體、函數(shù)、或遠程信息服務與懸掛于被映射頁面上預先指定位置處的鑲嵌綁定。此樹結構使得能管理和訪問大量頁面和各種內容,以及相關樹操作和函數(shù)。這種結構可用于映射本地文件目錄以供從web瀏覽器訪問,并也可用于生成電子書以供離線查看。定義許可和訪問控制機制用于頁面的創(chuàng)建、管理和可訪問性。附圖簡述圖1是頁面的示例性實施例并示出懸掛于該頁面上的鑲嵌,并且這些鑲嵌根據(jù)其懸掛位置的行值(X值)被編組成片(slice);圖2是嵌套鑲嵌的示例性實施例并示出懸掛于嵌套鑲嵌上的鑲嵌,并且所懸掛的鑲嵌根據(jù)其懸掛位置的行值(X值)被編組成片;圖3是與網(wǎng)頁的生成過程相關聯(lián)的多個線程的層次的示例性實施例;圖4是多個緩沖器層次的示例性實施例及其在網(wǎng)頁的生成過程中相關聯(lián)的對象關鍵字;圖5是在瀏覽器中查看頁面的網(wǎng)頁的示例性實施例;圖6是用于査看和導航頁面的目錄結構以及用于創(chuàng)建和管理頁面的基于瀏覽器的用戶接口的示例性實施例;圖7是用于管理頁面的可訪問性的基于瀏覽器的用戶接口的示例性實施例;圖8是用于在視圖模式下顯示和匯編頁面的基于瀏覽器的用戶接口的示例性實施例;圖9是用于在編輯模式下顯示和匯編頁面的基于瀏覽器的用戶接口的示例性實施例;圖10是用于顯示和管理頁面的CSS元素的樣式表信息的基于瀏覽器的用戶接口的示例性實施例;圖11是用于顯示和管理所選本地文件夾的列表及其指定的實體類型的基于瀏覽器的用戶接口的示例性實施例。發(fā)明最佳實施方式無論是靜態(tài)地存儲在web應用服務器中還是由其動態(tài)地生成的網(wǎng)頁的底層html文件,在被用戶請求時都被傳送給用戶的web瀏覽器并在其中呈現(xiàn)。網(wǎng)頁可呈現(xiàn)許多種類的信息以供展現(xiàn)和交互。網(wǎng)頁的html文件以開始標簽〈html〉開始并以結束標簽^html〉結束。html文件包括以開始標簽〈head〉開始并以結束標簽^head〉結束的標題區(qū)。非框架類型html文件除標題區(qū)外還包括主體區(qū),并且主體區(qū)以開始標簽〈body〉開始并以結束標簽^body〉結束??蚣茴愋蚳tml文件除標題區(qū)外還包括以開始標簽〈framese^開始并以結束標簽々frameseP結束的框架集元素,其可涵蓋一個或多個框架元素以及一個或多個其他框架集元素。網(wǎng)站可以很簡單并且僅由一個html文件或數(shù)個html文件組成,或者可以較復雜從而包括存儲與該網(wǎng)站有關的數(shù)據(jù)和信息的數(shù)據(jù)庫。一種網(wǎng)站是目錄站點一種包含被分為各類別和子類別的不同內容的站點。在此,數(shù)據(jù)、信息、和內容是不可分且可互換的,并且它們具有相同的普通意義。實體(Entity)是具有獨特的單獨存在性的事物,但其無需是物質上的存在性。一般而言,也不假定實體是有生命的。實體可被視為包含子集的集合。可以認為集合是作為整體考慮的截然不同事物的任何集成。在計算機編程中,實體是持久性的,這意味著其可被存儲在諸如存儲器或硬盤的文件系統(tǒng)或數(shù)據(jù)庫等計算機可讀介質中并從其檢索。在本公開中,術語"實體"及相應的實體類被用來定義所有實體的最抽象和最頂層的超集。其還實現(xiàn)適用于所有實體的公共方法。在本公開中,術語"實體呈現(xiàn)(EntityPresentation)"及其相應的實體呈現(xiàn)界面被用來定義對呈現(xiàn)實體的公共方法集的簽名。有許多不同方法來通過構造和修改實體的html格式或其他格式來呈現(xiàn)實體。在一些情形中,實體自身的內容為html格式并且可直接使用。作為實體的子集,術語"頁"(Page)或"頁面"及其相應的頁面類被用于表示網(wǎng)頁。網(wǎng)頁的表示并不意味著其是網(wǎng)頁的實際html文件。在html文件的生成期間,頁面被用作參考以便將組成該頁面所代表的html文件的所有內容匯總到一起。該過程在實現(xiàn)實體呈現(xiàn)界面的頁面呈現(xiàn)(PagePresentation)類中發(fā)生。非框架類型html文件的內容被封入其在開始標簽〈body〉和結束標簽^ody〉之間的主體區(qū)中。并且內容經常存在于html表元素或多個后續(xù)html表中。html表(table)可包括一個或多個其他html表并變成嵌套。html表模型允許將數(shù)據(jù)——文本、預格式化文本、圖像、鏈接、表格(form)、表格字段、其他表^^安排到單元格的行和列中。html表以開始標簽々able〉開始并以結束標簽々table〉結束,其之間可為一個行元素或多個行元素。行元素以開始標簽〈tr〉開始并以結束標簽々tr〉結束,其之間可為一個單元格元素或多個單元格元素。單元格元素以開始標簽〈td〉開始并以結束標簽々td〉結束,并且一段內容可被封入一個單元格元素中。作為實體的另一個子集,術語"鑲嵌(Mosaic)"及其相應的鑲嵌類被用于代表組成頁面的組件或部分的一段內容或任何有意義信息。在這段內容的生成期間,鑲嵌被作為引用以便將組成該鑲嵌所代表的這段內容的所有子內容匯總到一起。該過程在實現(xiàn)實體呈現(xiàn)接口的鑲嵌呈現(xiàn)(MosaicPresentation)類的實例中發(fā)生。鑲嵌可用于代表本地或遠程的且與之綁定的任何有意義信息。鑲嵌可作為服務被展出,從而另一個網(wǎng)站可使用該服務并獲取該鑲嵌代表的內容。為建立頁面與一個或多個鑲嵌之間的關系,比如玩拼圖游戲,將頁面想象為平板并將鑲嵌想象為一片拼板,需要按有序方式將一個或多個鑲嵌懸掛于該平板上以完成該頁面的圖案或呈現(xiàn)的辨識。這就是"鑲嵌懸掛(MosaicHanger)"的來源。鑲嵌懸掛類被定義為實體類的子類,并且鑲嵌懸掛被用來將鑲嵌與頁面連接,其使用兩個變量X和Y來標識鑲嵌懸掛于頁面上的位置。X代表水平或行位置。Y代表垂直或列位置。網(wǎng)頁被分成兩個主要區(qū)段標題區(qū),以及主體區(qū)(在非框架html文件的情形中)或框架集元素(在框架類型html文件的情形中)。在一個實施例中,代表網(wǎng)頁的標題區(qū)的適當信息的鑲嵌在其懸掛位置的X和Y值被指定為負值時被懸掛于網(wǎng)頁的標題區(qū)上或所謂的注入其中。在生成由頁面代表的非框架類型html文件的主體區(qū)的過程中,與頁面相關聯(lián)的所有鑲嵌懸掛(除懸掛于頁面的標題區(qū)上的鑲嵌懸掛以外)被排序和編組成片(slice)。每一片代表具有相同X值的一個或多個鑲嵌懸掛的組。隨后創(chuàng)建只有一行的html表元素,并且后續(xù)在該行中按鑲嵌懸掛的Y值的次序創(chuàng)建與該片中的每一個鑲嵌懸掛相對應的每一個單元格。每一個鑲嵌懸掛引用一個鑲嵌,并且該鑲嵌所代表的內容被匯集以填充相應的單元格。在完成一片之后,前往下一片。該過程保持繼續(xù)直至完成所有片。圖1代表示例性實施例并示出頁面100和懸掛于頁面100上除標題區(qū)以外的少數(shù)鑲嵌(111,113,115,121,131);懸掛于位置X1和Yll的鑲嵌lll、懸掛于位置X1和Y12的鑲嵌113、懸掛于位置XI和Yln的鑲嵌115、懸掛于位置X2和Y21的鑲嵌121、懸掛于位置Xm和Yml的鑲嵌131。在頁面100的生成期間,具有相同X值的鑲嵌被編組成片,并且根據(jù)其懸掛位置的X值,鑲嵌(111,113,115)被編組為片110,鑲嵌121被編組為片120,以及鑲嵌131被編組為片130,隨后創(chuàng)建只有一行的html表以代表每一片,并且每一個單元格封入由該片中每一個鑲嵌所代表的內容,逐一進行直至完成所有片。鑲嵌可以嵌套,這意味著可按照前述在頁面上懸掛一個或多個鑲嵌的方式將一個或多個其他鑲嵌懸掛于鑲嵌(父鑲嵌)上。并且嵌套的級別可以是任意的。鑲嵌懸掛還被用來連接鑲嵌和其父鑲嵌。鑲嵌懸掛使用相同的兩個變量X和Y來標識鑲嵌被懸掛于其父鑲嵌上的位置。X代表水平或行位置。Y代表垂直或列位置。在生成由嵌套鑲嵌(nestedmosaic)代表的一段內容的過程中,與嵌套鑲嵌(父鑲嵌)相關聯(lián)的所有鑲嵌懸掛被排序并編組成片。每一片代表具有相同X值的一組鑲嵌懸掛。隨后創(chuàng)建只有一行的html表元素,并且后續(xù)在該行中按鑲嵌懸掛的Y值的次序創(chuàng)建與該片中的每一個鑲嵌懸掛相對應的每一個單元格。每一個鑲嵌懸掛引用一個鑲嵌,并且該鑲嵌所代表的內容被集中以填充相應的單元格。在完成一片之后,前往下一片。該過程保持繼續(xù)直至完成所有片。圖2代表示例性實施例并示出嵌套鑲嵌200和懸掛于鑲嵌200上的少數(shù)鑲嵌(211,213,215,221,231);懸掛于位置Xl和Yll的鑲嵌211、懸掛于位置XI和Y12的鑲嵌213、懸掛于位置XI和Yln的鑲嵌215、懸掛于位置X2和Y21的鑲嵌221、懸掛于位置Xm和Yml的鑲嵌231。在鑲嵌200的內容的生成期間,懸掛于鑲嵌200上的具有相同X值的鑲嵌被編組成片,并且根據(jù)其懸掛位置的X值,鑲嵌(211,213,215)被編組為片210,鑲嵌221被編組為片220,以及鑲嵌231被編組為片230,隨后創(chuàng)建只有一行的html表以代表每一片,并且每一個單元格封入由該片中每一個鑲嵌所代表的內容,逐一進行直至完成所有片。對于簡單的非嵌套鑲嵌,可將非嵌套鑲嵌綁定到由其實體呈現(xiàn)實現(xiàn)類的完全匹配類名(follyqualifiedclassname)標識的實體實例和標識該實體實例的標識符。鑲嵌綁定(MosaicBinder)類被定義為實體類的子類,并且鑲嵌綁定被用來處理這種關系。在需要時,鑲嵌綁定通過對實體實例的實體呈現(xiàn)實現(xiàn)和標識該實體實例的標識符拉取出內容。鑲嵌在一時間僅可被綁定到一個實例。為避免死循環(huán),鑲嵌將不能被綁定到頁面實例或鑲嵌實例。文檔、音樂、圖片和視頻是一些常見內容。在本公開中,作為實體的不同子集,術語"文檔"、"音樂"、"圖片"和"視頻"以及相應的文檔類、音樂類、圖片類和視頻類分別用來表示相應內容的集合。相應的實體呈現(xiàn)類為文檔呈現(xiàn)、音樂呈現(xiàn)、圖片呈現(xiàn)、視頻呈現(xiàn),其全部實現(xiàn)實體呈現(xiàn)接口。為了使頁面向用戶呈現(xiàn)代表諸如圖片等特定內容的網(wǎng)頁以供在web瀏覽器中查看,這種頁面是"專用"類型頁面。為使頁面與實體的特定內容或實例相關,頁面映射(PageMap)類被定義為實體類的子類,并且頁面映射被用于將頁面映射到由其實體呈現(xiàn)實現(xiàn)類的完全匹配類名標識的實體實例和標識該實體實例的標識符,同時創(chuàng)建鑲嵌、鑲嵌綁定和鑲嵌懸掛;鑲嵌綁定將鑲嵌與由其實體呈現(xiàn)實現(xiàn)類的完全匹配類名標識的實體實例和標識該實體實例的標識符;鑲嵌懸掛隨后將該鑲嵌懸掛到頁面上的預定義位置。一種例外是為了將頁面映射到鑲嵌,頁面映射被用來將該頁面映射到由鑲嵌呈現(xiàn)類的完全匹配類名標識的鑲嵌和標識該鑲嵌的標識符,同時創(chuàng)建鑲嵌懸掛而不創(chuàng)建鑲嵌綁定;鑲嵌懸掛隨后將該鑲嵌懸掛到該頁面上的預定義位置。第二例外是頁面將不被映射到另一個頁面,在創(chuàng)建頁面時,不創(chuàng)建頁面映射、鑲嵌、鑲嵌綁定、鑲嵌懸掛。在一個實施例中,在創(chuàng)建將通過由頁面表示的其底層html文件來在網(wǎng)頁中呈現(xiàn)的圖片實例期間,創(chuàng)建頁面,其中以字符串為該頁面的標識符;還創(chuàng)建鑲嵌、頁面映射、鑲嵌綁定和鑲嵌懸掛;出于簡單起見,全部都使用與頁面的標識符相同的字符串作為其標識符;頁面映射將該頁面映射到由圖片呈現(xiàn)類的完全匹配類名標識的圖片實例和該實例的標識符;鑲嵌綁定將鑲嵌綁定到由圖片呈現(xiàn)類的完全匹配類名標識的圖片實例和該實例的標識符;鑲嵌懸掛將該鑲嵌懸掛至1頂面上的預定義或默認位置"=64,丫=64)。在此,創(chuàng)建、映射、綁定、懸掛全部意味著創(chuàng)建相關聯(lián)信息的記錄并將其存儲在數(shù)據(jù)庫的相應表中的動作,如以下規(guī)定的。在一個實施例中,名為"頁面"的數(shù)據(jù)庫表用于存儲關于頁面的記錄;名為"鑲嵌"的數(shù)據(jù)庫表用于存儲關于鑲嵌的記錄;名為"頁面映射"的數(shù)據(jù)庫表用于存儲關于頁面與實體的實體呈現(xiàn)實現(xiàn)類的完全匹配類名以及標識實體實例的標識符之間的關系的記錄;名為"鑲嵌綁定"的數(shù)據(jù)庫表用于存儲關于鑲嵌與由實體的實體呈現(xiàn)類的完全匹配類名標識的實體實例以及標識該實體實例的標識符的關系的記錄;名為"鑲嵌懸掛"的數(shù)據(jù)庫表用于存儲關于鑲嵌與由頁面呈現(xiàn)類的完全匹配類名標識的頁面以及標識該頁面的標識符,或者由鑲嵌呈現(xiàn)類的完全匹配類名標識的另一個鑲嵌以及標識該鑲嵌的標識符,以及X和Y值的懸掛位置信息的關系的記錄。如果從數(shù)據(jù)庫表"頁面"移除或刪除頁面,則還需要移除相關數(shù)據(jù)庫表中存在的所有相關記錄。為了以與目錄樹管理樣式類似的結構化方式來更好地管理頁面,頁面可分別被定義為"專用"、"目錄型"、"引用"或"目錄";這是頁面的目錄類型屬性。在一個實施例中,名為"頁面"的數(shù)據(jù)庫表中名為"目錄類型"的字段或列用來記錄這4種不同定義。如前述的"專用"頁面是其自身且未被映射到任何其他實體的頁面,或者被映射到鑲嵌、文檔、圖片、音樂或視頻等的實例的頁面。在一個實施例中,名為"頁面"的數(shù)據(jù)庫表中名為"類名"的另一個字段或列用來記錄特定類型的內容的實體呈現(xiàn)實現(xiàn)類的完全匹配類名。"目錄型"頁面用于維持具有相同特定類型的內容的一個或多個"專用"頁面的組并充當用以維持這一個或多個頁面的組的父頁面。其不允許其他類型的一個或多個"專用"頁面加入。在一個實施例中,該組的特定類型的內容的實體呈現(xiàn)實現(xiàn)類的完全匹配類名記錄在名為"頁面"的數(shù)據(jù)庫表中父頁面的"類名"字段中以反映此特性。"引用"頁面如該名稱所暗示的,是指向或連接到另一個頁面的頁面,該另一個頁面可能駐留在相同的網(wǎng)站上或在不同或遠程網(wǎng)站上。頁面引用(PageReference)類被定義為實體的子類,并且頁面引用被用來處理"引用"頁面和被引用頁面之間的關系。被引用頁面若其自身是"引用"頁面則還可引用另一個頁面。"目錄"頁面是通用頁面,其可維持包括另一個或多個"目錄"頁面的所有頁面。頁面孩子(PageChild)類被定義為實體的子類,并且頁面孩子被用來存儲父頁面與子頁面關系的信息。與頁面類似,鑲嵌可分別被定義為"專用"、"目錄型"、"引用"、或"目錄"。在一個實施例中,名為"鑲嵌"的數(shù)據(jù)庫表中名為"目錄類型"的字段或列用來記錄這4種不同定義。"專用"鑲嵌是代表除頁面和鑲嵌外的諸如文檔、音樂、圖片、或視頻等特定類型的一段內容的鑲嵌。相應的鑲嵌綁定將該鑲嵌與實體的實體呈現(xiàn)實現(xiàn)類和標識實體實例的標識符綁定。在一個實施例中,名為"鑲嵌"的數(shù)據(jù)庫表中名為"類名"的字段或列被用來記錄特定類型的內容的實體呈現(xiàn)實現(xiàn)類的完全匹配類名,同時,名為"鑲嵌綁定"的數(shù)據(jù)庫表中的記錄通過特定類型的內容的實體呈現(xiàn)實現(xiàn)類的完全匹配類名和標識該特定類型的內容的實例的標識符來維持該鑲嵌的信息。"目錄型"鑲嵌被用作父鑲嵌,并且與相同類型的內容綁定的一個或多個"專用"鑲嵌的組可被懸掛于其上。其不允許其他類型的一個或多個"專用"鑲嵌懸掛于其上。在一個實施例中,該組的特定類型的內容的實體呈現(xiàn)實現(xiàn)類的完全匹配類名記錄在名為"鑲嵌"的數(shù)據(jù)庫表中父鑲嵌的"類名"字段中以反映此特性。"引用"鑲嵌如該名稱所暗示的,是指向或連接到另一個鑲嵌的鑲嵌,該另一個鑲嵌可能駐留在相同的網(wǎng)站上或在不同或遠程網(wǎng)站上。鑲嵌引用(MosaicRefereiice)類被定義為實體的子類,并且鑲嵌引用被用來處理"引用"鑲嵌和被引用鑲嵌之間的關系。被引用鑲嵌若其自身是"引用"鑲嵌則還可引用另一個鑲嵌。"目錄"鑲嵌是通用鑲嵌,其可被包括另一個或多個"目錄"鑲嵌的所有鑲嵌懸掛于其上。鑲嵌懸掛維持父鑲嵌與其子鑲嵌關系的信息。在一個實施例中,名為"鑲嵌懸掛"的數(shù)據(jù)庫表維持作為父鑲嵌的鑲嵌以及懸掛于父鑲嵌上由X和Y值指定的位置處的子鑲嵌的記錄。在定義頁面的目錄結構之后,以下規(guī)定一些目錄或目錄樹相關操作或特征。當在頁面上懸掛鑲嵌時,該鑲嵌可被懸掛于該頁面及其所有派生頁面上;若設置了過濾條件,則該鑲嵌可能僅被懸掛于目錄樹中的一些頁面上。樹形鑲嵌懸掛(MosaicHangerOnTree)類被定義為實體的子類,并且樹形鑲嵌懸掛被用來處理此問題。在一個實施例中,名為"樹形鑲嵌懸掛"的數(shù)據(jù)庫表中的記錄維持鑲嵌、目錄樹的頂頁面、由X和Y值指定的懸掛位置、以及對頁面的"目錄類型"和該頁面被映射和指派的實體呈現(xiàn)實現(xiàn)類的完全匹配類名的"類名"的過濾條件的信息。在一個實施例中,在創(chuàng)建新頁面時,應根據(jù)該新頁面的一個或多個祖先上是否有任何樹形鑲嵌懸掛來檢査是否需要創(chuàng)建任何新鑲嵌懸掛以懸掛于新創(chuàng)建的頁面上,并且該新頁面遵循過濾條件且不被濾除。另一方面,一旦刪除了樹形鑲嵌懸掛,關于或弓l用此樹形鑲嵌懸掛的所有一個或多個鑲嵌懸掛也需要被移除和刪除。作為實體的子集,術語"搜索框(SearchBox)"及其相應的搜索框類被用于定義對頁面或實體的目錄樹的搜索準則并輸出遵循該搜索準則的實體的列表或集合。通過這樣做,其代表或提供搜索功能。此搜索輸出的呈現(xiàn)通過搜索框呈現(xiàn)類,即實體呈現(xiàn)接口的實現(xiàn)來處理。在一個實施例中,名為"搜索框"的數(shù)據(jù)庫表中的記錄維持作為將被搜索的目錄樹的頂頁面的"起始頁面"、指示從頂頁面向下深入目錄樹的搜索程度的"深度"、搜索框正搜索的頁面的目錄類型、指示搜索框正搜索的特定類型的內容之實體的實體呈現(xiàn)實現(xiàn)類的完全匹配類名、指示搜索基于的字段關于搜索結果的次序的"排序依據(jù)"、指示該次序的升序或降序的"升降序"的信息。搜索呈現(xiàn)(SearchPresentation)接口用于定義在不實際實現(xiàn)的情況下呈現(xiàn)搜索結果的排序實體列表的一種或多種公共方法的簽名。在實現(xiàn)搜索呈現(xiàn)時,實體可能具有許多不同方式通過構造和修改其html格式來呈現(xiàn)搜索框的搜索輸出。呈現(xiàn)實體的搜索輸出的一種方式可通過其實現(xiàn)搜索呈現(xiàn)的相關類的完全匹配類名來標識。在一個實施例中,名為"搜索框"的數(shù)據(jù)庫表中的記錄還維持實體的搜索呈現(xiàn)實現(xiàn)的所選完全匹配類名的信息。搜索接口(Searchlnterface)接口用于定義提供排序支持、排序依據(jù)字段列表、實體的搜索呈現(xiàn)實現(xiàn)類的陣列列表及其標題的一種或多種公共方法的簽名。在一個實施例中,在搜索框呈現(xiàn)內生成搜索框的搜索的輸出的過程中,首先,其根據(jù)搜索框所定義的搜索準則搜索出實體的成員列表,其次,其將該列表傳給實體的搜索接口實現(xiàn),該搜索接口實現(xiàn)提供排序支持并根據(jù)搜索框所定義的排序準則取回排序列表,第三其將排序列表傳給實體的搜索呈現(xiàn)實現(xiàn)并從其取回呈現(xiàn)結果。結果作為搜索框的輸出被返回。一些有用用處包括當與搜索框綁定的鑲嵌被懸掛于目錄樹中的一個或多個頁面上時,其可被用于提供網(wǎng)站導航功能;其還可被用于呈現(xiàn)諸如一組圖片或文檔列表等有意義信息,并且如果在每一個圖片或文檔上提供了鏈接,則點擊該鏈接可將用戶引領到具體圖片或文檔。在一個實施例中,鑲嵌通過定制API(應用編程接口)作為服務展出并被其他網(wǎng)站消費以便將該鑲嵌重用為網(wǎng)站的網(wǎng)頁的組件。通過將鑲嵌與函數(shù)綁定的鑲嵌綁定將鑲嵌綁定到消費由定制API展出的服務的函數(shù)。在一個實施例中,鑲嵌還通過標準化WSDL(Web服務描述語言)作為web服務展出以定義服務端點和端口,且該鑲嵌所代表的內容被封入SOAP(簡單對象訪問協(xié)議)消息的主體中,并且web服務被其他網(wǎng)站或軟件程序消費以重用該鑲嵌,這提供了在組件級聚合不同網(wǎng)站和軟件程序的方式。通過將鑲嵌與消費web服務的函數(shù)綁定的鑲嵌綁定,將鑲嵌綁定到消費通過網(wǎng)站的標準化WSDL展出的web服務的函數(shù)。如果鑲嵌以XML格式表示該內容,并且其嵌入了對其可擴展樣式表轉換信息(XSLT)的引用鏈接,則用于消費web服務的函數(shù)可實現(xiàn)轉換并根據(jù)XSLT中定義的模式和規(guī)則將內容轉成html格式。當用戶發(fā)送請求以請求頁面時,web應用服務器通過標識請求的URI(在本公開中URI——統(tǒng)一資源標識符——被定義為在HTTP請求的第一行中從協(xié)議名到查詢字符串的這部分請求URL)標識出該請求正請求一頁面,并且隨后在參數(shù)列表中標識出被請求的頁面;web應用服務器隨后可由頁面表示的預生成的靜態(tài)html文件或動態(tài)生成的html文件來響應。在一個實施例中,用于請求頁面的URI被定義和標識為"/servlet/Page",存在底層動作類來進行該實際工作以完成請求并返回響應,在此"/servlet/Page"的動作類是頁面servlet(PageServlet)類,即在Java虛擬機的web應用服務器中運行的Java類。除了處理頁面請求外,網(wǎng)站可向用戶提供許多其他功能和交互,諸如登錄、登出等;每一種可表示不同的請求URI。一般而言,它們全部涉及在收到請求之際送出響應。響應的呈現(xiàn)是所涉及的常見行為。由此,servlet呈現(xiàn)(ServletPresentation)接口被用于定義生成對請求的響應的呈現(xiàn)的公共方法的簽名。在每一個不同的請求URI下,若其未被訴諸靜態(tài)資源,則存在底層動作類來進行實際工作以便完成該請求并返回響應,該動作類將實現(xiàn)servlet呈現(xiàn)接口。在一個實施例中,頁面Servlet實現(xiàn)Servlet呈現(xiàn)。可將鑲嵌綁定到Servlet呈現(xiàn)的實現(xiàn)類以表示Servlet呈現(xiàn)的實現(xiàn)類的實例的輸出。這種關系由鑲嵌綁定通過標識Servlet呈現(xiàn)實現(xiàn)類的完全匹配名的"標識符"字段和"類名"字段以及標識鑲嵌的"鑲嵌"字段來處理。還可將鑲嵌懸掛于實現(xiàn)Servlet呈現(xiàn)的請求URI的動作類上。這對響應的呈現(xiàn)提供一些有意義用處,諸如對動作類的呈現(xiàn)周圍添加一些嵌入提示、幫助注釋、或導航鏈接等;這些懸掛的鑲嵌可被動態(tài)地配置、改變或重新安排而不影響動作類的呈現(xiàn)的主體。鑲嵌懸掛被用于處理如何將鑲嵌懸掛于實現(xiàn)Servlet呈現(xiàn)的請求URI的動作類上的關系。其使用兩個變量X和Y來標識鑲嵌懸掛于請求URI的動作類上的位置。X代表水平或行位置。Y代表垂直或列位置。在一個實施例中,名為"鑲嵌懸掛"的數(shù)據(jù)庫表中的記錄維持鑲嵌、標識請求URI的動作類的完全匹配類名的"標識符"、標識請求URI的動作類的完全匹配類名的"類名"、標識懸掛水平或行位置的"X"、標識懸掛垂直或列位置的"Y"的信息;由于請求URI的動作類并不像實例可由標識符來標識的實體那樣行為,因此"標識符"和"類名"兩者皆維持請求URI的動作類的完全匹配類名以便使其于鑲嵌懸掛的其余部分區(qū)別開。在一個實施例中,懸掛位置的X和Y值為負,這意味著與鑲嵌懸掛相關聯(lián)的鑲嵌被懸掛于請求的URI的動作類的標題區(qū)上。除標題區(qū)以外,處理對實現(xiàn)Servlet呈現(xiàn)的請求URI的動作類上的鑲嵌懸掛的尋找和分類與頁面的稍有不同。定義類布局(classLayout)類,并且類布局被用于定義由響應的呈現(xiàn)上的4個變量標識的矩形區(qū)最小X、最小Y、最大X和最大Y。實現(xiàn)Servlet呈現(xiàn)接口的請求URI的動作類的輸出被封入該矩形區(qū),連同其他周圍鑲嵌懸掛(若有)一起組成整個響應的呈現(xiàn)。最小X指定最小水平或行位置,最小Y指定最小垂直或列位置,最大X指定最大水平或行位置,最大Y指定最大垂直或列位置,這4個全部一起組成矩形區(qū)以維持實現(xiàn)Servlet呈現(xiàn)接口的請求URI的動作類的輸出。在針對請求生成作為非框架類型html文件的響應的主體區(qū)的過程中,與實現(xiàn)Servlet呈現(xiàn)的請求URI的動作類的完全匹配類名相關聯(lián)的所有鑲嵌懸掛(除了懸掛于標題區(qū)上的鑲嵌懸掛)根據(jù)由4個變量最小X、最小Y、最大X和最大Y(若有)所定義的矩形區(qū)被挑選出和濾除,否則排除所有鑲嵌懸掛;位于矩形區(qū)中的那些鑲嵌懸掛被濾除。矩形區(qū)以上或以下的那些被編組成片。每一片代表具有相同X值的一個或多個鑲嵌懸掛的組。隨后創(chuàng)建只有一行的html表元素,并且后續(xù)在該行中按其Y值的次序創(chuàng)建與該片中的每一個鑲嵌懸掛相對應的每一個單元格。每一個鑲嵌懸掛引用一個鑲嵌,并且該鑲嵌所代表的內容被匯總以填充相應的單元格。在完成一片之后,前往下一片。矩形區(qū)左側和右側的那些連同該矩形區(qū)一起被編組為一片。隨后創(chuàng)建只有一行并且有3個單元格的html表元素,其中第一單元格維持左側區(qū),第二單元格維持該矩形區(qū),而第三單元格維持右側區(qū)。如果左側有一個以上鑲嵌懸掛,則將其編組成多片;每一片代表具有相同X值的一個或多個鑲嵌懸掛的組;隨后創(chuàng)建只有一行的html表元素,并且后續(xù)在該行中按其Y值的次序創(chuàng)建與該片中的每一個鑲嵌懸掛相對應的每一個單元格;每一個鑲嵌懸掛引用一個鑲嵌,并且該鑲嵌所代表的內容被匯總以填充相應的單元格;在完成一片之后,前往下一片。如果右側有一個以上鑲嵌懸掛,則進行與左側相同的操作。該過程保持繼續(xù)直至完成所有片。響應的整個內容可逐片生成并按恰當順序保存在緩沖器中,在完成之際,隨后將整個內容作為一段送出給請求用戶的web瀏覽器。以另一種方式,可在響應的生成期間流線化地逐段將響應送出給用戶的web瀏覽器而無需等待生成整個內容,但每一段必須位于要送出的順序中的正確位置否則在用戶的web瀏覽器中的顯示將會混亂。整個過程可在一個線程中順序地逐步執(zhí)行或者在多線程環(huán)境中并行地執(zhí)行。通常,多線程執(zhí)行將進行得更快但的確需要額外計算資源來進行協(xié)調和同步。在流線化中,一段內容可在其生成時即刻被保存到緩沖器中,或者其必須等待直至收到通知時才輪到它。送出的一段或多段內容的次序通過緩沖器來處理。根據(jù)相應鑲嵌懸掛中保持的X值和Y值以有序方式從左到右并從頂?shù)降讓⒍鄠€鑲嵌懸掛于頁面上或實現(xiàn)Servlet呈現(xiàn)的請求URI的動作類上(除了懸掛于標題區(qū)上的鑲嵌)。每一個單獨鑲嵌在獲取由該鑲嵌代表或與之綁定的相應內容時可由線程個別地處理。每一個鑲嵌部署一線程來處理其內容獲取。所有線程并行地一起工作以生成對請求的快速響應。在嵌套鑲嵌的情形中,懸掛于嵌套鑲嵌上的每一個鑲嵌部署一新線程來個別地處理其內容獲取。所有線程并行地一起工作以便將懸掛于此嵌套鑲嵌上的子鑲嵌的所有子內容匯聚在一起。為組織多個線程并提供用于編程的結構,定義了6種類型的線程類有限元矩陣(FeaMatrix)、有限元片(FeaSlice)、有限元格(FeaLattice)、有限元鑲嵌懸掛(FeaMosaicHanger)、有限元鑲嵌(FeaMosaic)、以及有限元框(FeaBox)。有限元矩陣線程代表處理頁面、請求URI的動作類、嵌套鑲嵌、或一組鑲嵌懸掛的頂級線程。負責在收到請求之際生成響應或者負責生成由嵌套鑲嵌所代表之內容的線程,產生有限元矩陣線程,并將分別在頁面上或請求URI的動作類上或嵌套鑲嵌上的所有找到的鑲嵌懸掛(除了懸掛于標題區(qū)上的鑲嵌)的集合傳遞到有限元矩陣線程中。一般地,當面對一組鑲嵌懸掛時,線程產生有限元矩陣線程來處理由這組鑲嵌懸掛所代表的內容的生成。有限元片線程用于處理編組有相同X值的鑲嵌懸掛的每一個片,其將由有限元矩陣線程產生,其處理分別在頁面、請求URI的動作類、或嵌套鑲嵌上的鑲嵌懸掛的排序和編組。有限元矩陣不產生或產生至少一個有限元片線程。除了用于處理片的一行html表的起始或標題的有限元格線程之外,有限元格線程還被用于處理該一行html表中的每一個單元格。每一個單元格保持相應的鑲嵌懸掛。有限元格線程由處理片的有限元片線程產生。有限元片產生至少兩個或更多有限元格線程。有限元鑲嵌懸掛線程用于處理鑲嵌懸掛以找出與鑲嵌懸掛相關聯(lián)的鑲嵌是否為嵌套鑲嵌,如果該鑲嵌為嵌套鑲嵌,則有限元鑲嵌懸掛線程產生新的有限元矩陣線程并傳入懸掛于該嵌套鑲嵌上的所有找到的鑲嵌懸掛;如果不是嵌套鑲嵌,則有限元鑲嵌懸掛線程產生新有限元鑲嵌線程。除了處理一行html表的起始或標題的有限元格線程之外,處理包含有鑲嵌懸掛的單元格的有限元格線程產生有限元鑲嵌懸掛。有限元格僅能產生一個有限元鑲嵌懸掛線程。有限元鑲嵌線程用于獲取鑲嵌所代表的內容。有限元鑲嵌線程由處理與鑲嵌相關聯(lián)的鑲嵌懸掛的有限元鑲嵌懸掛線程產生。有限元鑲嵌懸掛僅能產生一個有限元鑲嵌線程。有限元框線程在片涉及矩形區(qū)并且該片代表包括三個單元格左側單元格、矩形區(qū)單元格、和右側單元格的一行html表的情形中使用。有限元框線程用于代表這三個單元格中每一個中包含的內容。除了處理一行html表的起始或標題的有限元格線程之外,每一個有限元格線程并不產生有限元鑲嵌懸掛,而是為這三個單元格中的每一個產生有限元框線程。有限元格僅能產生一個有限元框線程。如果這三個單元格中的任一個包含至少一個鑲嵌懸掛,則其有限元框線程將產生新有限元矩陣線程來處理這些鑲嵌懸掛。圖3代表示例性實施例并示出多個線程300的層次組織及其產生過程。有限元矩陣線程311是該層次組織中的最頂級線程,由負責在收到請求之際生成響應的線程產生,其產生有限元片線程323和有限元片線程325;有限元片線程323代表具有相同X值的水平或行懸掛位置的一組鑲嵌懸掛,其分別產生用于處理與有限元片線程323相關聯(lián)的僅一行html表的起始和標題的有限元格線程330、用于html表中的單元格中的鑲嵌懸掛的有限元格線程331和有限元格線程333;有限元格線程331產生有限元鑲嵌懸掛線程341并且有限元鑲嵌懸掛線程341后續(xù)產生有限元鑲嵌線程351以獲取與有限元鑲嵌351相關聯(lián)的鑲嵌所代表的內容;有限元格線程333產生有限元鑲嵌懸掛線程343并且有限元鑲嵌懸掛線程343后續(xù)產生有限元矩陣線程353,其指示與有限元鑲嵌懸掛線程343相關聯(lián)的鑲嵌是嵌套鑲嵌,并且發(fā)現(xiàn)懸掛于該嵌套鑲嵌上的鑲嵌懸掛的集合被傳遞給有限元矩陣線程353以進行進一步處理;有限元矩陣線程353產生有限元片線程363;有限元片線程363產生用于處理與有限元片線程363相關聯(lián)的僅一行html表的起始和標題的有限元格線程370、以及有限元格線程373,有限元格線程373后續(xù)產生有限元鑲嵌懸掛線程383,有限元鑲嵌懸掛線程383后續(xù)產生有限元鑲嵌線程393;有限元片線程325與涉及矩形區(qū)的片相關聯(lián),并且該片代表包括三個單元格左側單元格、矩形區(qū)單元格、和右側單元格的僅一行html表;有限元片線程325產生用于處理與有限元片線程325相關聯(lián)的僅一行html表的起始和標題的有限元格線程337、以及用于處理html表中的三個單元格中的每一個的有限元格線程335;有限元格線程335產生有限元框線程345并且有限元框線程345后續(xù)產生有限元矩陣線程355,并且與有限元框線程345相關聯(lián)的鑲嵌懸掛的集合被傳遞給有限元矩陣線程355以進行進一步處理;有限元矩陣線程355產生有限元片線程365;有限元片線程365產生用于處理與有限元片線程365相關聯(lián)的僅一行html表的起始和標題的有限元格線程377、以及有限元格線程375,有限元格線程375后續(xù)產生有限元鑲嵌懸掛線程385,有限元鑲嵌懸掛線程385后續(xù)產生有限元鑲嵌線程395。一些線程大概將運行較快并且比可能面臨復雜和耗時任務的其他線程更快完成其任務,并且很可能還未輪到它將所生成內容保存到緩沖器中。然而,該內容必須以有序順序被保存到緩沖器中并被發(fā)送到用戶的web瀏覽器以便恰當?shù)爻霈F(xiàn),因此已完成的線程在所生成的內容能被放入緩沖器中之前必須等待信號或標記。一旦線程收到指示現(xiàn)在輪到它將所生成內容放入緩沖器中的信號或標記時,其應前進到這樣做,同時其應設置或開啟序列中下一個線程的信號或標記并通知所有線程其已完成。這就是"有限元標記(Feaflag)"的來源。定義有限元標記類并且有限元標記的實例包括布爾字段和有限元標記類自身的實例的數(shù)組。如果布爾字段為真,則意味著與有限元標記實例相關聯(lián)的線程現(xiàn)在可將其生成的內容保存到緩沖器中。布爾字段的默認值為假。有限元標記的實例具有有限元標記的實例的數(shù)組這一事實使得其成為嵌套結構。嵌套級別是無限的。在創(chuàng)建新有限元矩陣線程之際,創(chuàng)建線程將實例化有限元標記的兩個實例并將其傳遞給新生成的有限元矩陣線程。在一個實施例中,一個有限元標記實例名為"矩陣標記(MatrixFlag)",而另一個有限元標記實例名為"矩陣標記結束(MatrixFlagEnd)"。創(chuàng)建線程還為有限元矩陣線程傳入一個或多個找到的相關鑲嵌懸掛的集合以便根據(jù)其X值將它們編組成片,并且根據(jù)其Y值安排其在片中的次序。在完成排序和編組之際,實例化大小等于片數(shù)目的名為"片標記(sliceFlag)"的有限元標記實例的數(shù)組,其中每一個有限元標記實例(sliceflag[indexl])對應于一片,在此indexl始于0。數(shù)組sliceflag被設為有限元標記實例的矩陣標記的數(shù)組;同時,實例化大小等于一片中的鑲嵌懸掛數(shù)目加上用于一行html表的起始或標題的一個的名為"格標記(latticeFlag)"的有限元標記實例的數(shù)組,其中第一有限元標記實例(latticeFlag[O])對應于一行html表的起始或標題,而其余的每一個有限元標記實例(latticeFlag[index2])對應于片中的單元格,并且數(shù)組latticeFlag被設為片的有限元標記實例(sliceflag[indexl])的有限元標記實例的數(shù)組,直至完成所有片。從其中每一個有限元標記實例對應于除矩陣標記結束以外的線程的結構推導出有限元標記實例的順序,如下所述MatrixFlag,sliceflag,latticeFlagO[O],latticeFlagO[l],...,latticeFlagO[nO],sliceflag[1],latticeFlagl[O],latticeFlagl[l],…,latticeFlagl[nl],sliceflag[m],latticeFlagm[O],latticeFlagm[l],…,latticeFlagm[nm],MatrixFlagEnd可通過將每一個有限元標記實例的布爾字段值翻轉為真來實行信令過程鏈,其中使每一個有限元標記實例翻轉下一個,以矩陣標記(MatrixFlag)開始,將sliceflag[O]和latticeFlag0作為一個單元,隨后是latticeFlagO[l],…,直至最后latticeFlagO[nO];然后將sliceflag[l]和latticeFlagl[O]作為一個單元,然后是latticeFlagl[l],…,直至最后latticeFlagl[nl];…;并且隨后將sliceflag[m]和latticeFlagm作為一個單元,然后是latticeFlagm[l],…,直至最后latticeFlagm[nm];并且隨后是矩陣標記結束(MatrixFlagEnd)。矩陣標記標注鏈的開始點或進入點,而矩陣標記結束標注鏈的結束點或退出點。在此,"作為一個單元"意P未著其布爾字段值同時被設為真并作為一個單元或一個步驟來對待。矩陣標記標注由創(chuàng)建線程產生的有限元矩陣線程的開始點或進入點;有限元矩陣線程后續(xù)不產生或產生與每一個sliceflag[indexl]相對應的多個有限元片線程;每一個有限元片線程后續(xù)產生與每一個latticeFlag[index2]相對應的至少兩個或多個有限元格線程;每一個有限元格線程后續(xù)產生或者有限元鑲嵌懸掛線程或者有限元框線程;在有限元鑲嵌懸掛線程的情形中,有限元鑲嵌懸掛線程后續(xù)產生或者有限元鑲嵌線程或者新的子有限元矩陣線程;在有限元框線程的情形中,有限元框線程后續(xù)產生新的子有限元矩陣線程。結束時,矩陣標記結束標注有限元矩陣線程的結束點或退出點。如果矩陣標記結束中的布爾字段為真,意味著該層次組織中的所有線程(包括所有新的子有限元矩陣線程,其代表線程及其派生線程(若有)的層次組織的分支)都已完成,若創(chuàng)建線程正在等該完成,則其可現(xiàn)在前進到下一步。由于有限元鑲嵌懸掛線程或有限元框線程與其創(chuàng)建有限元格線程是一對一的關系,因此其共享并使用創(chuàng)建有限元格線程的latticeFlag[index2]。在有限元鑲嵌懸掛線程或有限元框線程創(chuàng)建新的子有限元矩陣線程時,實例化有限元標記的兩個實例并將其傳遞給新創(chuàng)建的有限元矩陣線程。在一個實施例中,一個有限元標記實例名為"子矩陣標記",其標注子有限元矩陣的開始點和進入點;而另一個有限元標記實例名為"子矩陣標記結束",其標注子有限元矩陣的結束點和退出點。子矩陣標記被指派給有限元格線程的latticeFlag[index2],該有限元格線程是有限元鑲嵌懸掛線程或有限元框線程的創(chuàng)建線程并且其后續(xù)是子有限元矩陣線程的創(chuàng)建線程。當latticeFlag[index2]的布爾字段被翻轉為真時,子矩陣標記的布爾字段也變?yōu)檎妗?chuàng)建子有限元矩陣線程的有限元鑲嵌懸掛線程或有限元框線程負責通過子矩陣標記的subSliceFlag[]數(shù)組的第一元素(subSliceFlag[O])禾Hs油SliceFlag的subLatticeFlag[]數(shù)組的第一元素(subLatticeFlag[O])來信令子有限元矩陣線程,并且將每一個元素(subSliceFlag[O]和subLatticeFlag[O])的布爾字段的值設為真。對子矩陣標記結束的布爾字段上的"真"值的通知標注子有限元矩陣線程及其所有派生線程的結束,并且最后一個線程(與子矩陣標記的subSliceFlag[]的最后元素的subLatticeFlag[]的最后元素相關聯(lián))負責信令較高層中的下一個線程,或者如果這也是該較高層中的最后元素則信令并將矩陣標記結束的布爾字段的值設為真。一公共和共享對象被用于線程層次中多線程的同步。在一個實施例中,名為"一oSync"的對象被用作多線程執(zhí)行環(huán)境中的響應生成過程的所有線程的同步對象,線程通過執(zhí)行以下程序塊送出通知synchronized(_oSync){一oSync.notifyA110j并通過執(zhí)行另一個程序塊來等待接收通知synchronized(_。Sync){—oSync.wait(timeout》timeout(超時)代表線程等待的最大持續(xù)期,若超過,則該線程將無論如何中斷。在創(chuàng)建有限元矩陣線程之際,創(chuàng)建線程在其能夠開始或進入信令鏈之前將等待所創(chuàng)建的有限元矩陣線程完成排序并通知返回,如果其所創(chuàng)建的有限元矩陣線程不是線程層次的最前一個或頂層一個而在子層,則創(chuàng)建線程還需要等待輪到它進行信令。在一個實施例中,所創(chuàng)建的有限元矩陣線程自身被用作另一個同步對象并具有一個布爾字段用以指示排序是否完成,一旦完成排序,其將布爾字段值設為真并通過執(zhí)行以下程序塊向等待的創(chuàng)建線程送出通知synchronized(this){this.notify();在被通知和驗證排序完成后,創(chuàng)建線程將中斷等待并前進至下一個。在對請求生成響應時,在一線程執(zhí)行環(huán)境中,該任務是極其直截了當?shù)拿慨斏梢欢蝺热莶⑶移錅蕚浜迷诰€程前進時離開,執(zhí)行線程就順序地逐段送出內容;典型實現(xiàn)使用打印寫入(PrintWriter)來打印一段內容或對象并調用flush()方法來要求底層輸出流(outputstream)在Java編程語言環(huán)境中送出數(shù)據(jù)。在此,輸出流可用作輸出數(shù)據(jù)流的臨時緩沖區(qū)。另一種方式是將所有段一起保存在緩沖器中并作為一段將其全部送出,而在緩沖器中需要恰當?shù)乇3指鞫蔚捻樞?。在與信令鏈同步的線程層次組織的執(zhí)行環(huán)境中,用于內容排列的緩沖器區(qū)被用來處理由每一個線程生成的內容的存儲和送出。通過信令過程鏈恰當?shù)乇3志彌_器中內容的順序,每一個線程等待輪到其將所生成的內容放入緩沖器中。整組線程是同步的并且像一個線程或所謂的虛擬線程那樣工作。在其創(chuàng)建時,緩沖器區(qū)已準備好存儲但或許不能立即輸送并將內容送出給用戶的web瀏覽器,因為諸如準備響應的標題區(qū)等一些預處理任務需要一定時間才能完成,因此諸如具有布爾值的關鍵字等對象被用作標記("開始標記")來標注緩沖器何時能開始送出內容。一旦開始標記翻轉為真,則在線程將一段內容放入緩沖器的同時,該內容連同當前駐留在緩沖器中的任何內容一起立即被輸送并被送出給用戶。在該層次組織中的所有線程都完成其工作后,具有另一個布爾值的同一個關鍵字(key)被用作標記("結束標記")來標記該層次中的所有線程的執(zhí)行結束。如果該層次組織中的一個線程產生信令鏈不能觸及的一個或多個新線程,則不能用該組恰當?shù)鼐S護從該一個或多個新線程生成的內容的次序或順序。該新線程隨后需要新緩沖器和具有兩個標記的新關鍵字來使其內容生成過程與觸及線程協(xié)調和同步。細節(jié)解釋如下。對象數(shù)組(key[])被用作關鍵字數(shù)組或關鍵字鏈以反映一系列線程的產生過程以及與緩沖器層次相關聯(lián)的一系列緩沖器。緩沖器層次中的緩沖器與線程、虛擬線程、或長運行方法相關聯(lián),其中對象數(shù)組中的每一個元素作為與兩個標記相關聯(lián)的一關鍵字,其一個標記(開始標記)用于指示所保存和正保存到此緩沖器中的內容可立即被移至更高層緩沖器中,以及在最頂層緩沖器的情形中指示所保存和正保存到此緩沖器中的內容可立即被送出給用戶的web瀏覽器;另一個標記(結束標記)用于標注線程、虛擬線程、或長運行方法的執(zhí)行的結束,并且可從層次中移除該緩沖器。涉及兩種公共方法第一種方法由每一個線程或長運行方法用于將一段所生成的內容保存到緩沖器層次中其對應的緩沖器中,并且如果開始標記指示新生成的內容連同先前保存的內容一起可被移至更高層緩沖器中,則前進至這樣做;第二種方法由每一個線程或長運行方法用于號召緩沖器層次中其對應的緩沖器將該緩沖器中保存的所有內容移至更高層緩沖器中——如果開始標記指示允許這樣做,否則該方法將等待開始標記開啟或翻轉為真,在將該緩沖器中保存的所有內容被移至更高層緩沖器中之后,該緩沖器可被移除,該方法隨后將結束標記開啟或翻轉為真并通知等待該結束標記的一個或多個其他線程。詳細解釋如下。從僅有一個元素的對象數(shù)組(key[])中最前一個元素key開始,其與最頂層線程即線程0相關聯(lián),緩沖器即緩沖器O被用于順序地存儲從線程O及其派生線程生成的內容。key[O]和開始標記(布爾值)被存儲在存儲器塊中以指示是否輪到線程0將內容移入更高層或在這種情形中的送出給用戶的web瀏覽器。當布爾值翻轉為真時,被保存到緩沖器O中的一段內容連同當前仍駐留在緩沖器0中的任何內容一起可立即被移至更高層或者在這種情形中送出給用戶的web瀏覽器。key[O]和結束標記(布爾值)被存儲在另一個存儲器塊中以指示線程0及其派生線程是否己完成。如果線程O產生新線程即線程Ol,則生成具有兩個元素的新對象數(shù)組(keyOl[]),其中第一元素(keyOl[O])復制于線程O的key[O]元素,而新生成的對象作為第二元素(keyOl[l])。創(chuàng)建新緩沖器即緩沖器Ol以順序地存儲從線程Ol及其派生線程生成的內容。key01[l]及其開始標記被存儲在存儲器塊中以指示緩沖器01中所保存或正保存的內容是否可被移至更高層緩沖器即緩沖器O中。keyOl[l]及其結束標記被存儲在另一個存儲器塊中以指示線程Ol及其派生線程是否已完成。如果線程0產生另一個新線程即線程02,則生成具有兩個元素的新對象數(shù)組(key02[P,其中第一元素(key02)復制于線程0的key元素,而新生成的對象作為第二元素(key02[1])。倉ll建新緩沖器即緩沖器02以順序地存儲從線程02及其派生線程生成的內容。key02[l]及其開始標記被存儲在存儲器塊中以指示緩沖器02中所保存或正保存的內容是否可被移至更高層緩沖器即緩沖器O中。key02[l]及其結束標記被存儲在另一個存儲器塊中以指示線程02及其派生線程是否已完成。如果線程0在其執(zhí)行中調用長運行方法03,則生成具有兩個元素的新對象數(shù)組(key03[p,其中第一元素(key03)復制于線程0的key[O]元素,而新生成的對象作為第二元素(key03[1])。創(chuàng)建新緩沖器即緩沖器03以順序地存儲從方法03生成的內容。key03[l]及其開始標記被存儲在存儲器塊中以指示緩沖器03中所保存或正保存的內容是否可被移至更高層緩沖器即緩沖器O中。key03[l]及其結束標記被存儲在另一個存儲器塊中以指示該長運行方法是否己完成。如果在長運行方法03內調用了另一個長運行方法31,則生成具有3個元素的新對象數(shù)組(key31[]),其中前兩個元素(key31和key31[1])復制于方法03的對象數(shù)組(分別為key03和key03[1]),而新生成的對象作為第三元素(key31[2])。創(chuàng)建新緩沖器即緩沖器31以順序地存儲從方法31及其嵌套長運行方法生成的內容。key31[2]及其開始標記被存儲在存儲器塊中以指示緩沖器31中所保存或正保存的內容是否可被移至更高層緩沖器即緩沖器03中。key31[2]及其結束標記被存儲在另一個存儲器塊中以指示方法31及其嵌套長運行方法是否己完成。如果在長運行方法03內調用了新線程即線程32,則生成具有3個元素的新對象數(shù)組(key32[]),其中前兩個元素(key32和key32[l])復制于方法03的對象數(shù)組(分別為key03和key03[lp,而新生成的對象作為第三元素(key32[2])。創(chuàng)建新緩沖器即緩沖器32以順序地存儲從線程32及其派生線程生成的內容。key32[2]及其開始標記被存儲在存儲器塊中以指示緩沖器32中所保存或正保存的內容是否可被移至更高層緩沖器即緩沖器03中。key32[2]及其結束標記被存儲在另一個存儲器塊中以指示線程32及其派生線程是否已完成。如果線程Ol產生新線程即線程ll,則生成具有3個元素的新對象數(shù)組(keyll[]),其中前兩個元素(keyll[O]和keyl1[1])復制于線程01的對象數(shù)組(分別為key01[O]和key01[1]),而新生成的對象作為第三元素(keyl1[2])。創(chuàng)建新緩沖器即緩沖器11以順序地存儲從線程11及其派生線程和其長運行方法生成的內容。keyll[2]及其開始標記被存儲在存儲器塊中以指示緩沖器ll中所保存或正保存的內容是否可被移至更高層緩沖器即緩沖器Ol中。keyll[2]及其結束標記被存儲在另一個存儲器塊中以指示線程11及其派生線程和其長運行方法是否已完成。圖4是逐側示出相關聯(lián)關鍵字的緩沖器層次400的示例性實施例。與關鍵字410相關聯(lián)的緩沖器430是緩沖器層次中的最頂層緩沖器,保存在緩沖器430中的內容被直接送出給用戶的瀏覽器;與關鍵字411相關聯(lián)的緩沖器431是緩沖器430下的子緩沖器,保存在或正保存到緩沖器431中的內容輪到它時被立即移至緩沖器430中;與關鍵字413相關聯(lián)的緩沖器433是緩沖器430下的子緩沖器,保存在或正保存到緩沖器433中的內容輪到它時被立即移至緩沖器430中;與關鍵字415相關聯(lián)的緩沖器435是緩沖器433下的子緩沖器,保存在或正保存到緩沖器435中的內容輪到它時被立即移至緩沖器433中;與關鍵字417相關聯(lián)的緩沖器437是緩沖器433下的子緩沖器,保存在或正保存到緩沖器437中的內容輪到它時被立即移至緩沖器433中。在一個實施例中,定義Java編程語言類Servlet處理(ServletProcessor)。作為Servlet處理類的實例變量的名為"開始散列表"的散列表(Hashtable)被用于存儲關鍵字及其開始標記值,在此有限元標記實例被用作開始標記;作為Servlet處理類的另一個實例變量的名為"結束散列表"的另一個散列表被用于存儲關鍵字及其結束標記值,在此另一個有限元標記實例被用作結束標記;作為Servlet處理類的另一個實例變量的名為"打印散列表"的又一個散列表被用于存儲關鍵字及其相應的緩沖器,在此矢量(Vector)被用作存儲內容的緩沖器,一段內容可被添加到矢量作為其元素,并且其他段的內容可后續(xù)相應地被添加到該矢量,矢量的元素可被清空并被移至或添加至另一個矢量;作為Servlet處理類的實例變量的名為"—oSync"的對象被用作用于同步從實例化Servlet處理類的實例的當前線程產生的所有派生線程及長運行方法的公共和共享對象。這兩種公共方法被實現(xiàn)為Servlet處理類中的公有實例方法。第一種方法print(Objectkey[],Objectobj)被線程或長運行方法用來將一段內容(由"obj"表示)保存到緩沖器層次中其對應的緩沖器中;緩沖器被對象數(shù)組key[]的最后元素標識為打印散列表中的關鍵字,并且開始標記由打印散列表中的相同關鍵字標識。更高層緩沖器被對象數(shù)組key[]中的最后元素標識為打印散列表中的關鍵字。第二種方法pritited(Objectkey[])被線程或長運行方法用來號召緩沖器層次中其對應的緩沖器將該緩沖器中所保存的所有內容移至更高層緩沖器中——如果開始標記指示允許這樣做,否則該方法將等待同步對象—oSync直至開始標記開啟或翻轉為真,在保存在緩沖器中的所有內容被移至更高層緩沖器中之后,該緩沖器可被移除,該方法隨后將結束標記翻轉為真并通過—oSync.notifyAUO方法通知其他一個或多個線程。緩沖器被對象數(shù)組key[]的最后元素標識為打印散列表中的關鍵字,并且開始標記和結束標記分別被開始散列表和結束散列表中的相同關鍵字標識。更高層緩沖器被對象數(shù)組key[]中的最后元素標識為打印散列表中的關鍵字。在一個實施例中,與信令鏈同步的線程層次從最頂層有限元矩陣線程開始,其僅用一個元素printid[O]在對象數(shù)組printid[]中傳遞。printid[O]用作在打印散列表中標識緩沖器的關鍵字。在創(chuàng)建最頂層有限元矩陣線程的創(chuàng)建線程中諸如準備響應的標題區(qū)等一些預處理任務己完成時,打印散列表中該關鍵字的開始標記被設為真。對象數(shù)組printid[]后續(xù)被無修改地向下傳遞至有限元矩陣線程的派生線程有限元片線程、有限元格線程、有限元框線程、和有限元鑲嵌懸掛線程,以及子有限元矩陣線程(若有)。每一個線程在信令鏈上等待輪到它并隨后通過執(zhí)行print(Objectkey[],Objectobj)方法將一段生成的內容保存到緩沖器中,在此對象數(shù)組printid[]是key[]而obj是需要保存的所生成內容。有限元鑲嵌懸掛后續(xù)可產生信令鏈不能觸及的有限元鑲嵌線程,并且不能恰當?shù)鼐S護在整個響應生成過程中其生成的內容的順序;因此對于有限元鑲嵌線程和長運行方法,生成新對象數(shù)組,其中第一元素復制于printid[O],而新生成的對象作為與新緩沖器、開始標記、和結束標記相關聯(lián)的第二元素。通過這樣做,以恰當順序的響應的構造和遞送就能很好地組織和同步。層疊樣式表(CSS)是用于向html文件添加樣式(例如,字體、顏色、間距)的簡單機制。樣式表定義將如何顯示html元素。樣式表允許以許多方式來指定樣式信息。樣式可在單個html元素內指定(內嵌樣式),在html文件的〈head〉元素內指定(內部樣式表),或者在外部CSS文件中指定。在單個html文件內可引用多個外部樣式表。html文件中的每一個html元素由唯一ID來標識,外部CSS文件存儲該ID及其相關的樣式表信息。當一個鑲嵌或多個鑲嵌懸掛于頁面上時,將它們根據(jù)其鑲嵌懸掛的X值編組成片(除了懸掛于標題區(qū)上的鑲嵌,若有的話)。隨后創(chuàng)建只有一行的html表以包含片,其中根據(jù)其Y值的次序使每一個單元格與該片中的每一個鑲嵌的鑲嵌懸掛相對應。該html表可用表ID來標識和指定,行可用行ID來標識和指定,而每一個單元格可用其單元格ID來標識和指定。與每一個ID相關聯(lián)的樣式表信息隨后可被存儲在數(shù)據(jù)庫表或外部CSS文件中供以后引用。每一個html表可通過相應片的X值唯一地與其他html表區(qū)別開,在此該X值被當^"表索引",html表中的行元素可通過添加行因子或"行索引"來標識;隨后該行中的每一個單元格元素可通過添加該行中每一個單元格的索引信息的單元格因子來標識;并且最后,頁面的標識符可用作前綴以便全球唯一地形成元素的ID(表ID、行ID、單元格ID)。在一個實施例中,html表的表ID是頁面的標識符、作為表索引的與該html表相關聯(lián)的片的X值、代表行索引的字符串"0"以及代表單元格索引的字符串"0"的串聯(lián);該htall表中唯一一行的行ID是頁面的標識符、作為表索引的與該html表相關聯(lián)的片的相同X值、代表行索引的字符串"1"以及代表單元格索引的字符串"0"的串聯(lián);第一單元格的單元格ID是頁面的標識符、作為表索引的與該html表相關聯(lián)的片的相同X值、代表行索引的字符串"l"以及代表單元格索引的字符串"l"的串聯(lián);第二單元格的單元格ID是頁面的標識符、作為表索引的與該html表相關聯(lián)的片的相同X值、代表行索引的字符串"1"以及代表單元格索引的字符串"2"的串聯(lián);并且后續(xù)單元格的單元格ID可通過遞增單元格索引來組成。在懸掛于鑲嵌(父鑲嵌)上的一個或多個鑲嵌的情形中,父鑲嵌的標識符被用作前綴以替代頁面的標識符,從而組成元素的ID(表ID、行ID、單元格ID);在懸掛于請求URI的動作類上的一個或多個鑲嵌的情形中,動作類的名稱被用作前綴以替代頁面的標識符,從而組成元素的ID(表ID、行ID、單元格ID)。在一個實施例中,名為"Css元素"的數(shù)據(jù)庫表中的記錄保持頁面的標識符、頁面呈現(xiàn)類的完全匹配類名、表索引、行索引、單元格索引、以及樣式表信息的信息,該記錄標識頁面上的CSS元素(表ID、行ID、單元格ID);同一數(shù)據(jù)庫表中的另一條記錄保持鑲嵌的標識符、鑲嵌呈現(xiàn)類的完全匹配類名、表索引、行索引、單元格索引、以及樣式表信息的信息,該記錄標識鑲嵌上的CSS元素(表ID、行ID、單元格ID);同一數(shù)據(jù)庫表中的又一條記錄保持請求URI的動作類的完全匹配類名、表索引、行索引、單元格索引、以及樣式表信息的信息,該記錄標識請求URI的動作類上的CSS元素(表ID、行ID、單元格ID)。在一個實施例中,管理Css(ManageCss)類被用于顯示頁面、嵌套鑲嵌、或請求URI的動作類上的所有頂層CSS元素(不包括嵌套CSS元素),從而作者可在另一個類管理Css元素(ManageCssElement)中進入具體CSS元素以編輯其樣式表信息,并隨后將該記錄存儲在"Css元素"數(shù)據(jù)庫表中。所有表索引、行索引和單元格索引信息都是從存儲在會話(session)中的助手類有限元助手(FeaHelper)檢索的。在有限元矩陣線程已挑選出頁面、嵌套鑲嵌、或請求URI的動作類上的所有鑲嵌懸掛后,其實例化有限元助手類的實例并將表索引、行索引和單元格索引信息插入有限元助手實例中并將其存儲在會話中供以后檢索。頁面、嵌套鑲嵌、或請求URI的動作類全部都具有相應的外部CSS文件用于存儲其頂層CSS元素(表ID、行ID、單元格ID)的樣式表信息。此外,嵌套鑲嵌的外部CSS文件還包括所有派生鑲嵌的CSS元素的樣式表信息。如果鑲嵌的CSS元素的樣式表信息改變,貝幅鑲嵌的祖先的所有外部CSS文件也被更新。這將使得html文件引用其外部CSS文件的工作更容易,因為所有派生鑲嵌的樣式表信息已被累積在頂層鑲嵌的CSS文件中。在一個實施例中,在Servlet處理類中實現(xiàn)實例方法beginO。既然如此,其準備html文件的〈head〉區(qū)且使用其"REL"屬性被設為"樣式表"的《nJOhtml元素,并引用頁面的外部CSS文件或請求URI的動作類的外部CSS文件以及所有頂層鑲嵌的外部CSS文件;對于通過樹形鑲嵌懸掛操作產生的轉移鑲嵌懸掛,還引用樹形鑲嵌懸掛的相關聯(lián)頁面的外部CSS文件。一個或多個靜態(tài)CSS文件也可包括在〈head〉區(qū)中。如果html文件是動態(tài)地生成的,則還可包括與會話以及與會話的相同壽命相關聯(lián)的臨時外部CSS文件,這意味著用戶可通過改變樣式表信息并將其保存在臨時CSS文件中來僅針對該會話臨時修改外表和感覺以供引用。改變后的樣式表信息通過Ajax(異步JavaScript和XML)連同CSS元素ID和屬性以及屬性的新值被傳送回服務器側。該方法還找出懸掛于標題區(qū)上的鑲嵌并獲取嵌入標題區(qū)的鑲嵌的內容。在一個實施例中,在一個web瀏覽器中,在html框架中呈現(xiàn)頁面的html文件,在另一個html框架中進行用以定義和修改頁面的CSS元素的樣式表信息的管理Css和管理Css元素。在提交改變時,第一框架立即被重載或刷新以反映對樣式表定義的該新改變。這提供了良好的WYSIWYG(所見即所得)編輯環(huán)境。將鑲嵌作為組件展出以作為服務或web服務。當一個或多個其他網(wǎng)站請求該服務并標識鑲嵌時,該鑲嵌所代表并嵌入其外部CSS文件(若有)的內容被發(fā)送給請求網(wǎng)站,該請求網(wǎng)站后續(xù)將該內容嵌入其一個或多個網(wǎng)頁中。該服務還可充當用于從另一個網(wǎng)站獲取信息并隨后將其送回給請求網(wǎng)站的代表或代理。這使得網(wǎng)站聚合以及一個網(wǎng)站中的內容能在一個或多個其他網(wǎng)站中重用。網(wǎng)站聚合在組件級上松散地耦合和集成,并且適用于發(fā)布/訂閱系統(tǒng)和動態(tài)網(wǎng)絡拓撲結構。針對誰具有創(chuàng)建和管理網(wǎng)站中其自己的內容并管理網(wǎng)站中其他人的內容定義許可機制。該機制還適用于與網(wǎng)站相關聯(lián)的任何其他數(shù)據(jù)。各種級別的許可被定義為無、讀取、編輯、刪除、創(chuàng)建,其各自比前一個具有更多權限并分別用數(shù)字O、1、2、3、4來表示;許可的角色被定義為創(chuàng)建者、管理員,其分別用數(shù)字l、2來表示。創(chuàng)建者角色僅能處理其自己的內容,而管理員角色具有更多權限并且能處理其他人的內容。定義許可組(PermissionGroup)類并且許可組被用于定義具有由開始時間"startTime"和停止時間"stopTime"標識的有效時段的許可組,在該時段中,該組及其相關定義生效。許可組許可(PermissionGroupPermission)類定義許可組對一種類型的實體的許可角色和許可級別;在此實體的完全匹配類名被用作參考??蓪⒍鄠€許可組許可指派給許可組。許可組成員(PermissionGraupMember)類定義許可組的用戶列表,其中只有該列表中的用戶能執(zhí)行指定許可允許的一個或多個動作。許可組位置(PermissionGroupLocation)類定義許可組的位置列表,其中用戶必須來自該列表中的位置才能執(zhí)行指定許可允許的一個或多個動作。在此,位置意味著用戶的計算機IP地址。名為"許可"的數(shù)據(jù)庫表維持許可組的因子的所有可能組合的最高許可級別的所有記錄;在此,因子組合意味著用戶、位置、實體的完全匹配類名、許可角色的組合。這些記錄并非是在定義它們時生成的,而是在用戶傳入在后續(xù)激發(fā)許可級別檢査的請求時生成的,隨后生成一條或多條相關記錄。這些記錄以預定義間隔規(guī)律地更新。通過這樣做,"許可"數(shù)據(jù)庫表可避免過密并提供更快和更高效的許可級別檢查過程。關于"許可"數(shù)據(jù)庫表,許可類被定義并用于維持"許可"數(shù)據(jù)庫表中的記錄的信息,以及實現(xiàn)名為"獲取許可級別(getPermissionLevel)"的方法,該方法通過提供用戶、位置、實體的完全匹配類名、以及許可角色的信息來取回許可級別。在一個實施例中,在基類Servlet基(ServletBase,—種抽象類)中實現(xiàn)名為"檢查訪問(checkAccess)"的公共使用方法,該Servlet基繼承(extend)HttpServlet類?;惪杀徽埱骍RI的動作類繼承,因此一些公共使用方法可放入基類中。方法"檢査訪問"返回Integer[][],即作為整數(shù)的許可級別的二維數(shù)組;第一維代表在執(zhí)行動作時涉及的不同類型的實體類并且該維的長度等于不同類型的實體類的數(shù)目;第二維代表許可角色,第二維的長度為2,其第一索弓l代表"創(chuàng)建者"的許可角色而其第二索引代表"管理員"的許可角色。在一個實施例中,管理頁面(ManagePage)類,即請求URI"/servlet/ManagePage"的動作類和Servlet基的子類以及Servlet呈現(xiàn)(ServletPresentation)的實現(xiàn),使用頁面類并調用"檢査訪問"方法來檢查用戶的許可級別,以便確定用戶是否能創(chuàng)建或管理頁面并提供基于瀏覽器的用戶接口用于處理這些任務。管理鑲嵌(ManageMosaic)類,即另一個請求URI"/servlet/ManageMosaic"的動作類和Servlet基的子類以及Servlet呈現(xiàn)的實現(xiàn),使用鑲嵌類并調用"檢查訪問"方法來檢查用戶的許可級別,以便確定用戶是否能創(chuàng)建或管理鑲嵌并提供基于瀏覽器的用戶接口用于處理這些任務。為了規(guī)定頁面的可訪問性,針對誰具有訪問和管理頁面的權限定義訪問機制。各種級別的訪問被定義為無、讀取、編輯、刪除、創(chuàng)建,其各自比前一個具有更多權限并分別用數(shù)字0、1、2、3、4來表示;在此訪問級別等于相應的許可級別,但訪問級別將總是處于具有處理其他人的頁面的能力的"管理員"許可角色。使用了兩種類型的定義第一種是公共訪問(PublicAccess)類,其標注在指定訪問級別上公共可訪問的頁面;第二種是訪問組(AccessGroup),詳細描述如下。定義訪問組類并且訪問組被用于定義具有由開始時間"startTime"和停止時間"stopTime"標識的有效時段的訪問組,在該時段中,該組及其相關定義生效。其還具有標識當前誰擁有該訪問組的字段"所有者"、標注其被修改的最近時間的字段"修改時間"。作為實體的子集,訪問組的呈現(xiàn)是通過實現(xiàn)實體呈現(xiàn)接口的訪問組呈現(xiàn)(AccessGroupPresentation)類進行的。訪問組成員(AccessGroupMember)類定義訪問組的用戶列表,其中只有該列表中的用戶才能訪問以指定訪問級別指派給該訪問組的頁面。訪問組位置(AccessGroupLocation)類定義訪問組的位置列表,其中只有來自該列表內的位置的用戶才能訪問以指定訪問級別指派給該訪問組的頁面。在此,位置意味著用戶的計算機IP地址。在定義頁面的訪問級別時,頁面訪問類的實例以及名為"頁面訪問"的數(shù)據(jù)庫表維持頁面的標識符、公共訪問類的完全匹配類名、以及訪問級別的信息。頁面與公共訪問類可以僅具有一對一的關系;頁面訪問類的又一個實例以及名為"頁面訪問"的相同數(shù)據(jù)庫表維持頁面的標識符、訪問組的標識符、訪問組呈現(xiàn)類的完全匹配類名、以及訪問級別的信息。可按不同訪問級別向頁面指派多個訪問組。頁面不能一起被指派公共訪問和訪問組兩者。頁面類中名為"訪問類名"的字段維持公共訪問類或訪問組呈現(xiàn)類的完全匹配類名,若其什么都不維持,則頁面是私有的并且未被定義任何可訪問性。頁面的公共訪問的訪問級別可通過僅用頁面的標識符和公共訪問類的完全匹配類名檢査名為"頁面訪問"的數(shù)據(jù)庫表來獲得。對于訪問組,名為"訪問"的數(shù)據(jù)庫表被用于維持訪問組的因子的所有可能組合的最高訪問級別的所有記錄,在此,因子組合意味著用戶、位置、以及頁面的標識符的組合。這些記錄并非是在定義它們時生成的,而是在用戶訪問頁面并激發(fā)訪問級別檢查時生成的,并且隨后一條或多條相關記錄被生成并以預定義間隔被規(guī)律更新。通過這樣做,"訪問"數(shù)據(jù)庫表可避免過密并提供更快和更高效的訪問級別檢査過程。關于"訪問"數(shù)據(jù)庫表,訪問類被定義并用于維持"訪問"數(shù)據(jù)庫表中的記錄的信息,以及實現(xiàn)名為"獲取訪問級別(getAccessLevel)"的方法,該方法通過提供用戶、位置、以及頁面的標識符的信息來取回訪問級別。在一個實施例中,在基類Servlet基(抽象類,不能被實例化并用作子類使用的一些公共使用實例變量和方法的基或占位符)中實現(xiàn)名為"檢査訪問"的另一種公共使用方法。"檢査訪問"方法需要實體實例的標識符和實體的實體呈現(xiàn)實現(xiàn)類的信息,并返回Interger[][],即作為整數(shù)的訪問級別的二維數(shù)組;第一維代表在執(zhí)行動作時涉及的頁面類并且該維的長度等于1;第二維代表許可角色,該維度的長度為2,其第一索引代表"創(chuàng)建者"的許可角色而其第二索引代表"管理員"的許可角色,但訪問級別總是為"管理員"許可角色。如果實體實例不是頁面,則必須通過頁面映射類來獲得其映射頁面,否則返回空。在一個實施例中,管理頁面類,即請求URI"/servlet/ManagePage"的動作類和Servlet基的子類以及Servlet呈現(xiàn)的實現(xiàn),使用頁面的標識符和頁面呈現(xiàn)類并調用"檢査訪問"方法來檢査用戶的訪問級別,以便確定用戶是否能訪問和管理頁面。管理鑲嵌類,即請求URI'7servlet/ManageMosaic"的動作類和Servlet基的子類以及Servlet呈現(xiàn)的實現(xiàn),使用鑲嵌的標識符和鑲嵌呈現(xiàn)類并調用"檢查訪問"方法來檢査用戶的訪問級別,以便確定用戶是否能訪問和管理鑲嵌。頁面的可訪問性可被個別地管理。一組頁面的可訪問性可通過對目錄樹應用一些過濾條件以濾除頁面并指派可訪問性定義來管理。當用戶開始請求并拜訪網(wǎng)站時,會話被聲明并在用戶的拜訪期間持續(xù),當用戶離開時,該會話將等待直至流逝了預定義的超時時段并隨后終止。會話被指派唯一ID以標識其自身。會話橫跨多個請求并用于存儲用戶(客戶機側)與網(wǎng)站(服務器側)之間的交換信息。會話中存儲的數(shù)據(jù)使用"設置屬性(setAttribute)"方法來保存以及使用"獲取屬性(getAttribute)"方法通過名稱和值對來檢索。這些行為通常實現(xiàn)在web應用中,web應用包括提供這些服務的web容器。在一個實施例中,Servlet會話(ServletSession)類被定義并被用作訪問和操縱存儲在會話中的適配器或外觀。當收到請求時,Servlet會話的新實例被實例化并用會話的會話ID來標識。在實例化Servlet會話實例時,名為"會話范圍散列表"的存儲器區(qū)或散列表通過將會話ID作為關鍵字被檢索(或者若尚不存在則被創(chuàng)建),并被用于存儲會話范圍寬度信息,因此處理任何請求的線程可訪問會話范圍寬度信息。會話范圍散列表通過方法設置屬性(會話ID,會話范圍散列表)以會話ID作為其關鍵字被保存在會話中。在實例化Servlet會話實例時,名為"請求范圍散列表"的另一個存儲器區(qū)或散列表通過將請求的URI作為關鍵字被檢索(或者若尚不存在則被創(chuàng)建),并被用于存儲對特定請求URI的累積請求范圍寬度信息,因此處理任何請求的線程可訪問關于特定請求URI的累積請求范圍寬度信息。請求范圍散列表可通過方法設置屬性(請求URI,請求范圍散列表)以請求URJ作為其關鍵字被保存在會話中,或者在嵌套散列表中通過方法放入(請求URI,請求范圍散列表)以請求URI作為其關鍵字被保存在會話范圍散列表中。請求的getParameterMapO方法返回包含參數(shù)名作為關鍵字以及參數(shù)值作為映射值的不變java.util.Map實例。參數(shù)映射中的關鍵字是字符串類型的。參數(shù)映射中的值是字符串數(shù)組類型的。每當用增加的新參敏值對或相同參數(shù)但新值代替了舊值來拜訪相同的請求URI時,將該映射輸入其請求范圍散列表中。通過這樣做,歷史和累積信息針對請求URJ被存儲,并且準備好被處理任何具有不同請求URI的請求的線程訪問。請求范圍散列表的壽命與會話持續(xù)相同的時間。最當前的請求信息在請求時仍被維護和訪問,并且與累積存儲器散列表不同。在組合Ajax(異步JavaScript和XML技術)的權限時,其提供異常編程架構用于基于web的應用開發(fā)。當具有不同請求URI的多個請求需要一起工作并且彼此協(xié)作時,該架構尤為有用。例如,在客戶機側,用戶接口在一個web瀏覽器中具有多個框架并且每一個框架呈現(xiàn)對不同請求URI的響應,不同框架之間的數(shù)據(jù)和信息交換可通過JavaScript、文檔對象模型等來完成。在客戶機側與服務器側之間,客戶機側的數(shù)據(jù)和信息可通過Ajax被送回服務器側并被保存到請求范圍散列表中而無需重載網(wǎng)頁。數(shù)據(jù)和信息根據(jù)每一個請求的請求URI被結構化地組織和保存在服務器中,它們在會話的壽命期間可在任何時間被服務器側或客戶機側訪問和改變。在一個實施例中,web瀏覽器的左側主體中的框架被用于通過名為"/servlet/ExploreDirectoiy(開發(fā)目錄)"的請求RUI來顯示頁面目錄樹的導航視圖。其中,父頁面由名為"父頁面"的參數(shù)標識。相同web瀏覽器的右側主體中的第二框架被用于通過名為'7servlet/PageChildList(頁面孩子列表)"的請求RUI來顯示父頁面的子頁面的列表。當?shù)诙蚣苻D到"/servlet/ManagePage(管理頁面)"的另一個請求URI以創(chuàng)建新頁面時,從"/servlet/ExploreDirectory"的請求范圍散列表中檢索"父頁面"信息并使其成為新創(chuàng)建的頁面的父頁面。當?shù)诙蚣苻D到'7servlet/ManageMosaic(管理鑲嵌)"的另一個請求URI以創(chuàng)建新鑲嵌時,從"/servlet/ExpIoreDirectory"的請求范圍散列表中檢索"父頁面"信息并使其成為新創(chuàng)建的頁面的父頁面,該新創(chuàng)建的頁面以Servlet基中實現(xiàn)的名為"映射頁面"的方法映射新創(chuàng)建的鑲嵌。當?shù)诙蚣苻D到"/servlet/ManageDocument(管理文檔)"的另一個請求URI以創(chuàng)建新文檔時,從"/servlet/ExploreDirectory"的請求范圍散列表中檢索"父頁面"信息并使其成為新創(chuàng)建的頁面的父頁面,該新創(chuàng)建的頁面以Servlet基中實現(xiàn)的名為"映射頁面"的相同方法映射新創(chuàng)建的文檔。"/servlet/ManageDOcument"的底層動作類是管理文檔,其實現(xiàn)Servlet呈現(xiàn)并且是Servlet基的子類。當?shù)诙蚣苻D到"/servlet/ManageMusic(管理音樂)"的另一個請求URI以創(chuàng)建新音樂時,從"/servld/ExploreDirectory"的請求范圍散列表中檢索"父頁面"信息并使其成為新創(chuàng)建的頁面的父頁面,該新創(chuàng)建的頁面以Servlet基中實現(xiàn)的名為"映射頁面"的相同方法映射新創(chuàng)建的音樂。"/servlet/ManageMusic"的底層動作類是管理音樂,其實現(xiàn)Servlet呈現(xiàn)并且是Servlet基的子類。當?shù)诙蚣苻D到"/servlet/ManagePicture(管理圖片)"的另一個請求URI以創(chuàng)建新圖片時,從'7servlet/ExploreDkectory"的請求范圍散列表中檢索"父頁面"信息并使其成為新創(chuàng)建的頁面的父頁面,該新創(chuàng)建的頁面以Servlet基中實現(xiàn)的名為"映射頁面"的相同方法映射新創(chuàng)建的圖片。"/servlet/ManagePicture"的底層動作類是管理圖片,其實現(xiàn)Servlet呈現(xiàn)并且是Servlet基的子類。對于"/servlel/ManageVideo(管理視頻)"、'7servlet/ManageSearchBox(管理搜索框)"、"/servlet/ManageAccessGroup(管理訪問組)"是相同的。這里的要點是使得無需在每一個請求URI的請求中攜帶或嵌入"父頁面"信息,其可以僅被存儲在一處,即使該信息可被存儲在會話范圍散列表中供每一個請求訪問,但將每一種信息放入一個平坦的地方將是混亂的并且不是最優(yōu)方法。"/servlet/ManageVideo"的底層動作類是管理視頻,而"/servlet/ManageSearchBox"的底層動作類是管理搜索框,以及"/servlet/ManageAccessGroup"的底層動作類是管理訪問組,其全部實現(xiàn)Servlet呈現(xiàn)并且是Servlet基的子類。在一個實施例中,開發(fā)(Explorer)類,艮卩"/servlet/Explorer"的動作類和Servlet基的子類,實現(xiàn)Servlet呈現(xiàn)。開發(fā)類的實例生成一組4個框架,其在web瀏覽器中被組織成3個框架集。第一個框架在頂主體區(qū)并且由ID"F0"標識。F0呈現(xiàn)一系列html按鈕,html按鈕呈現(xiàn)將被調用的每一個菜單或動作選擇,其后續(xù)將改變其他框架的URL并重載這些框架。按鈕或菜單由與名為"菜單索引"的數(shù)字相對應的"菜單Id"標識。F0的內容由將菜單類作為其動作類的請求URI"/servlet/Menu(菜單)"生成。"/servlet/Menu"是框架F0的屬性"src"的值。第二個框架在左側主體區(qū)并且由ID"F1"標識。Fl呈現(xiàn)目錄樹導航視圖。其"src"屬性的可能值為"/servlet/ExplorePublicDirectory(開發(fā)公共目錄)"、"/servlet/ExploreAccessGroupDirectory(開發(fā)訪問組目錄)"、"/servlet/ExploreDirectory(開發(fā)目錄)"、"/servlet/ExploreAccess(開發(fā)訪問)"、"/servlet/ExploreAssembly(f發(fā)匚編)",其分別使得其動作類為開發(fā)公共目錄、開發(fā)訪問組目錄、開發(fā)目錄、開發(fā)訪問和開發(fā)匯編。第三個框架在右側主體區(qū)但在上方位置并且由ID"F2"標識。F2以詳細模式或以縮略圖模式呈現(xiàn)子頁面的列表顯示,其還呈現(xiàn)實體的頁面顯示以及其他管理和編輯界面等。其"src"屬性的可能值為"/servlet/PageChildPublicList(頁面孩子公共列表)"、"/servlet/PageChildAccessGroupList(頁面孩子訪問組列表)"、"/servlet/PageCWldList(頁面孩子列表)"、'7servlet/PageChildAccessList(頁面孩子訪問列表)"、"/servlet/Page(頁面)",其分別使得其動作類為頁面孩子公共列表、頁面孩子訪問組列表、頁面孩子列表、頁面孩子訪問列表以及頁面Servlet。每一個請求URI可調用其自己的和另一個請求以進行進一步動作。第四個框架在右側主體區(qū)但在底部位置并且由ID"F3"標識。F3呈現(xiàn)將進行操作的動作界面并且隨后在框架Fl和F2上反映結果等。其"src"屬性的可能值為"/servlet/ManagePageAccessTree(管理頁面訪問樹)"、"/servlet/HangMosaic(懸掛鑲嵌)",其各自的相應動作類為管理頁面訪問樹、懸掛鑲嵌。每一個請求URI可調用其自己的和另一個請求以進行進一步動作。由ID"FS0"標識的第一框架集元素封入所有框架,并且其將FO與其余的分開,其余的被組織成ID為"FS1"的另一個框架集。字符串"23,*"被定義為FS0的"行"屬性的初始值,這意味著對F0的高度定義為23像素以及對FS1的其余高度。字符串"100%"被定義為FS0的"列"屬性的初始值,這意味著F0和FS1兩者皆延伸至web瀏覽器的整個寬度。第二框架集FS1封入Fl、F2和F3,但將Fl與F2和F3分開。F2和F3被組織成ID為"FS2"的另一個框架集。FS1的"行"屬性的初始值被定義為"100%",這意味著F1和FS2兩者皆延伸至FS1的整個高度;FS1的"列"屬性的初始值被定義為"20%,80%",這意味著Fl占用FS1的寬度的20%而FS2占用FS1的寬度的80%。第三框架集FS2封入F2和F3。其"行"屬性的初始值被定義為"60%,40%",這意味著F2占用FS2的高度頂部的60%而FS3占用FS2的高度底部的40%。FS2的"列"屬性的初始值被定義為"100%",這意味著F2和F3兩者皆延伸至FS2的整個寬度。FS2的"行"屬性的初始值取決于初始要求可具有諸如"*,0"或"80%,20"的變化,但這實際上并不重要。重要的是當用戶調整框架的大小時,在需要重載時或調用刷新時系統(tǒng)如何能跟蹤這些改變并且維護新大小。其次重要的是在不同菜單Id或菜單索引選擇下跟蹤每一個框架的URL(統(tǒng)一資源定位符)或"href"屬性。將所有框架的ID作為自變量傳入以獲取web瀏覽器中每一個框架的高度和寬度信息并且以Ajax函數(shù)調用來將這些數(shù)據(jù)送回給服務器側的名為"保存大小"的JavaScript函數(shù)被嵌入框架F0和F3中,從而監(jiān)聽框架的調整大小事件。將框架的ID作為自變量傳入以獲取該框架的URL或"href"屬性并且以Ajax函數(shù)調用來將該信息送回給服務器側的名為"保存Url"的另一個JavaScript函數(shù)被嵌入每一個框架中,從而監(jiān)聽每一個框架的加載事件。在服務器側,開發(fā)類的實例接收該信息,處理該信息并且將其存儲在其請求范圍散列表中。當在"/servlet/Explorer"上以菜單索引調用請求時,根據(jù)指定的菜單索引或通過使用默認值0,動作類開發(fā)檢索每一個框架的所保存URL以及大小信息,大小信息被用于重構對每一個框架集的"行"和"列"屬性的定義。因此,恰當?shù)目蚣懿季趾蚒RL信息能被維護并如期望地返回用戶。所有這些提供用以與之交互的良好用戶界面。在菜單索引=0時,在左手側,框架F1顯示一組"公共"頁面的目錄樹導航視圖。這些頁面已被授予公共訪問。Fl的請求URI為"/servlet/ExplorePublicDirectoiy",其對應于底層動作類開發(fā)公共目錄。有兩種導航模式"目錄視圖"和"頁面視圖"。"目錄視圖"僅向下導航至目錄頁面(父頁面)。并且當用戶點擊目錄頁面時,在右手側,框架F2示出該父頁面的子頁面的列表,其在"詳細"視圖模式下列出詳細信息而在"縮略圖"視圖模式下列出代表每一個子頁面的縮略圖。F2的請求URI為"/servlet/PageChildPublicList",其對應于底層動作類頁面孩子公共列表。另一方面,"頁面視圖"可向下導航至目錄樹中的每一個頁面,并且當用戶點擊樹中的任一個頁面中時,該頁面的html文件將出現(xiàn)在右手側的框架F2中。F2的請求URI為"/servlet/Page",其對應于底層動作類頁面Servlet,頁面Servlet是Servlet基類的子類并實現(xiàn)Servlet呈現(xiàn)。在菜單索引=l時,在左手側,框架F1顯示一組"共享"頁面的目錄樹導航視圖。這些頁面已被授予一個或多個用戶訪問組。Fl的請求URI為"/servlet/ExploreAccessGroupDirectory",其對應于底層動作類開發(fā)訪問組目錄。有兩種導航模式"目錄視圖"和"頁面視圖"。"目錄視圖"僅向下導航至目錄頁面(父頁面)。并且當用戶點擊目錄頁面時,在右手側,框架F2示出該父頁面的子頁面的列表,其在"詳細"視圖模式下列出詳細信息而在"縮略圖"視圖模式下列出代表每一個子頁面的縮略圖。F2的請求URI為"/servlet/PageChildAccessGroupList",其對應于底層動作類頁面孩子訪問組列表。另一方面,"頁面視圖"可向下導航至目錄樹中的每一個頁面,并且當用戶點擊樹中的任一個頁面中時,該頁面的html文件將出現(xiàn)在右手側的框架F2中。F2的請求URI為'7servlet/Page",其對應于底層動作類頁面Servlet。在菜單索引=2時,在左手側,框架F1顯示一組"根"頁面的目錄樹導航視圖。這些頁面是用戶擁有或用戶對其具有管理員權限的所有頁面。Fl的請求URI為"/servlet/ExploreDirectoiy",其對應于底層動作類開發(fā)目錄。有兩種導航模式"目錄視圖"和"頁面視圖"。"目錄視圖"僅向下導航至目錄頁面(父頁面)。并且當用戶點擊目錄頁面時,在右手側,框架F2示出該父頁面的子頁面的列表,其在"詳細"視圖模式下列出詳細信息而在"縮略圖"視圖模式下列出代表每一個子頁面的縮略圖。F2的請求URI為"/servlet/PageChildList",其對應于底層動作類頁面孩子列表。另一方面,"頁面視圖"可向下導航至目錄樹中的每一個頁面,并且當用戶點擊樹中的任一個頁面中時,該頁面的html文件將出現(xiàn)在右手側的框架F2中。F2的請求URI為"/servlet/Page",其對應于底層動作類頁面Servlet。存在名為"新目錄"的html按鈕用于調用對目錄或目類型頁面的創(chuàng)建。還存在名為"新"的另一個html按鈕用于在父頁面是目類型頁面的情況下調用對專用實體頁面的創(chuàng)建,或者在父頁面是目錄頁面的情況下調用對來自實體列表的可選實體頁面的創(chuàng)建。存在名為"剪切"和"粘貼"的兩個html按鈕。它們用于在整個目錄結構中四處移動頁面或目錄樹。圖6是菜單索引=2的基于瀏覽器的用戶接口600的示例性實施例,其中框架F0611在頂主體區(qū)并指向請求URI的"/servlet/Menu",其呈現(xiàn)一系列html按鈕,這些按鈕呈現(xiàn)將被調用的每一個菜單或動作選擇,框架F1613指向請求URI"/servlet/ExploreDirectory"用于對目錄樹結構進行查看和導航并指定父頁面,而框架F2615指向請求URT/servlet/PageChildList"用于查看指定父頁面的子頁面的列表以及用于創(chuàng)建和管理頁面。在菜單索引=3時,在左手側,框架F1顯示三組頁面(公共、共享、根)的目錄樹導航視圖。"導航"僅向下導航至目錄頁面。Fl的請求URI為"/servlet/ExploreAccess",其對應于底層動作類開發(fā)訪問。一旦目錄頁面(父頁面)被點擊,在右手側,框架F2指向請求URI"/servlet/PageChildAccessList",其示出父頁面的子頁面具有關于每一個頁面的可訪問性和訪問類型(不同訪問級別的私有、公共、訪問組)的詳細信息的列表。點擊子頁面的標題左側嵌入了鏈接的圖標將用戶接口向下引導至請求URI"/servlet/ManagePageAccess",其對應于底層動作類管理頁面訪問,其中可個別地管理用戶的可訪問性。另一方面,在右手側,框架F3服務請求URI"/servlet/ManagePageAccessTree"的請求,其中恰當?shù)脑L問類型和訪問級別可被定義并應用于自所選父頁面開始的頁面目錄樹,一旦通過點擊提交按鈕應用,結果立即反映在框架F2上。圖7是菜單索引=3的基于瀏覽器的用戶接口700的示例性實施例,其中框架F0711在頂主體區(qū)并指向請求URI的"/servlet/Menu",其呈現(xiàn)一系列html按鈕,這些按鈕呈現(xiàn)將被調用的每一個菜單或動作選擇,框架F1713指向請求URI"/servlet/ExploreAccess"用于對目錄樹結構進行查看和導航并指定父頁面,而框架F2715指向請求URI'Vservlet/PageChildAccessList"用于査看父頁面的子頁面的列表的可訪問性,以及F3717指向請求URI"/servlet/ManagePageAccessTree"用于創(chuàng)建和修改從指定父頁面開始的整個頁面樹的可訪問性。在菜單索引=4時,在左手側,框架F1顯示兩組頁面的目錄樹導航視圖。第一組僅包括與鑲嵌實體映射的一個或多個頁面,但排除與其他實體映射的頁面。第二組包括所有頁面,除了不與如何實體映射的特定和引用類型的頁面。框架Fl服務請求URI"/servlet/ExploreAssembly"的請求,其對應于底層動作類開發(fā)匯編。當選擇第一組中的頁面之一時,在右手側,框架F2通過對應于底層動作類頁面Servlet的請求URI"/servlet/Page"的請求示出該頁面代表的html文件。在右手側,框架F3示出名為"視圖模式"、"編輯模式"、"編輯CSS"以及"樹操作"的一些嵌入html按鈕,連同用于輸入X和Y值的懸掛位置的兩個輸入?yún)^(qū),該呈現(xiàn)通過對應于底層動作類懸掛鑲嵌(HangMosaic)的請求URI"/servlet/HangMosaic"的請求來服務。當選擇第二組中的頁面之一(專用類型,與特定實體映射)時,框架F3還示出對該特定實體的嵌入呈現(xiàn),從而作者可使用該實體以懸掛于選自第一組的頁面或鑲嵌上。"視圖模式"是默認的。當通過點擊按鈕調用"編輯模式"時,框架F2的視圖示出一些嵌入html按鈕用于每一個鑲嵌的移除和編輯,其中示出其懸掛位置信息,并以粗體顯現(xiàn)每一片的html表和單元格元素的邊界以示出嵌套結構信息。在有限元格和有限元鑲嵌懸掛線程中通過將Servlet處理的實例中名為"—iMode"的字段從"正常"調整為"管理"來達成此結果。在此,"正常"和"管理"分別為數(shù)字0和1。當通過點擊引導至對應于底層動作類樹形懸掛鑲嵌的請求URI"/servlet/HangMosaicOnTree"的請求的按鈕調用"樹操作"時,出現(xiàn)過濾條件用于從選自第一組的頁面開始并根據(jù)所選過濾條件選擇將實體懸掛于目錄樹中的那些頁面上。當調用引導至對應于底層動作類管理Css的請求URI"/servlet/ManageCss"的請求的"編輯CSS"時,框架F3示出并列出每一片的相應表及其行和單元格元素以及每一個元素的樣式表信息,提供用于每一個元素的名為"編輯"的html按鈕用于向下抵達每一個個別元素的管理接口以通過請求URI"/servlet/ManageCssElement"的請求以及底層動作類管理Css元素來管理其樣式表信息。圖8是用于在菜單索引=4時顯示和匯編頁面的基于瀏覽器的用戶接口800的示例性實施例,其中框架F0811在頂主體區(qū)并指向請求URI的"/servlet/Menu",其呈現(xiàn)一系列html按鈕,這些按鈕呈現(xiàn)將被調用的每一個菜單或動作選擇,框架Fl813指向請求URI"/servlet/ExploreAssembly"用于査看和選擇頁面和鑲嵌以及査看和選擇與特定實體映射的鑲嵌和頁面,框架F2815指向請求URI"/servlet/Page"用于在視圖模式("正常"模式)或編輯模式("管理"模式)下查看所選頁面,框架F3817指向請求URI"/servlet/HangMosaic"用于將所選鑲嵌或實體懸掛于所選頁面上。圖9是用于在菜單索弓1=4時顯示和匯編頁面的基于瀏覽器的用戶接口900的示例性實施例,其中框架F0911在頂主體區(qū)并指向請求URI的"/servlet/Menu",其呈現(xiàn)一系列html按鈕,這些按鈕呈現(xiàn)將被調用的每一個菜單或動作選擇,框架Fl913指向請求URI"/servlet/ExploreAssembly"用于査看和選擇頁面和鑲嵌以及査看和選擇與特定實體映射的鑲嵌和頁面,框架F2915指向請求URI"/servlet/Page"用于在編輯模式("管理"模式)下査看所選頁面,框架F3917指向請求URI"/servlet/HangMosaic"用于將所選鑲嵌或實體懸掛于所選頁面上。圖10是用于在菜單索引4時顯示和管理頁面的CSS元素的樣式表信息的基于瀏覽器的用戶接口1000的示例性實施例,其中框架F01011在頂主體區(qū)并指向請求URI的"/servlet/Menu",其呈現(xiàn)一系列html按鈕,這些按鈕呈現(xiàn)將被調用的每一個菜單或動作選擇,框架Fl1013指向請求URI"/servlet/ExploreAssembly"用于査看和選擇頁面和鑲嵌以及査看和選擇與特定實體映射的鑲嵌和頁面,框架F21015指向請求URI"/servlet/Page"用于在視圖模式("正常"模式)或編輯模式("管理"模式)下查看所選頁面,框架F31017指向請求URI"/servlet/ManageCss",其示出并列出每一片的相應表及其行和單元格元素以及每一個元素的樣式表信息,其中提供用于每一個元素的名為"編輯"的html按鈕用于向下抵達每一個個別元素的管理接口以管理其樣式表信息。在一個實施例中,作為實體的子集,圖片被定義為實體的子類并用于代表圖片。其相應的呈現(xiàn)類圖片呈現(xiàn)(PicturePresentation)實現(xiàn)用于圖片的呈現(xiàn)的實體呈現(xiàn)接口。實現(xiàn)方法之一是getPresentation(HttpServletRequestreq,HttpServletResponseresp,ServletSessionss,ServletProcessorsp,ServletBasesb,Object[]printid,Objectidentifier),其返回一對象。在此,標識符標識圖片實體。圖片實體的創(chuàng)建和編輯是通過對應于底層動作類管理圖片(ManagePicture)的請求URI"/servlet/ManagePicture"的請求進行的。管理圖片繼承Servlet基類并實現(xiàn)Servlet呈現(xiàn)接口。實現(xiàn)方法getPresentation(HttpServletRequestreq,HttpServletResponseresp,ServletSessionss,ServletProcessorsp,ServletBasesb,Object[]printid,Objectidentifier)負責對請求構造響應。在圖片實體的創(chuàng)建和修改期間,圖片源文件可被上傳或改變,并且出于帶寬考慮創(chuàng)建縮略圖或中等大小圖片并將其用于代替原始源文件呈現(xiàn)圖片以進行快速響應??s略圖或中等大小圖片的創(chuàng)建可能要花費一定時間才能完成。為了減少用戶等待的時間并加速響應,通過從管理圖片的"張貼(doPost)"方法內產生線程并向web應用服務器送出請求以處理異步任務來將這些任務放入異步進程中。完成此操作的結構和工作流在以下描述。服務器動作界面(ServerActionlnterface)界面定義在服務器側執(zhí)行異步任務的公共方法簽名,該方法簽名作為無返回的performAction(H鄰ServletRequestreq,HttpServletResponseresp,ServletSessionss,ServletProcessorsp,ServletBasesb)。服務器動作(ServerAction)類及其相應的名為"服務器動作"的數(shù)據(jù)庫表被定義并用于維持標識異步任務的標識符、發(fā)起任務的位置、服務器動作界面的實現(xiàn)類的完全匹配類名、用戶信息、用戶的語言偏好、發(fā)起任務的時序、在發(fā)起任務時隨機創(chuàng)建并用于以后認證的用戶名和口令的相關聯(lián)信息。繼承Servlet基類的服務器動作控制器(ServerActionController)類被定義并用于處理對用于開始異步任務的請求的接收和派遣。相應的請求URI是"/servlet/ServerActionController"。在收到請求之際并且在恰當?shù)恼J證之后,服務器動作控制器實例化服務器動作界面的實現(xiàn)類的實例并調用其performAction方法,且隨后在執(zhí)行該方法后返回。服務器動作界面的實現(xiàn)類可以可任選地進一步指定可從perfonnAction方法內實例化和執(zhí)行的動作類。當然,該動作類的完全匹配類名還需要在請求中指定——若希望如此,performAction方法隨后可解析它并進行處理。在管理圖片內部,將具有相關聯(lián)信息、此外還有實現(xiàn)服務器動作界面的圖片呈現(xiàn)的完全匹配類名、以及諸如創(chuàng)建圖片元數(shù)據(jù)(CreatePictureMetaData)、創(chuàng)建子類型圖片(CreateSubTypePicture)、以及創(chuàng)建多個子類型圖片(CreateSubTypePictures)等動作類的完全匹配類名的請求發(fā)送至"/servlet/ServerActionCon加Iler"。在收到該請求之際并且在用存儲在數(shù)據(jù)庫表"服務器動作"中的值驗證所附用戶名和口令之后,服務器動作控制器實例化圖片呈現(xiàn)的實例并調用其執(zhí)行動作方法。在執(zhí)行動作方法內部,動作類的完全匹配類名被解析并實例化一實例,且隨后被執(zhí)行。創(chuàng)建圖片元數(shù)據(jù)解析圖片的元數(shù)據(jù),諸如其寬度和高度信息;創(chuàng)建子類型圖片創(chuàng)建圖片的中等大小圖片;創(chuàng)建多個子類型圖片創(chuàng)建圖片的縮略圖和中等大小的圖片。在一個實施例中,作為實體的子集,音樂被定義為實體的子類并用于代表音樂。其相應的呈現(xiàn)類音樂呈現(xiàn)(MusicPresentation)實現(xiàn)用于音樂的呈現(xiàn)的實體呈現(xiàn)界面。實現(xiàn)方法之一是getPresentation(HttpServletRequestreq,H鄰ServletResponseresp,ServletSessionss,ServletProcessorsp,ServletBasesb,Object[]printid,Objectidentifier),其返回一對象。在此,標識符標識音樂實體。音樂實體的創(chuàng)建和編輯是通過對應于底層動作類管理音樂(ManageMusic)的請求URI"/servlet/ManageMusic"的請求進行的。管理音樂繼承Servlet基類并實現(xiàn)Servlet呈王見界面。方'法getPresentation(HttpServletRequestreq,HttpServletResponseresp,ServletSessionss,ServletProcessorsp,ServletBasesb,Object[]printid,Objectidentifier)負責對請求構造響應。在音樂實體的創(chuàng)建或修改期間,音樂源文件可被上傳和改變,音樂的元數(shù)據(jù)被解碼和用于呈現(xiàn)音樂。解碼可能費時不久。為了減少用戶等待的時間并加速響應,通過從管理音樂的"doPost"方法內產生線程將該任務放入異步進程中,并且將具有相關聯(lián)信息、此外還有實現(xiàn)服務器動作界面的音樂呈現(xiàn)的完全匹配類名、以及諸如創(chuàng)建音樂元數(shù)據(jù)(CreateMusicMetaData)等動作類的完全匹配類名的請求發(fā)送至'7servle1/ServerActionController"。在收到該請求之際并且在用存儲在數(shù)據(jù)庫表"服務器動作"中的值驗證所附用戶名和口令之后,服務器動作控制器實例化音樂呈現(xiàn)的實例并調用其執(zhí)行動作方法。在performAction方法內部,動作類創(chuàng)建音樂元數(shù)據(jù)的完全匹配類名被解析并實例化一實例,且隨后被執(zhí)行。創(chuàng)建音樂元數(shù)據(jù)解析音樂的元數(shù)據(jù),諸如作者、專輯、年代、曲目、流派、版權、以及評級等。在收到請求之際,頁面Servlet類(ServletBase基類的子類)的實例解析名為"模式"的參數(shù)以獲得其值。該值將設置Servlet處理的實例中名為"—iMode"的字段的值。其具有4個可能值"正常"、"管理"、"半靜態(tài)"、"全靜態(tài)",其分別對應于0、1、2和3。該值決定所生成的響應是像在"正常"和"管理"的情形中那樣送回給用戶的web瀏覽器,還是像在"半靜態(tài)"和"全靜態(tài)"的情形中那樣被寫下并保存在本地文件中供以后檢索。每一種模式的差別簡要地解釋如下。"正常"是默認模式。當模式處于"管理"時,出現(xiàn)一些嵌入html按鈕用于每一個鑲嵌的移除和編輯,其中示出其懸掛位置信息,連同粗體出現(xiàn)的每一片的html表和單元格元素的邊界以示出嵌套結構信息。該結果在有限元格和有限元鑲嵌懸掛線程中達成。當模式處于"半靜態(tài)"時,所生成的響應被保存到本地文件(半靜態(tài)文件)中供以后檢索,其中以頁面的標識符作為其文件名以及".htm"作為其文件擴展。在收到相同頁面上的請求之際并取決于一些過濾條件(諸如老化),代替再次動態(tài)地生成響應,此文件可被檢索并送回給用戶。半靜態(tài)文件中的嵌入鏈接若它們并非鏈接至靜態(tài)資源則處于諸如"/servlet/Page"等動態(tài)樣式以訪問頁面。當模式處于"全靜態(tài)"時,所生成的響應被保存到本地文件(全靜態(tài)文件)中供以后檢索,并以頁面的標識符作為其文件名以及".htm"作為其文件擴展來構成"電子書(eBook)"。此文件在被請求之際被送回給用戶。嵌入式鏈接處于諸如"標識符.html"等靜態(tài)樣式以訪問頁面的html文件。在完成之際,與網(wǎng)站相關聯(lián)的所有全靜態(tài)文件和相關靜態(tài)資源被復制到本地硬驅動的文件夾中,這構成可從web瀏覽器啟動并查看的電子書,并且能在無需web應用服務器或web服務器的情況下瀏覽所有頁面。該文件夾中的整個內容還可被燒制成CD、DVD,或可被復制到USB閃存驅動中進行存儲或四處攜帶以供以后像紙書那樣瀏覽,除了需要帶有web瀏覽器的計算機。當在會話期間連貫地拜訪或請求頁面時,在收到該請求之際,頁面Servlet類的實例將通過其"setRefreshFlag(設置刷新標記)"方法把Servlet處理的實例中名為"_blRefresh"的字段的值設為真。在這種條件下,頁面的html文件被動態(tài)地生成并被送回給用戶。在搜索框呈現(xiàn)中實現(xiàn)了高速緩存機制,其在存儲器塊(散列表)中存儲上次訪問的搜索結果和呈現(xiàn),在下次訪問相同搜索框時,代替再次進行搜索并處理呈現(xiàn),將返回存儲在該高速緩存中的內容。然而,如果字段"_blRefreSh"的值為真,則此特征被禁用并且將完整地進行搜索和呈現(xiàn)。在到達生成響應和收到通知的結尾時,無自變量且無返回并且實現(xiàn)在Servlet處理中的方法endO送出緩沖器層次中的任何內容殘留并將其清空。如果響應封入框架集,則"々html〉"被附于響應的結尾,否則"<body></html>"被附于響應的結尾以完成整個響應生成過程。取決于頁面的標識符是否已被放入開始散列表中的關鍵字"有限元.頁面"下,這發(fā)生在頁面Servlet的實例中,end()方法可通過對具有標識頁面的標識符和指定應對請求和后續(xù)檢索生成半靜態(tài)文件的值為"半靜態(tài)"的"模式"參數(shù)的請求URI"/servlet/Page"的請求產生新線程來送出請求。在處理文件上傳(文檔、圖片、音樂、視頻等)時,上傳的文件被解析、流線化、并保存在媒體服務器中,該媒體服務器負責管理文件的存儲、檢索、和刪除。所生成的指針和文件的擴展被用作文件的存儲、刪除和檢索的句柄。如果發(fā)現(xiàn)傳入請求是"多部分/格式-數(shù)據(jù)(multipart/form-data)"類型,則在上傳期間的解析和流線化在多部分請求(MultipartRequest)類的實例中處理。多部分請求類是Servlet會話類的超類。媒體類被定義并用于呈現(xiàn)文件。媒體,即媒體類的實例,用指針和文件擴展來標識,該文件擴展可為空。如果媒體服務器正好在相同的計算機機器中,則媒體使用緩沖的輸入流通過媒體客戶機(MediaClient)類的實例方法調用或本地獲取來檢索文件。如果媒體服務器正好在相同的計算機機器中,則通過媒體客戶機類的實例方法調用或本地進行來刪除媒體。作為媒體客戶機的實例,在被實例化時,建立用于與媒體服務器通信的套接字,并使用緩沖的輸出流來送出命令和相關參數(shù),并且使用緩沖的輸入流從媒體服務器檢索文件。媒體服務器包括兩部分:媒體服務器(MediaServer)類和媒體處理(MediaProcessor)類。媒體服務器在默認端口(9498)上建立服務器套接字(ServerSocket)并監(jiān)聽傳入請求。一旦收到請求,媒體服務器將把該請求傳遞給媒體處理類的實例,媒體處理的該實例將相應地處理該請求以刪除文件、保存文件、或檢索文件。媒體接口(Medialnterface)接口定義實體的實體呈現(xiàn)實現(xiàn)類可實現(xiàn)的公共方法簽名,因此可使用一般方式來檢索并未保存在數(shù)據(jù)庫中的外部文件,無論其是文檔、圖片、音樂還是視頻等。在一個實施例中,作為媒體的圖片由其擴展和圖片類中的指針來標識,實現(xiàn)媒體接口的圖片呈現(xiàn)的實例通過獲取媒體(getMedia)方法獲取該媒體,并且隨后通過媒體的獲取緩沖輸入流"getBufferedlnputStream"方法獲得緩沖的輸入流以送出該圖片。媒體具有不同的子類型,諸如圖片的縮略圖和中等大小圖片;子類型默認值為0。在一個實施例中,獲取媒體(GetMedia)類,即請求URI"/servlet/GetMedia"的動作類和Servlet基的子類,被用于檢索媒體和送出給用戶。在檢索實體的實體呈現(xiàn)實現(xiàn)類的完全匹配類名和標識實體的標識符、以及用于認證的用戶名和口令之際,通過其緩沖的輸入流標識和檢索媒體,隨后使用響應的輸出流將輸入流送出給請求用戶。媒體可進一步由默認值為O的子類來標識。在創(chuàng)建或修改實體期間生成用戶名和口令并將其存儲在映射頁面中。它們隨后在實體的呈現(xiàn)生成過程期間被檢索和附連至媒體鏈接。在一個實施例中,作為實體的子集和實體類的子類,簡單文本(SimpleText)被標識并用于代表不包括html代碼片段的純文本塊,從而純文本塊可簡單地從其源復制并粘貼到簡單文本的實例中,并且通過實現(xiàn)實體呈現(xiàn)接口的簡單文本呈現(xiàn)(SimpleTextPresentation)類的實例呈現(xiàn)為html文件。創(chuàng)建、讀取、更新和移除通過作為Servlet基的子類和實現(xiàn)Servlet呈現(xiàn)的管理簡單文本(ManageSimpleText)來管理。在一個實施例中,作為實體的子集和實體類的子類,Html文本(HtmlText)被標識并用于代表html代碼片段塊,從而作者可創(chuàng)建或將html代碼片段塊復制到Html文本的實例中,并且通過實現(xiàn)實體呈現(xiàn)接口的Html文本呈現(xiàn)(HtmlTextPresentation)類的實例呈現(xiàn)為html文件。創(chuàng)建、讀取、更新和移除通過作為Servlet基的子類和實現(xiàn)Servlet呈現(xiàn)的管理Html文本(ManageHtmlText)來管理。在一個實施例中,作為實體的子集和實體類的子類,收藏(Favorite)類被定義并用于代表微軟的因特網(wǎng)瀏覽器的收藏夾中的收藏鏈接。收藏的url鏈接從其底層文件被解析和提取并且被保存至收藏的實例,其隨后通過實現(xiàn)實體呈現(xiàn)接口的收藏呈現(xiàn)(FavoritePresentation)類的實例被呈現(xiàn)。創(chuàng)建、讀取、更新和移除通過作為Servlet基的子類和實現(xiàn)Servlet呈現(xiàn)的管理收藏(ManageFavorite)來管理。在一個實施例中,作為實體的子集和實體類的子類,網(wǎng)頁(Webpage)類被定義并用于代表保存在本地硬驅動的文件夾中的html文件及其相關聯(lián)內容。保存在本地硬驅動的文件夾中的html文件及其相關聯(lián)內容來自在web瀏覽器環(huán)境中諸如在微軟因特網(wǎng)瀏覽器中進行的動作,用戶點擊瀏覽器頂級菜單中的"文件"并隨后點擊"保存為...",其彈出詢問將保存至其中的文件名的對話窗,并且對話窗中的默認"保存為類型"為"網(wǎng)頁,完整(氣htm,氣html)"。網(wǎng)頁的實例通過實現(xiàn)實體呈現(xiàn)接口的網(wǎng)頁呈現(xiàn)(WebpagePresentation)類的實例來呈現(xiàn)。創(chuàng)建、讀取、更新和移除通過作為Servlet基的子類和實現(xiàn)Servlet呈現(xiàn)的管理網(wǎng)頁(ManageWebpage)來管理??墒謩拥刂鹨粍?chuàng)建文檔、圖片、音樂、視頻并將其映射到頁面。另一方面,在指定文件夾的路徑和要創(chuàng)建的相應實體之后,可創(chuàng)建本地硬驅動中的文件的文件夾并通過映射線程自動將其映射到頁面。本地文件或文件夾的路徑信息隨所創(chuàng)建的相應實體一起被保存。在一個實施例中,管理目錄映射(ManageDirectoryMap)類繼承Servlet基并實現(xiàn)Servlet呈現(xiàn)接口。在其doGet(獲取)方法中,產生線程以連同動作類創(chuàng)建目錄映射(CreateDirectoryMap)的完全匹配類名一起將異步請求送出至服務器動作控制器,并通過調用在創(chuàng)建目錄映射類的實例的執(zhí)行動作方法內部實例化的映射目錄(MapDirectory)類的實例來要求彈出對話窗。在對話窗內部,用戶可導航至文件夾并隨后從潛在實體呈現(xiàn)的完全匹配類名的列表中選擇文件夾的實體類型,該列表是由目錄過濾(DircctoryFilter)類的實例生成的。一旦用戶作出選擇,該信息就被保存到本地文件夾中并且該文件夾的路徑被返回作為響應,文件夾的路徑在文件分隔符用點"."字符代替后被用作本地文件的文件名。管理目錄映射還顯示當前所選文件夾、其指定實體類型、從文件夾向下至進行映射的深度、維持映射頁面的父頁面、以及對映射頁面的訪問定義的列表。訪問定義將從父頁面中繼承。管理目錄映射父(ManageDirectoiyMapParent)處理對所選文件夾的父頁面的選擇。映射文件系統(tǒng)線程(MapFileSystemThread)線程將通過調用映射文件系統(tǒng)(MappingFileSytem)類的映射頁面(mapPage)實例方法來開始映射文件夾和文件,該方法根據(jù)文件夾的指定實體類型向下逐個導航至每一個文件夾、每一個文件,創(chuàng)建相應的實體和與其映射的頁面并處理其他相關聯(lián)任務。在該過程期間,文件的路徑被轉換成相對URL,其隨后被用于嵌入鏈接以檢索該文件。在完成映射過程之際,生成每一個頁面的半靜態(tài)和全靜態(tài)html文件,并且隨后與網(wǎng)站相關聯(lián)的所有全靜態(tài)文件和相關靜態(tài)資源被復制到本地硬驅動的文件夾中,以構成可從web瀏覽器啟動并查看的電子書,并且能在無需web服務器或web應用服務器的情況下瀏覽所有頁面。圖11是用于顯示和管理所選本地文件夾及其指定實體類型的列表的基于瀏覽器的用戶接口1100的示例性實施例,其中框架F01111在頂主體區(qū)并指向請求URI的"/servle1/Menu",其呈現(xiàn)一系列html按鈕,這些按鈕呈現(xiàn)將被調用的每一個菜單或動作選擇,框架F11113指向請求URI"/servlet/ManageDirectoryMap"用于査看和管理所選本地文件夾及其指定實體類型的列表,彈出對話窗1115允許用戶導航至本地文件夾并隨后從實體列表中選擇文件夾的實體類型。同時,由于文件夾及其文件是由用戶任意選擇的,因此這些信息被在映射文件系統(tǒng)線程中實現(xiàn)的類方法"獲取公共目錄(getPublicDirectories)"收集作為目錄路徑的列表,并在該網(wǎng)站被部署在ApacheTomcatweb應用服務器上時被傳遞至ApacheTomcat的默認Servlet。目錄路徑信息在實現(xiàn)Servlet上下文監(jiān)聽(ServletContextListener)的Servlet上下文管理(ServletContextManager)類中被搜集并被放入Servlet上下文中,從而其能在默認Servlet的服務資源(serveResource)方法中被檢索。如果頁面被映射到本地文件或文件夾并且用戶通過打開與web應用服務器位于相同計算機機器上的web瀏覽器來瀏覽該頁面,嵌入頁面的呈現(xiàn)中的指向請求URI"/servlet/OpenFileSystem(打開文件系統(tǒng))"并連同至該頁面所映射的本地文件或文件夾的路徑信息一起提供的鏈接可被調用以通過諸如Windows瀏覽器等計算機機器的文件管理程序來打開該文件或文件夾。"/servlet/OpenFileSystem"的底層動作類是打開文件系統(tǒng)類(Servlet基的子類)。如果web應用服務器在后端運行而不能與用戶交互,則需要在不同端口上的前端并行運行的相同web應用服務器,在這種情形中,打開文件系統(tǒng)的實例將帶有相關信息的請求轉發(fā)給前端web應用服務器的"/servlet/ServerActionController"并要求打開路徑(OpenPath)類(服務器動作接口的實現(xiàn))的動作來打開該文件或文件夾。這提供了將web環(huán)境與本地文件管理程序集成的無縫工作環(huán)境。在一個實施例中,符號"@"被用作鏈接的標題以指示這種特征的意義。在一個實施例中,ApacheTomcat被用作web應用服務器,其在Java虛擬機(JVM)上運行并包括用于向web應用提供服務的web容器;用戶打開的web瀏覽器可在與web應用服務器相同的計算機機器上運行或者可在具有至web應用服務器的計算機機器的通信連接的不同或遠程計算機機器上運行。web應用服務器包括本質上是與servlet交互的web服務器的組件的web容器。web容器負責管理servlet的生命周期、將URL映射到特定servlet并確保該URL請求方具有正確的訪問權利。Servlet是接收請求(Servlet請求)并基于該請求生成響應(Servlet響應)的對象。ServletAPI封裝javax.servlet.http定義通用servlet(HttpServlet)請求(HttpServlet請求)和響應(HttpServlet響應)、以及跟蹤web服務器與客戶機之間的多個請求和響應的會話(Http會話)的HTTP子類。在一個實施例中,Servlet基類繼承HttpServlet類以接收web容器提供的響應以及用于檢索請求和送出響應。Servlet基實現(xiàn)具有4個自變量的開始方法HttpServlet請求的實例、HttpServlet響應的實例、Servlet會話的實例、以及Servlet處理的實例,該開始方法產生封裝Servlet處理實例的begin()方法的新線程;Servlet基還實現(xiàn)具有4個自變量的結束方法HttpServlet請求的實例、HttpServlet響應的實例、Servlet會話的實例、以及Servlet處理的實例,該結束方法封裝Servlet處理實例的end()方法;Servlet基還提供用于將開始方法和結束方法封裝在一起的常規(guī)方法dolt(完成)。在一個實施例中,Servlet請求的實例被傳入以實例化多部分請求類的實例,用于在傳入請求是"多部分/格式-數(shù)據(jù)"類型的情況下解析參數(shù)值對和二進制流上傳。Servlet會話類繼承多部分請求類。在一個實施例中,Servlet處理類的實例通過傳入HttpServlet請求、HttpServlet響應、Servlet會話、和Servlet基的實例作為其構造函數(shù)的4個自變量來實例化。Servlet處理負責處理傳入請求和生成響應。作為一般抽象類,有限元抽象(FeaAbstract)類的實例維持HttpServlet請求、HttpServlet響應、Servlet會話、Servlet處理和Servlet基的實例的信息。有限元抽象類的所有實例還共享根據(jù)用戶的不同語言偏好提供國際化和本土化支持的資源類的實例。有限元類被定義為用于實際實現(xiàn)和實例化的有限元抽象類的子類。有限元矩陣類繼承有限元類并實現(xiàn)Java編程語言的可運行接口,從而有限元矩陣的實例可作為線程來執(zhí)行。有限元矩陣的實例還被傳入對象數(shù)組的信息作為關鍵字鏈、矩陣標記的有限元標記實例以及矩陣標記結束的另一個有限元標記實例和鑲嵌懸掛的列表,并且在根據(jù)其X和Y值挑選出鑲嵌懸掛的列表之后生成一組片和每一個片中的格的信息。有限元片類繼承有限元矩陣類。有限元片的實例代表一片并且被傳入一組片的片的索引信息,并作為線程被執(zhí)行。有限元格類繼承有限元片類。有限元格的實例代表片中的格并且被傳入片中的格的索引信息以及該格代表的對象,并且作為線程被執(zhí)行。有限元鑲嵌懸掛類繼承有限元矩陣類。有限元鑲嵌懸掛的實例代表一鑲嵌懸掛并且被傳入一片的格的索引信息和鑲嵌懸掛的標識符,并作為線程被執(zhí)行。有限元框類繼承有限元格類。有限元框的實例代表關于片中的矩形區(qū)的一組鑲嵌懸掛并且被傳入片中的格的索引信息以及該組鑲嵌懸掛,并且作為線程被執(zhí)行。有限元鑲嵌類繼承有限元類并實現(xiàn)Java編程語言的可運行接口,從而有限元鑲嵌的實例可作為線程來執(zhí)行。有限元鑲嵌的實例被傳入對象數(shù)組的信息作為關鍵字鏈以及標識鑲嵌的標識符,并作為線程來執(zhí)行。在一個實施例中,數(shù)據(jù)庫為SQL(結構化查詢語言)類型關系數(shù)據(jù)庫管理系統(tǒng)(MSSQL、Oracle、ApacheDerby或MySQL)之一。JDBC(Java數(shù)據(jù)庫連接)驅動器用于訪問和操作保存在數(shù)據(jù)庫中的數(shù)據(jù)。權利要求1.一種用于建模由web容器生成的網(wǎng)頁的系統(tǒng),包括實體,其定義所有實體的頂層超集并實現(xiàn)適用于所有實體的公共方法;鑲嵌,其繼承所述實體并代表所述網(wǎng)頁的組件;頁面,其繼承所述實體并代表所述網(wǎng)頁;鑲嵌懸掛,其繼承所述實體并處理將鑲嵌懸掛于頁面或另一個鑲嵌上由X變量代表的水平或行位置以及由Y變量代表的垂直或列位置處的關系;鑲嵌綁定,其繼承所述實體并且將鑲嵌綁定到除頁面和鑲嵌實體外的實體的實例,并且使所述鑲嵌代表所述實體。2.如權利要求1所述的系統(tǒng),其特征在于,還包括頁面映射,其繼承所述實體并且將頁面映射到除頁面實體外的實體的實例;頁面孩子,其繼承所述實體并處理父頁面與其子頁面的關系;樹形鑲嵌懸掛,其繼承所述實體并通過將鑲嵌懸掛于經過濾頁面上由X變量代表的水平或行位置以及由Y變量代表的垂直或列位置處來將所述鑲嵌應用于頁面樹;鑲嵌引用,其繼承所述實體并處理鑲嵌本地或遠程地弓l用另一個鑲嵌的關系;頁面引用,其繼承所述實體并處理頁面本地或遠程地引用另一個頁面的關系。3.如權利要求1所述的系統(tǒng),其特征在于,還包括公共訪問,其以指定訪問級別無、讀取、編輯、刪除、或創(chuàng)建來標注頁面對于公共的可訪問性,其各自比前一個具有更多權限并且分別由數(shù)字O、1、2、3、4來表示;訪問組,其繼承所述實體并代表通過用戶信息、所述用戶來自的位置、指定訪問級別的因子來定義頁面的可訪問性的訪問組,其中所述指定訪問級別為無、讀取、編輯、刪除或創(chuàng)建中的任一個,其各自比前一個具有更多權限并且分別由數(shù)字O、1、2、3、4來表示;頁面訪問,其維持頁面的可訪問性信息的信息用于在用戶訪問所述頁面時進行授權;搜索框,其繼承所述實體并定義對頁面的目錄樹的搜索準則以及返回遵循所述搜索準則的實體列表;媒體,其代表未保存在數(shù)據(jù)庫中的文件并處理對所述文件的檢索和移除。4.如權利要求1所述的系統(tǒng),其特征在于,還包括實體呈現(xiàn),其定義用于呈現(xiàn)實體的公共方法的簽名;媒體接口,其定義用于檢索未保存在數(shù)據(jù)庫中的文件的公共方法的簽名;搜索接口,其定義用于提供對搜索的排序支持的公共方法的簽名;服務器動作接口,其定義用于在所述web容器上執(zhí)行異步任務的公共方法的簽名;搜索呈現(xiàn),其定義用于呈現(xiàn)通過搜索產生并由所述搜索接口的實例排序的實體列表的公共方法的簽名;頁面呈現(xiàn),其實現(xiàn)所述實體呈現(xiàn)、媒體接口、搜索接口、以及服務器動作接口以呈現(xiàn)頁面、檢索相關聯(lián)外部文件、排序通過搜索產生的頁面列表、以及執(zhí)行與頁面相關的異步任務;鑲嵌呈現(xiàn),其實現(xiàn)所述實體呈現(xiàn)以呈現(xiàn)鑲嵌;訪問組呈現(xiàn),其實現(xiàn)所述實體呈現(xiàn)以呈現(xiàn)訪問組;搜索框呈現(xiàn),其實現(xiàn)所述實體呈現(xiàn)以呈現(xiàn)搜索框。5.如權利要求1所述的系統(tǒng),其特征在于,還包括Servlet處理,用于處理請求并生成響應;Servlet基,其繼承HttpServlet以接收由所述web容器提供的服務并定義用于在其子類中進行繼承和使用的公共方法;Servlet呈現(xiàn),其定義用于在收到所述web容器的請求之后生成響應的呈現(xiàn)的公共方法的簽名;多部分請求,用于在請求是"多部分/格式-數(shù)據(jù)"類型的情況下解析參數(shù)值對和二進制流上傳,并且在被實例化時,代表所述請求的HttpServlet請求的實例被傳入作為唯一自變量;Servlet會話,其繼承所述多部分請求并充當訪問和操縱存儲在Http會話中的信息的適配器或外觀,并且在被實例化時,代表請求的HttpServlet請求的實例被傳入作為唯一自變量。6.如權利要求1所述的系統(tǒng),其特征在于,還包括以下任一項文檔,其繼承所述實體并代表文檔;音樂,其繼承所述實體并代表音樂;圖片,其繼承所述實體并代表圖片;視頻,其繼承所述實體并代表視頻;收藏,其繼承所述實體并代表因特網(wǎng)瀏覽器的"收藏夾"中的收藏鏈接;網(wǎng)頁,其繼承所述實體并代表保存在本地文件夾中的html文件及其相關聯(lián)內容;Html文本,其繼承所述實體并代表html代碼片段;簡單文本,其繼承所述實體并代表簡單文本塊。7.如權利要求4所述的系統(tǒng),其特征在于,還包括以下任一項文檔呈現(xiàn),其實現(xiàn)所述實體呈現(xiàn)、媒體接口、搜索接口、以及服務器動作接口以呈現(xiàn)文檔、檢索相關聯(lián)外部文件、排序通過搜索產生的頁面列表、以及執(zhí)行與文檔相關的異步任務;音樂呈現(xiàn),其實現(xiàn)所述實體呈現(xiàn)、媒體接口、搜索接口、以及服務器動作接口以呈現(xiàn)音樂、檢索相關聯(lián)外部文件、排序通過搜索產生的音樂列表、以及執(zhí)行與音樂相關的異步任務;圖片呈現(xiàn),其實現(xiàn)所述實體呈現(xiàn)、媒體接口、搜索接口、以及服務器動作接口以呈現(xiàn)圖片、檢索相關聯(lián)外部文件、排序通過搜索產生的圖片列表、以及執(zhí)行與圖片相關的異步任務;視頻呈現(xiàn),其實現(xiàn)所述實體呈現(xiàn)、媒體接口、搜索接口、以及服務器動作接口以呈現(xiàn)視頻、檢索相關聯(lián)外部文件、排序通過搜索產生的視頻列表、以及執(zhí)行與視頻相關的異步任務;收藏呈現(xiàn),其實現(xiàn)所述實體呈現(xiàn)、媒體接口、搜索接口、以及服務器動作接口以呈現(xiàn)收藏、檢索相關聯(lián)外部文件、排序通過搜索產生的收藏列表、以及執(zhí)行與收藏相關的異步任務;網(wǎng)頁呈現(xiàn),其實現(xiàn)所述實體呈現(xiàn)、媒體接口、搜索接口、以及服務器動作接口以呈現(xiàn)網(wǎng)頁、檢索相關聯(lián)外部文件、排序通過搜索產生的網(wǎng)頁列表、以及執(zhí)行與網(wǎng)頁相關的異步任務;Html文本呈現(xiàn),其實現(xiàn)所述實體呈現(xiàn)以呈現(xiàn)Html文本;簡單文本呈現(xiàn),其實現(xiàn)所述實體呈現(xiàn)以呈現(xiàn)簡單文本。8.如權利要求5所述的系統(tǒng),其特征在于,還包括頁面Servlet,其繼承Servlet基并實現(xiàn)Servlet呈現(xiàn)以在收到對頁面的請求后生成所述網(wǎng)頁;管理頁面,其繼承Servlet基并實現(xiàn)Servlet呈現(xiàn)以提供基于瀏覽器的接口用于創(chuàng)建、讀取、更新和移除頁面;管理鑲嵌,其繼承Servlet基并實現(xiàn)Servlet呈現(xiàn)以提供基于瀏覽器的接口用于創(chuàng)建、讀取、更新和移除鑲嵌;管理訪問組,其繼承Servlet基并實現(xiàn)Servlet呈現(xiàn)以提供基于瀏覽器的接口用于創(chuàng)建、讀取、更新和移除訪問組;管理搜索框,其繼承Servlet基并實現(xiàn)Servlet呈現(xiàn)以提供基于瀏覽器的接口用于創(chuàng)建、讀取、更新和移除搜索框。9.如權利要求5所述的系統(tǒng),其特征在于,還包括服務器動作控制器,其繼承Servlet基并處理對請求的接收和派遣以開始異步任務。10.如權利要求8所述的系統(tǒng),其特征在于,還包括以下任一項管理文檔,其繼承Servlet基并實現(xiàn)Servlet呈現(xiàn)以提供基于瀏覽器的接口用于創(chuàng)建、讀取、更新、上傳和移除文檔;管理音樂,其繼承Servlet基并實現(xiàn)Servlet呈現(xiàn)以提供基于瀏覽器的接口用于創(chuàng)建、讀取、更新、上傳和移除音樂;管理圖片,其繼承Servlet基并實現(xiàn)Servlet呈現(xiàn)以提供基于瀏覽器的接口用于創(chuàng)建、讀取、更新、上傳和移除圖片;管理視頻,其繼承Servlet基并實現(xiàn)Servlet呈現(xiàn)以提供基于瀏覽器的接口用于創(chuàng)建、讀取、更新、上傳和移除視頻;管理收藏,其繼承Servlet基并實現(xiàn)Servlet呈現(xiàn)以提供基于瀏覽器的接口用于創(chuàng)建、讀取、更新、上傳和移除收藏;管理網(wǎng)頁,其繼承Servlet基并實現(xiàn)Servlet呈現(xiàn)以提供基于瀏覽器的接口用于創(chuàng)建、讀取、更新、上傳和移除網(wǎng)頁;管理Html文本,其繼承Servlet基并實現(xiàn)Servlet呈現(xiàn)以提供基于瀏覽器的接口用于創(chuàng)建、讀取、更新和移除Html文本;管理簡單文本,其繼承Servlet基并實現(xiàn)Servlet呈現(xiàn)以提供基于瀏覽器的接口用于創(chuàng)建、讀取、更新和移除簡單文本。11.如權利要求l所述的系統(tǒng),其特征在于,鑲嵌被綁定到Servlet呈現(xiàn)的實現(xiàn)類以代表所述Servlet呈現(xiàn)的實現(xiàn)類的實例的輸出,并且其關系由鑲嵌綁定通過標識所述Servlet呈現(xiàn)實現(xiàn)類的完全匹配類名的"標識符"字段和"類名"字段以及標識所述鑲嵌的"鑲嵌"字段來處理。12.如權利要求l所述的系統(tǒng),其特征在于,鑲嵌被懸掛于Servlet呈現(xiàn)實現(xiàn)類上,并且其關系由鑲嵌懸掛通過標識所述Servlet呈現(xiàn)實現(xiàn)類的完全匹配類名的"標識符"字段和"類名"字段和標識所述鑲嵌的"鑲嵌"字段以及由X變量和Y變量標識的懸掛位置來處理。13.如權利要求l所述的系統(tǒng),其特征在于,通過將懸掛位置的X和Y值皆指定為負來將鑲嵌懸掛于所述web頁面的標題區(qū)上。14.如權利要求l所述的系統(tǒng),其特征在于,頁面有4中類型專用、目錄型、弓l用、和目錄。15.如權利要求14所述的系統(tǒng),其特征在于,專用類型頁面是頁面自身且未映射到任何實體的頁面,或者是映射到除頁面外的任何實體,所述任何實體是鑲嵌、文檔、音樂、圖片、視頻、收藏、網(wǎng)頁、簡單文本、Html文本、搜索框或訪問組中任意一個。16.如權利要求15所述的系統(tǒng),其特征在于,映射到鑲嵌的頁面具有將所述鑲嵌懸掛于所述頁面上預定義位置的鑲嵌懸掛以及將所述頁面映射到所述鑲嵌的頁面映射。17.如權利要求15所述的系統(tǒng),其特征在于,映射到除頁面和鑲嵌外的實體的頁面具有將鑲嵌綁定到所述實體的鑲嵌綁定、將所述鑲嵌懸掛于所述頁面上預定義位置的鑲嵌懸掛以及將所述頁面映射到所述實體的頁面映射。18.如權利要求14所述的系統(tǒng),其特征在于,目錄型類型頁面用作維持映射到由所述實體的實體呈現(xiàn)實現(xiàn)類的完全匹配類名標識的相同類型實體的一組子頁面的父頁面。19.如權利要求14所述的系統(tǒng),其特征在于,引用類型頁面本地或遠程地引用另一個頁面,并且所述弓l用頁面和所述被弓l用頁面的關系維持在頁面引用中。20.如權利要求14所述的系統(tǒng),其特征在于,目錄類型頁面維持包括另一個目錄類型頁面的所有類型的頁面作為其子頁面。21.如權利要求l所述的系統(tǒng),其特征在于,鑲嵌有4中類型專用、目類型、用于、和目錄。22.如權利要求21所述的系統(tǒng),其特征在于,專用類型鑲嵌是鑲嵌自身且未綁定到任何實體的鑲嵌,或者是綁定到除頁面和鑲嵌外的任何實體作為文檔、音樂、圖片、視頻、收藏、網(wǎng)頁、簡單文本、Html文本、搜索框或訪問組之一的鑲嵌,并且鑲嵌與實體的綁定關系由鑲嵌綁定來處理。23.如權利要求21所述的系統(tǒng),其特征在于,目錄型類型鑲嵌充當父鑲嵌并且綁定到由所述實體的實體呈現(xiàn)實現(xiàn)類的完全匹配類名標識的相同類型實體的一組專用鑲嵌懸掛于其上,父鑲嵌和懸掛于父鑲嵌上的子鑲嵌的關系由鑲嵌懸掛來處理。24.如權利要求21所述的系統(tǒng),其特征在于,引用類型鑲嵌本地或遠程地引用另一個鑲嵌,并且所述引用鑲嵌和所述被引用鑲嵌的關系由鑲嵌引用來處理。25.如權利要求21所述的系統(tǒng),其特征在于,目錄類型鑲嵌充當父鑲嵌并且包括另一個目錄類型鑲嵌的所有類型的鑲嵌懸掛于其上。26.如權利要求1所述的系統(tǒng),其特征在于,鑲嵌通過鑲嵌綁定被綁定到函數(shù)以呈現(xiàn)執(zhí)行所述函數(shù)的結果。27.如權利要求1所述的系統(tǒng),其特征在于,鑲嵌通過鑲嵌綁定被綁定到搜索框以呈現(xiàn)所述搜索框的搜索結果。28.如權利要求l所述的系統(tǒng),其特征在于,鑲嵌通過私有API展出作為服務并被其他網(wǎng)站消費。29.如權利要求1所述的系統(tǒng),其特征在于,通過將鑲嵌與函數(shù)綁定的鑲嵌綁定將所述鑲嵌綁定到消費通過網(wǎng)站的私有API展出的服務的函數(shù)。30.如權利要求1所述的系統(tǒng),其特征在于,鑲嵌通過WSDL(web服務描述語言)展出作為web服務以定義服務端點和端口,并被其他網(wǎng)站消費以對所述鑲嵌進行重用。31.如權利要求l所述的系統(tǒng),其特征在于,通過將鑲嵌與消費web服務的函數(shù)綁定的鑲嵌綁定,將所述鑲嵌綁定到消費通過網(wǎng)站的標準化WSDL展出的web服務的函數(shù)。32.如權利要求l所述的系統(tǒng),其特征在于,所述鑲嵌被封入html表的行的單元格中,所述單元格、行、表分別由單元格ID、行ID和表ID的唯一ID標識,從而鑲嵌的外觀通過定義單元格ID、行ID和表ID的樣式表信息并將其保存在外部CSS文件中來調整。33.如權利要求32所述的系統(tǒng),其特征在于,由鑲嵌的標識符加上文件擴展".css"標識的外部CSS文件包含所述鑲嵌的所有派生鑲嵌的所有單元格ID、行ID和表ID樣式表信息。34.如權利要求33所述的系統(tǒng),其特征在于,當所述鑲嵌被其他網(wǎng)站通過服務請求時,所述外部CSS文件被嵌入所述輸出中。35.如權利要求3所述的系統(tǒng),其特征在于,搜索框維持將被搜索的目錄樹的頂頁面、指示從所述頂頁面向下深入所述目錄樹的搜索程度的深度級別、所述搜索框正搜索的頁面的類型、指示所述搜索框正搜索的特定類型實體的實體的實體呈現(xiàn)實現(xiàn)類的完全匹酉己類名、搜索基于的與搜索結果的次序有關的參數(shù)、指示所述次序的升序或降序的方向的信息。36.如權利要求4所述的系統(tǒng),其特征在于,實體呈現(xiàn)的公共方法的簽名即獲取呈現(xiàn),返回結果作為對象并要求7個自變量代表請求的HttpServlet請求的實例、代表響應的HttpServlet響應的實例、代表當前會話的Servlet會話的實例、用于處理所述請求并生成所述響應的Servlet處理的實例、用于接收所述請求并從web容器送出所述響應的Servlet基的實例、作為代表一系列緩沖器的關鍵字鏈的對象數(shù)組、作為實體的實例的標識符的對象。37.如權利要求4所述的系統(tǒng),其特征在于,媒體接口的公共方法的簽名即獲取媒體返回媒體的實例并要求兩個變量作為實體的實例的標識符的對象以及所述媒體的子類型。38.如權利要求4所述的系統(tǒng),其特征在于,搜索接口的公共方法的簽名即排序返回實體的排序列表并要求4個變量實體的未排序列表、指定"排序依據(jù)"參數(shù)的字符串、指定"升序"或"降序"的次序方向的字符串、語言偏好。39.如權利要求4所述的系統(tǒng),其特征在于,服務器動作接口的唯一公共方法的簽名即執(zhí)行動作,返回空或不返回并要求5個自變量代表請求的HttpServlet請求的實例、代表響應的HttpServlet響應的實例、代表當前會話的Servlet會話的實例、用于處理所述請求并生成所述響應的Servlet處理的實例、用于接收所述請求并從web容器送出所述響應的Servlet基的實例。40.如權利要求4所述的系統(tǒng),其特征在于,搜索呈現(xiàn)的公共方法的簽名即獲取呈現(xiàn),返回結果作為對象并要求8個自變量代表請求的HttpServlet請求的實例、代表響應的HttpServlet響應的實例、代表當前會話的Servlet會話的實例、用于處理所述請求并生成所述響應的Servlet處理的實例、用于接收所述請求并從web容器送出所述響應的Servlet基的實例、作為代表一系列緩沖器的關鍵字鏈的對象數(shù)組、作為搜索框實例的標識符的對象、實體的排序列表。41.如權利要求5所述的系統(tǒng),其特征在于,Servlet處理被4個自變量實例化代表請求的HttpServlet請求的實例、代表響應的HttpServlet響應的實例、代表當前會話的Servlet會話的實例、用于接收所述請求并從web容器送出所述響應的Servlet基的實例。42.如權利要求41所述的系統(tǒng),其特征在于,所述Servlet處理的實例實現(xiàn)用于開始處理請求并生成響應的"開始()"方法、用于同步所產生的所有線程的共享對象、以對象數(shù)組的兩個自變量為關鍵字鏈以及對象作為所生成內容的用于將所述內容保存在緩沖器中并將所述緩沖器中的所述內容在緩沖器層次中向上推一級的"打印()"方法、以對象數(shù)組的一個自變量為關鍵字鏈的用于將緩沖器中保存的所述內容在緩沖器層次中向上推一級的"已打印()"方法、以及用于結束該過程的"結束()"方法。43.如權利要求5所述的系統(tǒng),其特征在于,所述Servlet基實現(xiàn)用于授權用戶的檢查訪問方法、用于將頁面映射到實體的映射頁面方法、用于移除所述映射關系的解映射頁面方法、產生新線程并封入Servlet處理的實例的"開始()"方法的開始方法、封入Servlet處理的實例的"結束()"方法的結束方法、封入所述開始和結束方法的完成方法。44.如權利要求5所述的系統(tǒng),其特征在于,Servlet呈現(xiàn)的唯一公共方法的簽名即獲取呈現(xiàn),返回結果作為對象并要求6個自變量代表請求的HttpServlet請求的實例、代表響應的HttpServlet響應的實例、代表當前會話的Servlet會話的實例、用于處理所述請求并生成所述響應的Servlet處理的實例、用于接收所述請求并從web容器送出所述響應的Servlet基的實例、作為代表一系列緩沖器的關鍵字鏈的對象數(shù)組。45.如權利要求5所述的系統(tǒng),其特征在于,Servlet會話的實例存儲用于會話范圍寬度信息共享并由Http會話中的會話ID標識的會話范圍散列表、用于會話的每次相同請求URI拜訪的累積信息并由Http會話中的請求URI標識的請求范圍散列表。46.—種用于通過web容器生成網(wǎng)頁的方法,包括接收代表對所述網(wǎng)頁的請求的HttpServlet請求的實例,以及接收用于通過Servlet基的實例送回響應的HttpServlet響應的實例;通過HttpServlet請求的實例來實例化Servlet會話的實例;通過HttpServlet請求的實例、H鄰Servlet響應的實例、Servlet會話的實例以及Servlet基的實例來實例化Servlet處理的實例;在將所述HttpServlet請求的實例、所述HttpServlet響應的實例、所述Servlet會話的實例以及所述Servlet處理的實例傳遞給Servlet基的開始方法后執(zhí)行所述開始方法;在將所述HttpServlet請求的實例、所述HttpServlet響應的實例、所述Servlet會話的實例以及所述Servlet處理的實例傳遞給Servlet基的結束方法后執(zhí)行所述結束方法。47.如權利要求46所述的方法,其特征在于,所述執(zhí)行開始方法的步驟還包括產生線程并將所述HttpServlet請求的實例、所述HttpServlet響應的實例、所述Servlet會話的實例、所述Servlet處理的實例、以及所述Servlet基的實例傳遞至所述線程;執(zhí)行所述線程。48.如權利要求47所述的方法,其特征在于,所述執(zhí)行所述線程的步驟還包括執(zhí)行所述Servlet處理的實例的"開始()"方法。49.如權利要求48所述的方法,其特征在于,所述執(zhí)行所述"開始()"方法的步驟進一步包括實例化標注線程層次組織的開始點的名為矩陣標記的有限元標記的實例,并將其傳遞至所述線程層次組織的頂線程中;實例化名為矩陣標記結束的有限元標記的實例,并將其傳遞至所述線程層次組織的所述頂線程中并標記所述線程層次組織的結束點;實例化代表用于保存所生成內容的緩沖器的具有僅一個元素的對象矩陣的實例,并將所述對象矩陣傳遞至所述線程層次組織的所述頂線程中;從所述HttpServlet請求的實例解析"模式"參數(shù),并設置所述Servlet處理的實例中的所述模式參數(shù);開始構造所述響應的標題區(qū);嵌入對外部javascript文件的鏈接引用;嵌入對包括于臨時外部樣式表文件相關的會話的外部javascript文件的鏈接引用;如果所述請求是請求頁面則找出懸掛于頁面的標題區(qū)上的鑲嵌懸掛的列表,若所述請求并非請求頁面的請求則找出懸掛于Servlet呈現(xiàn)實現(xiàn)類的標題區(qū)上的鑲嵌懸掛的列表;獲取與所述列表中的每一個鑲嵌懸掛相關聯(lián)的每一個鑲嵌的內容;將所述內容嵌入所述響應的標題區(qū)中;如果所述請求是請求頁面則找出懸掛于頁面上的鑲嵌懸掛的第二列表,若所述請求并非請求頁面的請求則找出懸掛于Servlet呈現(xiàn)實現(xiàn)類的上的鑲嵌懸掛的第二列表,排除懸掛于所述標題區(qū)上的鑲嵌懸掛;產生有限元矩陣線程用于排序所述鑲嵌懸掛的第二列表和用于處理,其中所述有限元矩陣線程是所述線程層次組織的頂線程;根據(jù)所述鑲嵌懸掛的第二列表嵌入對所有鑲嵌的外部樣式表文件的鏈接弓l用;結束所述響應的所述標題區(qū);如果所述響應并非針對框架集html文件則開始主體區(qū);輸送出所述生成的內容;將所述對象數(shù)組的第一元素作為關鍵字以及值為真的有限元標記的實例放入Servlet處理實例的存儲器塊開始散列表中,用于指示所述緩沖器準備好將其保存的內容送出;等待所述有限元矩陣線程的通知,如果排序完成或到達超時則前進至下一步;將所述矩陣標記的值設為真;將所述矩陣標記的片標記的第一元素的值設為真;將所述片標記的第一元素的格標記的第一元素的值設為真;通知所有線程等待共享同步對象;等待所述共享同步對象以發(fā)現(xiàn)來自其他線程的通知,并且一旦矩陣標記結束的值為真則將關鍵字和值為真的有限元標記的實例放入所述開始散列表中;通知所有其他線程等待所述共享同步對象。50.如權利要求49所述的方法,其特征在于,所述產生有限元矩陣線程的步驟還包括存儲所述鑲嵌懸掛的第二列表以及根據(jù)其X值將其編組成片并根據(jù)其Y值將其編組成格;通知其他線程等待此線程完成排序;如果根據(jù)分序有多片則逐一產生有限元片線程;實例化有限元助手實例并將信息存儲在所述實例中供以后檢索以建立CSS元素;將所述有限元助手實例放入以頁面呈現(xiàn)的完全匹配類名為關鍵字的請求范圍散列表中;如果有多片則結束所述線程;否則等待所述共享同步對象直至所述矩陣標記的值翻轉為真或到達超時;通過復制從所述對象數(shù)組傳遞至所述有限元矩陣線程中的所有元素并且通過添加新對象元素作為代表緩沖器層次中的新緩沖器來構造新對象數(shù)組作為新關鍵字鏈;將所述新關鍵字和具有真值的新有限元標記實例放入開始散列表中,指示所述新緩沖器準備好將其保存的內容在所述緩沖器層次中向上移一級;通過使用所述Servlet基的實例的完全匹配類名來實例化Servlet呈現(xiàn)實現(xiàn)類的實例;獲取通過用所述新關鍵字鏈執(zhí)行所述Servlet呈現(xiàn)實例的獲取呈現(xiàn)方法返回的對象,其中如果所述方法已將其生成的內容保存至U與所述新關鍵字鏈相關聯(lián)的緩沖器中,則所述返回的對象可為空;用所述新關鍵字鏈和所述返回的對象執(zhí)行所述Servlet處理實例的打印方法,以將所述對象保存到所述新緩沖器中;用所述新關鍵字鏈執(zhí)行所述Servlet處理實例的已打印方法,以便將當前保存在所述新緩沖器中的內容在所述緩沖器層次中向上推一級;將所述矩陣標記結束的值設為真以標注所述有限元矩陣線程的結束;通知所有其他線程等待所述共享同步對象。51.如權利要求50所述的方法,其特征在于,所述逐一產生所述有限元片線程的步驟還包括在片中逐一產生有限元格線程。52.如權利要求51所述的方法,其特征在于,所述逐一產生所述有限元格線程的步驟進一步包括-如果所述格為片中的第一元素,則如果所述響應并非針對框架集html文件則構造html表的起始部分以包括所述第一單元格元素,并且如果所述模式是"管理"模式則使得所述表的邊界以粗體出現(xiàn)以易于識別;等待所述共享同步對象,直至當前線程的矩陣標記的值翻轉為真并且其片標記的值翻轉為真以及其格標記的值翻轉為真,或到達超時;用所述新關鍵字鏈和所述生成的內容執(zhí)行所述Servlet處理實例的打印方法以將所述生成的內容保存到所述新緩沖器中;將下一個格標記的值設為真;通知所有其他線程等待所述共享同步對象;否則如果所述格代表鑲嵌懸掛則產生有限元鑲嵌懸掛線程;否則如果所述片涉及矩形區(qū)則針對所述格產生有限元框線程并且包括3個單元格左側單元格、矩形區(qū)單元格、以及右側單元格。53.如權利要求52所述的方法,其特征在于,所述產生有限元鑲嵌懸掛線程的步驟還包括獲得與鑲嵌懸掛相關聯(lián)的信息鑲嵌以及懸掛位置的X值和Y值;如果所述響應并非針對框架集html文件,貝IJ:如果所述格是最后片的最后元素則構造html單元格元素的結尾部分和html表的結尾部分,且如果所述模式是"管理"模式則嵌入移除按鈕和編輯按鈕以示出X和Y值的懸掛信息;如果所述鑲嵌是嵌套鑲嵌則找出懸掛于所述鑲嵌上的鑲嵌懸掛的列表;如果所述鑲嵌并非嵌套鑲嵌,則通過復制從所述對象數(shù)組作為關鍵字鏈傳遞至所述有限元鑲嵌懸掛線程中的所有元素并且通過添加新對象元素作為代表緩沖器層次中的新緩沖器來構造新對象數(shù)組作為新關鍵字鏈;產生有限元鑲嵌線程并將所述鑲嵌的信息和新關鍵字鏈連同HttpServlet請求的實例、HttpServlet響應的實例、Servlet會話的實例、Servlet處理的實例、以及Servlet基的實例一起傳遞至所述有限元鑲嵌線程;等待所述共享同步對象直至當前線程的矩陣標記的值翻轉為真并且其片標記的值翻轉為真以及其格標記的值翻轉為真,或到達超時;將所述新關鍵字和具有真值的新有限元標記實例放入開始散列表中,指示所述新緩沖器準備好將其保存的內容在所述緩沖器層次中向上移一級;通知所有其他線程等待所述共享同步對象;等待所述共享同步對象直至由所述新關鍵字標識并存儲在Servlet處理實例的存儲器塊結束散列表中的有限元標記的實例的值翻轉為真,或到達超時;用所述結尾部分和所述對象數(shù)組作為當前有限元鑲嵌懸掛線程的關鍵字鏈來執(zhí)行所述Servlet處理實例的打印方法;將下一個格標記的值設為真,并且如果所述格為片的最后元素則將下一片的片標記及其第一格的格標記的值設為真,以及如果所述格是最后片的最后元素則將所述矩陣標記結束的值設為真;通知所有其他線程等待所述共享同步對象;否則實例化標注線程層次組織的分支的開始點的名為子矩陣標記的有限元標記的新實例,并將其傳遞至所述線程層次組織的所述分支的頂線程中;將所述當前有限元鑲嵌懸掛線程的格標記指派給所述子矩陣標記并將其鏈接在一起;實例化名為子矩陣標記結束的有限元標記的新實例,并將其傳遞至所述線程層次組織的所述分支的所述頂線程中并標記所述線程層次組織的所述分支的結束點;將所述對象數(shù)組作為所述當前有限元鑲嵌懸掛線程的關鍵字鏈傳遞至所述線程層次組織的所述分支的所述頂線程中;產生新有限元矩陣線程用于排序懸掛于所述鑲嵌上的鑲嵌懸掛的列表和處理,其中所述新有限元矩陣線程是所述線程層次組織的所述分支的所述頂線程;等待所述新有限元矩陣線程的通知,如果排序完成或到達超時則前進至下一步;等待所述共享同步對象直至當前線程的矩陣標記的值翻轉為真并且其片標記的值翻轉為真以及其格標記的值翻轉為真,或到達超時;自所述子矩陣標記與所述格標記相鏈接起將所述子矩陣標記的值自動翻轉為真;將所述子矩陣標記的子片標記的第一元素的值設為真;將所述子片標記的第一元素的子格標記的第一元素的值設為真;通知所有線程等待共享同步對象;等待所述共享同步對象直至其他線程通知所述子矩陣標記結束的值翻轉為真;用所述結尾部分和所述對象數(shù)組作為當前有限元鑲嵌懸掛線程的關鍵字鏈來執(zhí)行所述Servlet處理實例的打印方法;將下一個子格標記的值設為真,并且如果所述格為片的最后元素則將下一片的子片標記及其第一格的子格標記的值設為真,并且如果所述格是最后片的最后元素則將所述矩陣標記結束的值設為真;通知所有其他線程等待所述共享同步對象。54.如權利要求53所述的方法,其特征在于,所述產生有限元鑲嵌線程的步驟還包括通過鑲嵌懸掛獲得鑲嵌的綁定信息;如果所述鑲嵌被綁定到Servlet呈現(xiàn)實現(xiàn)類,則實例化所述Servlet呈現(xiàn)實現(xiàn)類的實例;獲取通過用所述關鍵字鏈執(zhí)行所述Servlet呈現(xiàn)實例的獲取呈現(xiàn)方法返回的對象,其中如果所述方法已將其生成的內容保存到與所述關鍵字鏈相關聯(lián)的緩沖器中,則所述返回的對象可為空;用所述關鍵字鏈和所述返回的對象執(zhí)行所述Servlet處理實例的打印方法,以將所述對象保存到與所述關鍵字鏈中的最后關鍵字相關聯(lián)的緩沖器中;用所述關鍵字鏈執(zhí)行所述Servlet處理實例的已打印方法,以便將當前保存在與所述最后關鍵字相關聯(lián)的所述緩沖器中的內容在與所述關鍵字鏈相關聯(lián)的所述緩沖器層次中向上推一級;否則實例化所述實體呈現(xiàn)實現(xiàn)類的實例;獲取通過用所述關鍵字鏈和標識符執(zhí)行所述實體呈現(xiàn)實例的獲取呈現(xiàn)方法返回的對象,其中如果所述方法已將其生成的內容保存到與所述關鍵字鏈相關聯(lián)的緩沖器中,則所述返回的對象可為空;用所述關鍵字鏈和所述返回的對象執(zhí)行所述Servlet處理實例的打印方法,以將所述對象保存到與所述關鍵字鏈中的最后關鍵字相關聯(lián)的緩沖器中;用所述關鍵字鏈執(zhí)行所述Servlet處理實例的已打印方法,以便將當前保存在與所述最后關鍵字相關聯(lián)的所述緩沖器中的內容在與所述關鍵字鏈相關聯(lián)的所述緩沖器層次中向上推一級。55.如權利要求54所述的方法,其特征在于,所述實體呈現(xiàn)實現(xiàn)類代表訪問組、文檔、音樂、圖片、視頻、收藏、網(wǎng)頁、用于純文本的簡單文本、用于html文本的Html文本、用于搜索功能的搜索框、用于消費web服務的函數(shù)之一。56.如權利要求52所述的方法,其特征在于,所述產生有限元框線程的步驟還包括如果所述響應并非針對框架集html文件,則若所述格是最后片中的最后元素,則構造html單元格元素的結尾部分以及html表的結尾部分;實例化標注線程層次組織的分支的開始點的名為子矩陣標記的有限元標記的新實例并將其傳遞至所述線程層次組織的所述分支的頂線程中;將當前有限元框線程的格標記指派給所述子矩陣標記并將其鏈接在一起;實例化名為子矩陣標記結束的有限元標記的新實例并將其傳遞至所述線程層次組織的所述分支的所述頂線程中并標記所述線程層次組織的所述分支的結束點;如果所述格單元格為所述矩形區(qū)單元格,則找出懸掛于所述Servlet呈現(xiàn)實現(xiàn)類上的鑲嵌懸掛列表;如果所述鑲嵌懸掛列表不為空,則將所述對象數(shù)組作為當前有限元框線程的關鍵字鏈傳遞至所述線程組織層次的所述分支的所述頂線程中;產生新有限元矩陣線程用于排序所述鑲嵌懸掛列表和用于處理,其中所述新有限元矩陣線程是所述線程層次組織的所述分支的所述頂線程;等待所述新有限元矩陣線程的通知,如果排序完成或到達超時則前進至下一步;等待所述共享同步對象直至當前有限元框線程的矩陣標記的值翻轉為真并且其片標記的值翻轉為真以及其格標記的值翻轉為真,或到達超時;自所述子矩陣標記與所述格標記相鏈接起將所述子矩陣標記的值自動翻轉為真;將所述子矩陣標記的子片標記的第一元素的值設為真;將所述子片標記的第一元素的子格標記的第一元素的值設為真;通知所有線程等待所述共享同步對象;等待所述共享同步對象直至其他線程通知所述子矩陣標記結束的值翻轉為真;用所述結尾部分和所述對象數(shù)組作為當前有限元框線程的關鍵字鏈來執(zhí)行所述Servlet處理實例的打印方法;將下一個格標記的值設為真,并且如果所述格為片的最后元素則將下一片的片標記及其第一格的格標記的值設為真,并且如果所述格是最后片的最后元素則將當前有限元框線程的矩陣標記結束的值設為真;通知所有其他線程等待所述共享同步對象;否則等待所述共享同步對象直至當前有限元框線程的矩陣標記的值翻轉為真并且其片標記的值翻轉為真以及其格標記的值翻轉為真,或到達超時;通過復制從所述對象數(shù)組傳遞至所述有限元框線程中的所有元素并且通過添加新對象元素作為代表緩沖器層次中的新緩沖器來構造新對象數(shù)組作為新關鍵字;將所述新關鍵字和具有真值的新有限元標記實例放入開始散列表中,指示所述新緩沖器準備好將其保存的內容在所述緩沖器層次中向上移一級;通過使用所述Servlet基的實例的完全匹配類名來實例化Servlet呈現(xiàn)實現(xiàn)類的實例;獲取通過用所述新關鍵字鏈執(zhí)行所述Servlet呈現(xiàn)實例的獲取呈現(xiàn)方法返回的對象,其中如果所述方法已將其生成的內容保存到與所述新關鍵字鏈相關聯(lián)的緩沖器中,則所述返回的對象可為空;用所述新關鍵字鏈和所述返回的對象執(zhí)行所述Servlet處理實例的打印方法,以將所述對象保存到所述新緩沖器中;用所述新關鍵字鏈執(zhí)行所述Servlet處理實例的已打印方法,以便將當前保存在所述新緩沖器中的內容在所述緩沖器層次中向上推一級;用所述結尾部分和所述對象數(shù)組作為當前有限元框線程的關鍵字鏈來執(zhí)行所述Servlet處理實例的打印方法;將下一個格標記的值設為真,并且如果所述格為片的最后元素則將下一片的片標記及其第一格的格標記的值設為真,并且如果所述格是最后片的最后元素則將當前有限元框線程的矩陣標記結束的值設為真;通知所有其他線程等待所述共享同步對象;否則找出所述左側單元格或所述右側單元格上的鑲嵌懸掛列表;如果所述鑲嵌懸掛列表不為空,則將所述對象數(shù)組作為當前有限元框線程的關鍵字鏈傳遞值所述線程層次組織的所述分支的所述頂線程中;產生新有限元矩陣線程用于排序所述鑲嵌懸掛列表和用于處理,其中所述新有限元矩陣線程是所述線程層次組織的所述分支的所述頂線程;等待所述新有限元矩陣線程的通知,如果排序完成或到達超時則前進至下一步;等待所述共享同步對象直至當前有限元框線程的矩陣標記的值翻轉為真并且其片標記的值翻轉為真以及其格標記的值翻轉為真,或到達超時;自所述子矩陣標記與所述格標記相鏈接起將所述子矩陣標記的值自動翻轉為真;將所述子矩陣標記的子片標記的第一元素的值設為真;將所述子片標記的第一元素的子格標記的第一元素的值設為真;通知所有線程等待所述共享同步對象;等待所述共享同步對象直至其他線程通知所述子矩陣標記結束的值翻轉為真;用所述結尾部分和所述對象數(shù)組作為當前有限元框線程的關鍵字鏈來執(zhí)行所述Servlet處理實例的打印方法;將下一個格標記的值設為真,并且如果所述格為片的最后元素則將下一片的片標記及其第一格的格標記的值設為真,并且如果所述格是最后片的最后元素則將當前有限元框線程的矩陣標記結束的值設為真;通知所有其他線程等待所述共享同步對象;否則等待所述共享同步對象直至當前有限元框線程的矩陣標記的值翻轉為真并且其片標記的值翻轉為真以及其格標記的值翻轉為真,或到達超時;用所述結尾部分和所述對象數(shù)組作為當前有限元框線程的關鍵字鏈來執(zhí)行所述Servlet處理實例的打印方法;將下一個格標記的值設為真,并且如果所述格為片的最后元素則將下一片的片標記及其第一格的格標記的值設為真,并且如果所述格是最后片的最后元素則將當前有限元框線程的矩陣標記結束的值設為真;通知所有其他線程等待所述共享同步對象。57.如權利要求46所述的方法,其特征在于,所述執(zhí)行Servlet基的結束方法的步驟還包括執(zhí)行所述Servlet處理的實例的"結束()"方法。58.如權利要求57所述的方法,其特征在于,所述執(zhí)行所述"結束0"方法的步驟還包括等待所述共享同步對象直至存儲器塊開始散列表中的關鍵字的值翻轉為真或到達超時;送出仍駐留在緩沖器層次中的內容并清空;通知所有其他線程等待所述共享同步對象;產生html文件的結尾部分;使所生成的結尾部分輸送至用戶;若保存在所述開始散列表中的關鍵字指示,則產生新線程以送出URL并請求所述web容器生成半靜態(tài)文件;將關鍵字和值為真的有限元標記的實例放入存儲器塊結束散列表中;通知所有其他線程等待所述共享同步對象。59.—種通過web容器和Ajax技術來跟蹤和維護框架集網(wǎng)頁中框架大小和框架的URL的改變的方法,其中用戶通過與相同計算機機器中或遠程計算機機器中的所述web容器通信的瀏覽器來瀏覽所述網(wǎng)頁并與之交互,所述方法包括接收用戶對所述網(wǎng)頁的請求;創(chuàng)建在會話的壽命期間存儲累積性請求范圍寬度信息的存儲器塊請求散列表;在所述會話中保存所述請求散列表,其中所述請求散列表由請求URI來標識和檢索;生成所述網(wǎng)頁并加載框架的初始布局和每一個框架的URL;創(chuàng)建對象數(shù)組以存儲框架集的ID信息、第二對象數(shù)組以存儲框架的ID信息、第三對象數(shù)組以存儲框架的URL信息、第四對象數(shù)組以存儲框架的布局信息,其中所述第四對象數(shù)組是二維對象數(shù)組,其第一維標識框架并且第二維存儲所述框架的寬度和高度信息;以4個不同關鍵字將全部4個對象數(shù)組存儲在所述請求散列表中;將所述網(wǎng)頁發(fā)送給所述用戶以供瀏覽和交互;在通過初始加載或通過點擊到新位置加載所述框架并被所述瀏覽器的加載事件觸發(fā)時,通過Ajax將框架的URL送回至相同的請求URI;將通過Ajax送回的新信息保存到URL信息對象數(shù)組中;在用戶調整框架的布局并被所述瀏覽器的調整大小事件觸發(fā)時,通過Ajax將所有框架的寬度和高度信息送回至相同的請求URI;將通過Ajax送回的所述寬度和高度信息保存到所述第四對象數(shù)組中;在用戶重新拜訪時檢索每一框架的所述URL和大小信息;重構所述框架的布局;生成反映框架的當前布局和每一個框架的URL的所述網(wǎng)頁。全文摘要發(fā)明了組件模型用于建模網(wǎng)頁。網(wǎng)頁和位置可通過組件匯編來構造。組件封裝在構造過程中來自用戶的HTML元素的細節(jié)。通過展出組件作為服務,組件可在其他網(wǎng)站中被重用并使得網(wǎng)站能聚合。抽象頁面代表網(wǎng)頁;抽象鑲嵌代表網(wǎng)頁的組件或部分。鑲嵌可本地或遠程地被本地到任何有意義信息。鑲嵌可懸掛于頁面上的不同行和列位置處,以形成用于呈現(xiàn)網(wǎng)頁的圖案。其他鑲嵌可以與鑲嵌懸掛于頁面上相同的方式懸掛于鑲嵌上,嵌套級別是任意高的。文檔編號G06F17/24GK101611399SQ200880005210公開日2009年12月23日申請日期2008年2月12日優(yōu)先權日2007年2月16日發(fā)明者凡羅申請人:凡羅
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1