JSP靜態(tài)導入與動態(tài)導入使用詳解

jsp靜態(tài)導入(jsp指令標記include)

        jsp頁面第一次被請求時,會被jsp引擎轉譯成servlet的java文件,然后再被編譯成字節(jié)碼文件執(zhí)行。jsp指令標記為jsp頁面轉譯提供整個頁面的相關信息。

        include指令用于在jsp頁面靜態(tài)插入一個文件,被插入的文件可以是jsp頁面、html頁面、文本文件或一段java代碼。使用了include指令的jsp頁面在轉換成java文件時,將被插入的文件在當前jsp頁面出來該指令的位置做整體的插入,合并成一個新的jsp頁面,然后jsp引擎再將這個新的jsp頁面轉譯成java文件。因此,必須保證插入文件后形成的新的jsp頁面符合jsp語法和邏輯規(guī)則。include指令的使用格式為:

<%@ include file="文件的url" %>

       插入文件可以使用絕對路徑和相對路徑,一般要使用相對路徑。相對路徑是相對于當前頁面所在目錄的路徑,例如,當前網(wǎng)頁所在目錄是web服務根目錄,被插入的文件在根目錄下的text文件中,文件名為head.txt,相對路徑的使用格式如下:

<%@ include file="text/head.txt" %>

       當被插入的文件被修改后,jsp引擎會重新將當前的jsp頁面和修改后的被嵌入的文件合并成一個新的jsp頁面,然后轉譯、編譯成新的java字節(jié)文件供客戶訪問。

      使用include指令可以實現(xiàn)代碼的復用,提高代碼的使用效率。例如,頁面一般都需要一個標題欄、導航欄、頁腳等,用戶可以將標題欄等寫成單獨的文件,每個jsp頁面都可以在適當?shù)奈恢糜胕nclude指令插入標題欄、導航欄、頁腳等文件,這樣就極大地提高了代碼的復用和效率,使代碼更便于修改。

      值得注意的是,被插入的文件是文本文件時需注意在文件的開始部分指明文件的相關信息,這樣方便jsp頁面和被嵌入的文件合并生成一個新的jsp頁面不至于出現(xiàn)亂碼等問題。例如(head.txt):

<%@ page contenttype="text/html;charset=gb2312"%>
<h1> ..頭部信息..</h1>
<div> ... </div>

jsp動態(tài)導入(jsp:include動作標記)

     include動作標記用來在jsp頁面中動態(tài)包含一個文件,如果被包含的頁面是jsp頁面,則先處理之后再將結果包含,而如果包含的是非*.jsp文件,則只是把文件內(nèi)容靜態(tài)包含進來。包含頁面程序與被包含頁面程序是彼此獨立的,互補影響。jsp:include標記的一般使用格式為:

<jsp:include page="文件的url" />
或
<jsp:include page="文件的url">
    <jsp:param 子標記/>
</jsp:include>

jsp動態(tài)導入與靜態(tài)導入的區(qū)別:

       1、處理時間和方式不同:include指令標記插入的文件在頁面轉譯時就合并到一起了,被包含文件與當前頁面組合而成的新頁面必須符合jsp的語法和邏輯規(guī)則,由于是提前合并編譯,所以執(zhí)行速度快;而jsp:include動作標記是被包含文件語法和邏輯獨立于當前頁面,單獨被jsp引擎編譯,當前頁面執(zhí)行時再將被包含文件的運行結果傳送給客戶端,由于是執(zhí)行頁面時處理包含文件,所以執(zhí)行速度慢,但可以利用param子標記傳遞參數(shù),使用更靈活。

        2、適用情況不同:靜態(tài)導入適合導入不會經(jīng)常變化的資源例如html文件,而動態(tài)導入適合一個時常變化的資源例如jsp文件。 

到此這篇關于jsp靜態(tài)導入與動態(tài)導入使用詳解的文章就介紹到這了,更多相關jsp靜態(tài)導入與動態(tài)導入內(nèi)容請搜索碩編程以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持碩編程!

相關文章
亚洲国产精品第一区二区,久久免费视频77,99V久久综合狠狠综合久久,国产免费久久九九免费视频