成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

使用JSP include機(jī)制改進(jìn)外觀

開發(fā) 后端
本文介紹使用JSP include機(jī)制改進(jìn)外觀,以及介紹更好的外觀和服務(wù)器端 include。

所有***實踐都基于 JavaServer Pages 技術(shù)。要運(yùn)行任何一種實踐,需要在本地機(jī)器或測試服務(wù)器上設(shè)置符合 JSP 的 Web 容器,如 Apache Tomcat。您還需要使用文本編輯器或 IDE 編寫 JSP 頁面代碼。請參閱參考資料,獲取 Tomcat 和與 JSP 兼容的 Web 容器和 IDE 的清單的鏈接。

更好的外觀

為 Web 頁面創(chuàng)建一致的設(shè)計和布局是確保獲得專業(yè)化外觀的最容易方法之一。您或許看過足夠多的網(wǎng)站,知道單個站點中的大部分頁面都共用統(tǒng)一的頁面頭、頁面尾以及某種類型的導(dǎo)航欄。在設(shè)計良好的站點上,這些元素將在每個頁面上呈現(xiàn)相同的布局、內(nèi)容和功能,而主面板(通常稱為內(nèi)容窗格)會隨著每個視圖而變化。

以前,這種布局幾乎完全由框架和框架集實現(xiàn)。每段靜態(tài)內(nèi)容被放置在一個框架中,而頁面的主體內(nèi)容被放置在中間框架中。框架的麻煩就是不同的瀏覽器常常會以不同方式顯示它們,使它們的外觀不一致。使用框架從內(nèi)部頁面鏈接外部站點則比想像的更加困難。原本是想允許用戶在不離開站點的情況下查看外部內(nèi)容,但結(jié)果往往不一致。用戶最終看到的是整個站點被擠進(jìn)小得多的框架中,更糟的是,您的站點最終會嵌套在另一個站點框架中。這種混亂驅(qū)使 Web 設(shè)計者尋找一種更佳的解決方案。服務(wù)器端 include(server-side include,SSI)就是一種。

服務(wù)器端 include

不久前,SSI 還是用于創(chuàng)建共享內(nèi)容的***的選項之一。簡單的 SSI 偽指令允許您創(chuàng)建包含另一個頁面內(nèi)容(如頭和腳注文件)的頁面,如下面所示。

  1.  
  2.  
  3.  
  4. Simple SSI test  
  5.  
  6.  
  7. This content is statically in the main HTML file.  
  8.  
  9.  
  10.  
  11. ]]> 

我們不久將使用該文件來做一個練習(xí)。目前,您應(yīng)該將它另存為 test-ssi.shtml。在大多數(shù)設(shè)置中,SSI 文件必須以 .shtml 結(jié)尾,這讓 Web 服務(wù)器知道將它們解析為 SSI 偽指令。下面顯示了名為 included.html 的包含文件的內(nèi)容。

  1.  
  2. This content is in another file, included.html  
  3. ]]> 

當(dāng)請求 test-ssi.shtml 時,您將看到該文件的內(nèi)容以及 included.html 的內(nèi)容。您可以在任何支持 SSI 的 Web 容器(如 Apache Tomcat,請參閱參考資料)上查看這些文件。

從用戶角度看,SSI 與框架相比有重大改進(jìn),因為在單個文件和從其它被包含文件引進(jìn)內(nèi)容的文件之間沒有顯而易見的差別。不利方面就是 SSI 需要一種特定的服務(wù)器設(shè)置,而 Java 開發(fā)人員常常無法使用這種設(shè)置。另外,SSI 通常要求被包含內(nèi)容是靜態(tài)的,盡管在后面的版本中加入了動態(tài)內(nèi)容包含。

對于在網(wǎng)站或 Web 應(yīng)用程序中包含不同類型的內(nèi)容來說,SSI 是可行的解決方案,但它們不是 Java 開發(fā)人員的***選擇。這不僅因為 JavaServer Pages 技術(shù)是替代 SSI 的全 Java 技術(shù),還因為這兩種技術(shù)不太容易結(jié)合在一起。JSP 頁以擴(kuò)展名 .jsp 結(jié)尾,這表示要使 SSI 偽指令起作用,必須更改 SSI 配置以解析 JSP 文件(給每個 JSP 頁解析增加開銷),或者更改 JSP 配置以將 .shtml 擴(kuò)展名作為 JSP 頁處理(這是一個壞主意)。對于 Java 開發(fā)人員來說,JSP 技術(shù)是***的內(nèi)容管理解決方案,幸運(yùn)的是,其 include 機(jī)制很容易掌握。

JSP include

JSP include 偽指令與其 SSI 對等偽指令極其相似。下面是 SSI 偽指令的 JSP 對等偽指令。任何支持 JSP 的 Web 容器都將處理該 JSP 頁的顯示(同樣,請參閱參考資料一節(jié),以獲得鏈接)。應(yīng)該將該文件另存為 test-include.jsp。

  1.  
  2. <%@ page language="java" contentType="text/html" %>  
  3.  
  4.  
  5. JSP include element test  
  6.  
  7.  
  8. This content is statically in the main JSP file.  
  9. <%@ include file="included.html" %>  
  10.  
  11.  
  12. ]]> 

include 偽指令使將統(tǒng)一的頭文件和腳注文件合并到您的站點變得非常容易。清單 4 顯示了具有幾個被包含文件的主索引頁。

  1.  
  2. <%@ page language="java" contentType="text/html" %>  
  3.  
  4.  
  5. newInstance.com  
  6.  
  7.  
  8.  
  9.  
  10. <%@ include file="header.jsp" %>  
  11. <%@ include file="navigation.jsp" %>  
  12. <%@ include file="bookshelf.jsp" %>  
  13. <%@ include file="/mt-blogs/index.jsp" %>  
  14. <%@ include file="footer.jsp" %>  
  15.  
  16.  
  17. ]]> 

通過查看代碼,您將了解有關(guān)如何使用 JSP include 的各種方法。您還應(yīng)該試驗一下該代碼,讓自己掌握其工作原理。

添加動態(tài)內(nèi)容

除了如頭、腳注和導(dǎo)航文件之類的靜態(tài)內(nèi)容外,清單 4 還包括對 Weblog(/mt-blogs/index.jsp)的調(diào)用,這涉及動態(tài)內(nèi)容的主題。如同 SSI include 偽指令那樣,當(dāng) JSP include 機(jī)制應(yīng)用于動態(tài)內(nèi)容時會出現(xiàn)問題。可以通過使用 JSP include 偽指令來引入動態(tài)內(nèi)容,但將無法獲得對該內(nèi)容的更改。這是因為 Web 容器將被包含文件作為原始(包含)頁面的一部分讀取。容器將結(jié)果高速緩存為單個文件,而不是多個 JSP 組件。因為 Web 容器不會針對更改去輪詢被包含文件,所以它不會知道有任何更改發(fā)生,它將自動顯示高速緩存的頁面而不是刷新的頁面。要了解它的工作原理,我們將做一個簡單的練習(xí)。首先,將已保存的 included.html 頁面更新為下面所示的那樣。

  1.  
  2. This content is in another file, included.html.  
  3.  
  4. Some new content...  
  5. ]]> 

接下來,保存這些更改,導(dǎo)航至 test-include.jsp 文件,刷新瀏覽器。您將注意到瀏覽器中沒有顯示 included.html 中的新內(nèi)容。被包含文件的內(nèi)容在更改發(fā)生之前就被高速緩存了,所以它不會顯示出來。如果您的站點包含動態(tài)內(nèi)容或可能被頻繁修改的內(nèi)容,那么這會是一個問題。幸運(yùn)的是,有一個變通方法。在下一個部分中,我將向您演示如何使用 標(biāo)記將動態(tài)內(nèi)容加入 Web 頁面。在此之前,請參考參考資料一節(jié)并試驗這里提供的代碼,我將在網(wǎng)上與您再見。

【編輯推薦】

  1. JSP中基于Session的在線用戶統(tǒng)計分析
  2. Servlet和JSP性能優(yōu)化經(jīng)驗談
  3. JSP標(biāo)簽庫解析
  4. 在JSP Servlet開發(fā)中導(dǎo)入事件驅(qū)動技術(shù)
  5. JSP編程應(yīng)注意的六個常見問題
責(zé)任編輯:佚名 來源: builder
相關(guān)推薦

2009-06-30 11:27:25

JSP include

2009-02-23 14:17:00

include指令動作

2010-02-02 15:30:05

C++ include

2012-01-17 17:08:05

JavaSwing

2012-05-31 14:11:49

SwingSubstance異常

2011-11-10 14:46:54

Windows8電源管理

2009-07-02 11:34:42

JSP指令JSP開發(fā)

2009-06-06 18:43:34

JSP Action

2009-09-10 09:48:15

JSP使用FCKedi

2009-03-16 15:07:20

JSP分頁window.openJSP表單

2009-07-06 15:31:42

JSP Action

2009-08-18 22:15:38

VMware快照改進(jìn)方

2009-07-15 10:37:28

Swing外觀

2009-07-02 13:12:33

JSP打印報表

2009-02-25 10:55:29

FCKeditor控件JSP

2009-06-16 09:06:37

JavaMailJSP

2021-06-11 18:02:42

AppGallery 開發(fā)

2010-06-21 13:52:20

AODV路由協(xié)議

2009-07-10 12:30:12

Swing組件

2011-05-07 16:09:55

上網(wǎng)本華碩EeePC 101
點贊
收藏

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

主站蜘蛛池模板: 久久久精品日本 | h视频免费观看 | 欧美在线观看一区 | 久久精品视频9 | 免费看黄色小视频 | 久久69精品久久久久久久电影好 | 久久国产精品久久久久 | 亚洲精品在线视频 | 国产精品久久久久久一级毛片 | 久久噜噜噜精品国产亚洲综合 | 国产一区二区精品在线观看 | 成人在线免费 | 国产一区二区不卡 | 91久久久久久久久久久 | 国产精品亚洲视频 | 一级黄色日本片 | 亚洲一区二区三区四区五区午夜 | 日韩一级不卡 | 精品国产网 | 欧美精产国品一二三区 | 免费黄色录像视频 | 亚洲国产精品成人无久久精品 | 亚洲欧美国产精品一区二区 | 久久av.com| 国产精品视频播放 | 在线观看av网站永久 | 日韩视频在线播放 | 日本福利在线观看 | 国产一二三区电影 | 欧美精品二区 | 一区二区三区视频在线观看 | 国产精品欧美一区二区三区不卡 | 国产高清在线 | 欧美久久视频 | 日本精品视频一区二区 | 国产精品av久久久久久毛片 | 日本三级网址 | 国产成人精品午夜 | 久久久久国产一区二区三区 | 伊人二区| japan21xxxxhd美女|