freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

個(gè)人博客網(wǎng)站設(shè)計(jì)外文翻譯-其他專(zhuān)業(yè)-資料下載頁(yè)

2025-01-19 00:26本頁(yè)面

【導(dǎo)讀】收集:應(yīng)用技術(shù)學(xué)院06計(jì)算機(jī)科學(xué)與技術(shù)傅曉燕

  

【正文】 JSP 片 段中接收的網(wǎng)頁(yè)片段,并且創(chuàng)建了一個(gè)最終的網(wǎng)頁(yè)。 JSP 片段不是總是在同一服務(wù)器和同一時(shí)間執(zhí)行的。應(yīng)用卸載技術(shù)允許 主 JSP 頁(yè)面和JSP 片段 在 不同的服務(wù)器上執(zhí)行。當(dāng) ESI 機(jī)制被使用, ESI:包括標(biāo)簽被放入通過(guò)執(zhí)行一個(gè) 主 JSP 頁(yè)面獲得的網(wǎng)頁(yè)片段和在邊緣服務(wù)器上解釋來(lái)支持 ESI 機(jī)制。在這種情況下,邊緣服務(wù)器會(huì)檢查是否是由 ESI 指定的網(wǎng)頁(yè)片段:包括存在于它的緩存 中的標(biāo)簽 。如果網(wǎng)頁(yè)片段的內(nèi)容沒(méi)有被存儲(chǔ)或者已經(jīng)滿了, JSP 片段會(huì)從邊緣服務(wù)器調(diào)用,并且在一個(gè)或多個(gè)應(yīng)用服務(wù)器上執(zhí)行。如果不同的存儲(chǔ)方法能夠考慮通過(guò)執(zhí)行 JSP 片 段獲得的網(wǎng)頁(yè)片段。每一個(gè) JSP 片段只有在存儲(chǔ)的內(nèi)容滿時(shí)才被執(zhí)行。這種動(dòng)態(tài)存儲(chǔ)技術(shù), ESI 機(jī)制,和存儲(chǔ)標(biāo)簽庫(kù)能夠?yàn)榫W(wǎng)頁(yè)片段提供的不同的存儲(chǔ)方法。 當(dāng) JSP 頁(yè)面被 切分 成 若干 片段,下面的兩個(gè)條件必須滿足, 即使 主 JSP 頁(yè)面還是 JSP片段沒(méi)有在同一服務(wù)器和同一時(shí)間執(zhí)行。 條件 . 11 主 JSP 頁(yè)面和 JSP 片段的最終執(zhí)行結(jié)果要和 JSP 頁(yè)面被 切分 之前一致。 條件 . 12 每一個(gè) JSP 頁(yè)面,無(wú)論是一個(gè)主 JSP 頁(yè)面還是一個(gè) JSP 片段,能夠在沒(méi)有其 它JSP 頁(yè)面下執(zhí)行。 這些條件通過(guò) 維持 存在于 JSP 頁(yè)面被 切 分成片段后的數(shù)據(jù)和 控制自由來(lái)滿足 。然而,對(duì)開(kāi)發(fā)者來(lái)說(shuō)在一個(gè) JSP 頁(yè)面中監(jiān)測(cè)數(shù)據(jù)和控制依賴(lài) 是 困難的 ,因?yàn)?JSP 頁(yè)面的數(shù)據(jù)和控制流量能夠在 JSP 頁(yè)面中被分開(kāi), JSP 引擎執(zhí)行 JSP 頁(yè)面,一些 Java beans 在 JSP 頁(yè)面中被使用等等。因此,一個(gè)自然的解決方法需要自動(dòng) 地 檢測(cè) 連接到開(kāi)發(fā)者想要 切分 的那部分的 數(shù)據(jù)依賴(lài)和控制依賴(lài) 。 程序的 切片 技術(shù)檢測(cè)了一組程序申明,它通過(guò)分析存在于程序中的數(shù)據(jù)和控制依賴(lài)來(lái)影響程序申明 S。一個(gè)程序 片 包含 了 檢測(cè)的一組程序申明和申明 S。當(dāng)調(diào)試和維護(hù)大的程序時(shí),這個(gè)技術(shù)是有用的。因?yàn)?JSP 頁(yè)面 通過(guò)使用如 Apache Jasper 編譯器那樣的編譯器被編譯成 servlet 程序 , JSP 切分 能夠通過(guò)應(yīng)用程序分化技術(shù)到 JSP 頁(yè)面中編譯的 servlet中 獲得。然而,程序 切片 技術(shù)不足以 切分 一個(gè) JSP 頁(yè)面為片段,因?yàn)檫@個(gè)技術(shù)沒(méi)有考慮到程序 切片 被獨(dú)立的執(zhí)行。 圖 1 顯示 了 JSP 頁(yè)面例子的一部分和 從 JSP 頁(yè)面中編譯的 servlet 程序 的例子。圖 2( a)顯示 了從 servlet 程序中獲得的數(shù)據(jù)依賴(lài)圖表。在這個(gè)程序中,當(dāng)申明 S1 分配一個(gè)值到一個(gè)變量和申明 S2 跟 S1 使用那個(gè)值,一個(gè)真的數(shù)據(jù)依賴(lài)存在于 S1 和 S2 之間。這樣一個(gè)數(shù)據(jù)依賴(lài)被記為 S1S2。在圖 2( a),基于數(shù)據(jù)依賴(lài),對(duì)于申明 S10 的程序片 包含 S1,S9和 S10。如果程序 片 是從 servlet 程序中切的,剩下的程序申明就有錯(cuò)誤 因?yàn)?數(shù)據(jù)依賴(lài)S1S2,S11 和 S12 和 S9S11 和 S12 是 沒(méi)有 實(shí)踐 。因此,程序 切片 技術(shù)對(duì)于 切分 JSP 頁(yè)面沒(méi)有做的很好。 (a) JSP 頁(yè)面部分 ( b) servlet 程序部分 圖 JSP 頁(yè)面例子和一個(gè)從 JSP 頁(yè)面中編譯得到的 servlet 程序 ( a)正常的 ( b)對(duì) out忽略數(shù)據(jù)依賴(lài) 圖 2. 數(shù)據(jù)依賴(lài)圖標(biāo) 在這篇文章中, 本文 提出 JSP 切分 , 把 JSP 頁(yè)面 切 分成 若干 片段的 一個(gè)方法。這個(gè)提出的方法分析了從 JSP 頁(yè)面中編譯的 servlet 程序的數(shù)據(jù)和控制依賴(lài)。在分析的時(shí)候, JSP切分 考慮到 切分 JSP 頁(yè)面會(huì) 被 獨(dú)立的執(zhí)行,并且可能不會(huì)在同一服務(wù)器和同一時(shí)間執(zhí)行。首先,開(kāi)發(fā)者想要 切分 為 JSP 片段的 那部分 被選擇了。對(duì)于選擇的部分需要滿足條件 11和 12 來(lái) 被檢測(cè)。被檢測(cè)的部分要被分類(lèi)到 轉(zhuǎn)移 和復(fù)制的部分,并且為了滿足開(kāi)發(fā)者的意圖 要被最小化 。 不容 忽略 的 數(shù)據(jù)依賴(lài) 基本上, JSP 切分 不允許依賴(lài) 的 申明被分別的 切分 。然而,如果這個(gè)規(guī)則太嚴(yán)格的被應(yīng)用,在圖 1( b)中顯示的申明沒(méi)有能被分化的,因?yàn)閺?S1 到 S9 開(kāi)始有交錯(cuò)的依 賴(lài)。 這里,我們考慮在圖 1( b)里顯示的變量 out是怎樣使用的。變量 out用于寫(xiě)一些網(wǎng)頁(yè)的文本數(shù)據(jù)。注意 out的值 能夠從一些 JSP引擎中檢索。當(dāng)一個(gè)主 JSP頁(yè) 面 ( Jm) 包 含 通過(guò)使用 JSP得到的 JSP片段 Jf:包括標(biāo)簽和 JSP引擎兩個(gè)都執(zhí)行, Jm首先檢索 JSP引擎 中 的 out的 值并且 寫(xiě)它自己的文本數(shù)據(jù)到這個(gè)值 。接下來(lái), Jm調(diào)用 Jf。在被調(diào)用后, Jf也檢索 out的值并且 寫(xiě)它自己的文本數(shù)據(jù)到這個(gè)值 。 通過(guò) Jf寫(xiě)的文本數(shù)據(jù)通過(guò) JSP引擎被返回到 Jm,并且與 Jm寫(xiě)的文本數(shù)據(jù)合并。這意味著 out的值能夠被一些 JSP頁(yè)面 使 用并且 寫(xiě)入這個(gè)值的文本數(shù)據(jù)由 JSP引擎 維持 。換句話說(shuō),當(dāng) JSP頁(yè)面被 切分 成 為片段時(shí),檢索 out的值 申明 能夠存在于從主 JSP頁(yè)面編譯的 servlet程序和從 JSP片段編譯的 servlet程序。因此,對(duì)于 變量 out的數(shù)據(jù)依賴(lài)在 切分 JSP頁(yè)面時(shí)能夠被忽略。 正如在圖 2( a)中顯示的,當(dāng) 維持 存在于圖 1( b)中顯示的 servlet程序的數(shù)據(jù)依賴(lài) 時(shí)沒(méi)有申明能被 切分 。然而 ,如果 對(duì)于變量 out的 數(shù)據(jù)依賴(lài)被忽略, 那么 數(shù)據(jù)依賴(lài) 圖表 就會(huì)像圖 2( b)中顯示的那樣被改變。像圖 2( b)中顯示的那樣使用數(shù)據(jù)依賴(lài)圖表使得從組S9,S10,S11和 S12中 切分 S2變得可能,它不能夠依據(jù)變量 book的數(shù)據(jù)依賴(lài)被分化。 在 被 Apache Jasper編譯器編譯的 servlet程序中 ,對(duì)于表 1里顯示的變量的數(shù)據(jù)依賴(lài)能和變量 out相同的原因被忽略。由于這些變量的值被定義在每個(gè) servlet程序的最高端并且 被 頻繁的提到,如果數(shù)據(jù)依賴(lài)能夠被保持,那么大多數(shù)申明不能被 切分 。 一般來(lái)講,無(wú)序執(zhí)行對(duì)于沒(méi)有數(shù)據(jù)控 制依賴(lài)的申明是允許的。 忽略 在表 1里顯示的變量 的 數(shù)據(jù)依賴(lài)可能會(huì)產(chǎn)生申明的一個(gè)錯(cuò)誤的執(zhí)行順序。例如, 如果 在圖 1中顯示的 S10和 S11被 切 分成一個(gè) JSP片段,并且這個(gè) JSP片段在 S11之前被包含了,一個(gè)錯(cuò)誤的網(wǎng)頁(yè)就會(huì)產(chǎn)生。為了避免這種錯(cuò)誤的 執(zhí)行結(jié)果,由于已經(jīng)忽略了數(shù)據(jù)依賴(lài)的申明,我們的算法不允許改變 。 表 Java beans數(shù)據(jù)依賴(lài)的分析 在一個(gè) JSP頁(yè)面中, Java beans作為屬性值被頻繁的用來(lái)存儲(chǔ)和檢索數(shù)據(jù)。每一個(gè) Java bean是一個(gè) Java項(xiàng)目并且開(kāi)發(fā)者能夠通過(guò)使用 JSP頁(yè)面中的三種標(biāo)簽來(lái)使用 Java beans。 ●jsp: 使用 Bean:在它的范圍內(nèi)申明一個(gè) Java bean。當(dāng)這個(gè) Java bean的項(xiàng)目不在它申明的范圍內(nèi),這個(gè) bean就會(huì)被實(shí)例化。 Java beans能夠申明在頁(yè)面,請(qǐng)求,節(jié)或者應(yīng)用的范圍內(nèi)。 ●jsp: 獲得屬性:稱(chēng)為獲得 Java bean項(xiàng)目的 方法并且檢索屬性值。 ●jsp: 設(shè)置屬性:稱(chēng)為設(shè)置 Java bean項(xiàng)目的方法并且設(shè)置屬性值。 Java beans必須用 jsp申明:在另兩個(gè)操作之前使用 Bean標(biāo)簽。 這意味著 Java bean的申明和 Java bean的所有其他的操作必須包含在同一 JSP頁(yè)面中。這大大限制了 JSP片段的范圍。為了緩和這個(gè)限制。 JSP切分 允許 Java beans的申明復(fù)制到 JSP片段中。為什么 Java beans的申明能夠被復(fù)制 的原因是 申明沒(méi)有副作用。 當(dāng) Java bean對(duì)象 在它的范圍內(nèi)還沒(méi)有被實(shí)例化每一個(gè)申明僅僅實(shí)例化了一 個(gè) Java bean對(duì)象 。換句話說(shuō), 一個(gè) Java bean對(duì)象在它的范圍內(nèi)不超過(guò)一次被實(shí)例化,即使申明被復(fù)制到 JSP片段中。因此,一些 Java bean的操作能夠被 切分成片段。 當(dāng)一個(gè)屬性值通過(guò)使用 JSP來(lái)設(shè)置 java bean:設(shè)置屬性標(biāo)簽并且通過(guò)使用 JSP從 JSP bean中檢索:獲得屬性標(biāo)簽,一個(gè)真實(shí)的數(shù)據(jù)依賴(lài)存在于兩個(gè)操作之間。當(dāng)數(shù)據(jù)依賴(lài)申明不能被分化這個(gè)規(guī)則被應(yīng)用,對(duì)于 Java bean的數(shù)據(jù)依賴(lài)操作必須被包含在同一片段中。然而,如果下面的兩個(gè)條件被滿足,當(dāng)兩個(gè)操作被 切分 后, 在 JSP bean設(shè)置一個(gè)屬性值 的操作 和另一個(gè)檢索屬性值的操作之間數(shù)據(jù)依賴(lài)被保持著。 條件 . 21 Java bean的范圍是 “ request” , “ session” ,或者是 “ application”。 條件 . 22 切分 的 JSP頁(yè)面在同一 JSP引擎中執(zhí)行。 如果這兩個(gè)條件被滿足, JSP切分 允許 存在于數(shù)據(jù)依賴(lài)中的操作被 切 分化成不同的 JSP頁(yè)面,因?yàn)樵?切分 的 JSP頁(yè)面執(zhí)行中, Java bean存在于 JSP引擎中。因此, 切分 的部分和由開(kāi)發(fā)者選擇的部分能夠被簡(jiǎn)化。然而,通過(guò)執(zhí)行滿足這兩種條件的 切分 的 JSP頁(yè)面 獲得的網(wǎng)頁(yè) 片段 必須有相同的存儲(chǔ)周期。如果一個(gè) JSP頁(yè)面被執(zhí)行 并且這個(gè)值 在 JSP頁(yè)面中被定義 而這個(gè)被定義的值在另一個(gè)頁(yè)面中使用,由于網(wǎng)頁(yè)有效的存儲(chǔ)內(nèi)容沒(méi)有被使用,這是因?yàn)閿?shù)據(jù)依賴(lài)么有被保持。 當(dāng) Java bean有頁(yè)面范圍,對(duì)于 Java bean的依賴(lài)操作不能被 切分 。然而, 在頁(yè)面范圍內(nèi)為 Java bean設(shè)置一個(gè)屬性值的 每一 操作隨著一個(gè)或多個(gè)檢索相同屬性值的操作 能夠被復(fù)制 ,因?yàn)樵陧?yè)面范圍內(nèi)為 Java bean設(shè)置屬性值的操作沒(méi)有副作用。 切分 工具 我們作為 Eclipse 的一個(gè)插件來(lái)實(shí)現(xiàn) JSP 切分 的 。圖 7 顯示了 JSP 切分 工具的結(jié)構(gòu)。 JSP切分 編輯介紹了 JSP 頁(yè)面的 源視圖 和大綱 視圖 。開(kāi)發(fā)者 通過(guò)或者使用 editor 或者使用outline 選擇他們想要切分的那部分 。當(dāng)那部分被開(kāi)發(fā)者選擇后,移掉的或者是復(fù)制的那 部分和選擇的那部分被顯示在對(duì)話框里。所有的部分被放進(jìn)由 開(kāi)發(fā)者指定的一個(gè)新的 JSP頁(yè)面里,在源 JSP 頁(yè)面中,移掉的部分被替換為 jsp:include標(biāo)簽。 當(dāng)編輯者調(diào)用一個(gè) JSP 頁(yè)面時(shí),存在于 JSP 頁(yè)面的數(shù)據(jù)和控制依賴(lài)被分析。首先, JSP編譯器, 它 是基于 Apache Jasper 編譯器的,把一個(gè) JSP 頁(yè) 面編譯成一個(gè) servlet 程序。 JSP編譯器把 JSP 頁(yè)面分成幾部分然后像表 2 那樣存儲(chǔ), 并且為每一部分形成一個(gè)或多個(gè) Java聲明。這時(shí),在 JSP 頁(yè)面中的每一部分和 servlet 程序中的一個(gè)或多個(gè)申明之間的映射表被形成。 JSPServlet 映射器轉(zhuǎn)換源組,每一個(gè)都把 servlet 程序中的依賴(lài)聲明包含在新的組中,每一個(gè)都包含在依賴(lài)的 JSP 部分中,通過(guò)使用 JSP 頁(yè)面中的部分和 servlet 程序聲明之間的映射表。這個(gè)映射表在 JSP 編譯階段之前就形成了。形成的組被發(fā)送到 JSP 分離器。 表 2. JSP 部分類(lèi)別 圖 3. JSP 切分工具 我們通 過(guò)使用自己的工具來(lái)測(cè)試 JSP頁(yè)面 切分 的執(zhí)行性能。在動(dòng)態(tài)機(jī)制啟用的情況下,這個(gè) JSP頁(yè)面在 WebAphere 應(yīng)用服務(wù)器上執(zhí)行。為了對(duì)比,我們把動(dòng)態(tài)形成的網(wǎng)頁(yè)碎片分離為一個(gè) JSP碎片,并且不存儲(chǔ)在從 JSP碎片中形成的網(wǎng)頁(yè),因?yàn)樾纬傻木W(wǎng)頁(yè)包含從碎片F(xiàn)2中獨(dú)立的信息,然而, 其他的文字片段要緩存 30秒。我們稱(chēng)這種分離為 coarsegrain分離 。 另外, 我們是在網(wǎng)頁(yè)沒(méi)有存儲(chǔ)的時(shí)候測(cè)試執(zhí)行性能的。對(duì)于這些測(cè)試,我們使用了一個(gè)客戶程序,它會(huì)繼續(xù)對(duì) JSP頁(yè)面發(fā)送請(qǐng)求 5分鐘,并且記錄接收相應(yīng)的數(shù)目。每一次請(qǐng)求被發(fā)送到到局部 頁(yè)面應(yīng)用服務(wù)器,在它為先前的請(qǐng)求接收響應(yīng)后。由于我們的工具使得能很好的分化一個(gè) JSP頁(yè)面變得可能,并且為每一個(gè) 網(wǎng)頁(yè)片段按照 JSP片段的特色給予一個(gè)緩沖期,網(wǎng)頁(yè)應(yīng)用服務(wù)器可以經(jīng)常跳過(guò)一些 JSP頁(yè)面的執(zhí)行。這使得響應(yīng)時(shí)間變得更短。 6.相關(guān)工作 正如在第二章中提過(guò)的,程序 切片 技術(shù)類(lèi)似于我們的方法。然而,程序 切片 技術(shù)沒(méi)有采取每個(gè)被 切分 的程序被作為一個(gè)獨(dú)立的程序被執(zhí)行,雖然被 切片 程序的總的執(zhí)行結(jié)果和被 切片 之前是一致的。因此,程序 切片 技術(shù)不能被應(yīng)用到 JSP 頁(yè)面的 切分 中。 Extra Method 是一種軟件重構(gòu)技術(shù), 它包含了若干程序聲明在一個(gè)新的方法中。 這個(gè)技術(shù)增加了其他方法能夠使用提取方法的機(jī)會(huì)。聲明轉(zhuǎn)換成由開(kāi)發(fā)者選擇的方法,這個(gè)技術(shù)類(lèi)似于我們的方法。當(dāng)聲明被選擇后,參數(shù)必須被傳送到新的方法,然后新方法的返回值被決定。 7.結(jié)論 在 這篇文章中 , 本文 介紹了 JSP 切分 是作為把 JSP 頁(yè)面 切分 成片段的一種方法,為了提高 JSP 頁(yè)面的執(zhí)行性能和可重用性。 JSP 切分 工具 是一個(gè) JSP 切分 的實(shí)施工具,它使得開(kāi)發(fā)者想要 切分的 切分 部分變得可能。在將來(lái),我們將要介紹一種方法,通過(guò)與開(kāi)發(fā)者的互動(dòng),彌補(bǔ)這種信息的缺乏。
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1