亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁(yè) > 知識(shí)庫(kù) > JSP中include指令和include行為的區(qū)別

JSP中include指令和include行為的區(qū)別

熱門(mén)標(biāo)簽:地圖標(biāo)注人員兼職 電話機(jī)器人的特色和創(chuàng)新 黃石智能營(yíng)銷(xiāo)電銷(xiāo)機(jī)器人效果 漯河辦理400電話 淮南騰訊地圖標(biāo)注 開(kāi)封便宜外呼系統(tǒng)報(bào)價(jià) 商丘百應(yīng)電話機(jī)器人有沒(méi)有效果 騰訊地圖標(biāo)注商戶改名注冊(cè)入駐 怎樣把地圖標(biāo)注出來(lái)

 %@ include file=” ”%>

 jsp:include page=” ” flush=”true”/>

  前者是指令元素、后者是行為元素。具體它們將在何處用?如何用及它們有什么區(qū)別?這應(yīng)該是很多人看到它都會(huì)想到的問(wèn)題。下面一起來(lái)看看吧。

  通常當(dāng)應(yīng)用程序中所有的頁(yè)面的某些部分(例如標(biāo)題、頁(yè)腳和導(dǎo)航欄)都相同的時(shí)候,我們就可以考慮用include。具體在哪些時(shí)候用 %@ include file=” ”%>,哪些時(shí)候用 jsp:include page=” ” flush=”true”/>.這種形式。首先要明白的是它們之間的區(qū)別。只有了解了它們用法的不同才理解該在何時(shí)去用以及如何選擇。

   %@ include file=” ”%>,jsp的include指令元素讀入指定頁(yè)面的內(nèi)容。并把這些內(nèi)容和原來(lái)的頁(yè)面融合到一起。(這個(gè)過(guò)程是在翻譯階段:也就是jsp被轉(zhuǎn)化成servlet的階段進(jìn)行的。

  這里對(duì)翻譯階段進(jìn)行一下說(shuō)明:我們知道,jsp頁(yè)面不能原封不動(dòng)地被傳送給瀏覽器,所有的jsp元素都必須首先由服務(wù)器進(jìn)行處理。這是通過(guò)將jsp頁(yè)面轉(zhuǎn)達(dá)化成servlet,然后執(zhí)行這個(gè)servlet來(lái)完成的。服務(wù)器需要一個(gè)jsp容器來(lái)處理jsp頁(yè)面。jsp容器通常以servlet的形式來(lái)實(shí)現(xiàn),這個(gè)servlet經(jīng)過(guò)配置,可以處理對(duì)jsp頁(yè)面的所有請(qǐng)求。

  Jsp容器負(fù)責(zé)將jsp頁(yè)面轉(zhuǎn)化成servlet(稱(chēng)為jsp頁(yè)面實(shí)現(xiàn)類(lèi)?JSP Page implementation class),并編譯這個(gè)servlet。這兩步就構(gòu)成了翻譯階段.

  由此我們就會(huì)知道:jsp頁(yè)面是把include指令元素所指定的頁(yè)面的實(shí)際內(nèi)容(也就是代碼段)加入到引入它的jsp頁(yè)面中,合成一個(gè)文件后被jsp容器將它轉(zhuǎn)化成servlet。可以看到這時(shí)會(huì)產(chǎn)生一個(gè)臨時(shí)class文件和一個(gè)java文件。下面舉個(gè)例子。

  服務(wù)器用tomcat,引入頁(yè)面的jsp文件叫test.jsp。被引入的頁(yè)面叫date.jsp.這個(gè)jsp文件里存放的是一個(gè)有關(guān)時(shí)間的jsp代碼,當(dāng)前的上下文根設(shè)為test

//======date.jsp的源文件=====//
%@ page language=”java” contentType="text/html;charset=gb2312"%>
%
java.util.Date date=new java.util.Date();
String date_cn ="";
String dateStr = "";
switch(date.getDay())
{
case 0:date_cn ="日"; break;
case 1:date_cn ="一"; break;
case 2:date_cn ="二"; break;
case 3:date_cn ="三"; break;
case 4:date_cn ="四"; break;
case 5:date_cn ="五"; break;
case 6:date_cn ="六"; break;
}
dateStr = (1900+date.getYear())+"年"+(date.getMonth()+1)+"月"+date.getDate()+
"日(星期" + date_cn + ")";
%>
document.write("%=dateStr%>");
//======以下是test.jsp的源文件=============//
%@ page language=”java” contentType=”text/html;charset=gb2312”%>
html>
head>
title>include的兩種用法/title>
jsp:include page=”date.jsp” flush=”true”/>
%--@ include file=”date.jsp” %-->
//我們?cè)谶@里用include的兩種不同形式來(lái)引入date.jsp這個(gè)文件.
head>
body>
table>tr>td>
有關(guān)jsp中include的兩種用法.敬請(qǐng)關(guān)注。
/td>/tr>/table>
/body>
/html>

  在test.jsp 文件中,我們只輸出了一行文本“ 有關(guān)jsp中include的兩種用法.敬請(qǐng)關(guān)注。”,現(xiàn)在讓我們先用這種形式引入date.jsp這個(gè)文件。你想會(huì)出現(xiàn)什么問(wèn)題了嗎?此時(shí)出現(xiàn)了錯(cuò)誤提示:


HTTP Status 500 ?
org.apache.jasper.JasperException: /date.jsp(0,0) Page directive:
can't have multiple occurrences of contentType


  以下還有一堆錯(cuò)誤,但我們只要看這里就知道問(wèn)題的所在了。狀態(tài)碼為http 500服務(wù)器內(nèi)部錯(cuò)誤。再看下面的提示。在date.jsp頁(yè)面中不能指定多個(gè)contentType.

原因就在這里了。是因?yàn)樵诜g階段,date.jsp文件的代碼被原封不動(dòng)地加入到了test.jsp頁(yè)面從而合成一個(gè)文件。合成后的文件中就會(huì)相同的:

 %@ page language=”java” contentType=”text/html;charset=gb2312”%>

  這句代碼。解決的辦法是把date.jsp文件中的這句刪掉。刷新后再請(qǐng)求test.jsp頁(yè)面

請(qǐng)求test.jsp在頁(yè)面顯示如下

2007年8月12日 13:12:40

有關(guān)jsp中include的兩種用法.敬請(qǐng)關(guān)注。

  這時(shí)我們還不能發(fā)現(xiàn)什么。還是去查看tomcat下的臨時(shí)文件吧。到那里去看看date.jsp文件的內(nèi)容是否已被加入到了test.jsp文件中。

 注.此處的tomcat裝在E盤(pán)根目錄下>

目錄

E:\tomcat\work\Standalone\localhost\test.

在這個(gè)目錄下會(huì)看到

test_jsp.java和test_jsp.class兩個(gè)文件。

  這里的java文件就是jsp容器將jsp轉(zhuǎn)化成了servlet而得到的test_jsp.java這個(gè)文件。

  相對(duì)應(yīng)的test_jsp.class這個(gè)文件就是編譯test_jsp.java這個(gè)servlet文件產(chǎn)生的類(lèi)文件了。打開(kāi)所產(chǎn)生的servlet 文件(test_jsp.java)。此時(shí)我們會(huì)發(fā)現(xiàn),在test.jsp 文件被轉(zhuǎn)化成servlet文件時(shí),在輸出的 haed >之間加入了一些不是test.jsp頁(yè)面里面的代碼,新加入的內(nèi)容就是 date.jsp里面的代碼: 新加入了哪些內(nèi)容或是否真的加入了新的內(nèi)容請(qǐng)自己測(cè)試去看一下就會(huì)一目了然了.在這里不再詳述.

以上就是我們用 %@ include file=”date.jsp”%>這種形式得到的結(jié)果.

下面我們換用 jsp:include page=”dae.jsp” flush=”true”/>也就是將

 %@ include file=”date.jsp”%>換成 jsp:include page=”dae.jsp” flush=”true”/>,然后請(qǐng)求test.jsp.

2007? ê 8??12?? 13:30:13

  有關(guān)jsp中include的兩種用法.敬請(qǐng)關(guān)注。

  此時(shí)會(huì)在頁(yè)面上看見(jiàn).我們所引入date.jsp輸出的日期中中文出現(xiàn)了亂碼.什么原因?是因?yàn)閕nclude行為元素是在請(qǐng)求處理階段執(zhí)行的(此處要對(duì)請(qǐng)求處理階段進(jìn)行說(shuō)明一下.Jsp容器除了上面提到的負(fù)責(zé)將jsp頁(yè)面轉(zhuǎn)化成servlet外,還負(fù)責(zé)調(diào)用jsp頁(yè)面實(shí)現(xiàn)類(lèi)以處理每個(gè)請(qǐng)求并產(chǎn)生應(yīng)答. 這個(gè)階段我們就稱(chēng)為請(qǐng)求處理階段.請(qǐng)求處理階段僅執(zhí)行類(lèi)文件)。

  所以在我們作include行為元素引入頁(yè)面時(shí),實(shí)際只是引用了 date.jsp這個(gè)文件被轉(zhuǎn)化并被編譯后產(chǎn)生的servlet類(lèi)文件.既如此, date.jsp就是作為一個(gè)單獨(dú)的文件在執(zhí)行后才被test.jsp文件運(yùn)行時(shí)調(diào)用.由于date.jsp文件中沒(méi)有指定字符編碼.所以出現(xiàn)了亂碼.解決辦法是在date.jsp文件中重新把剛才去掉的

  這行語(yǔ)句加入后刷新重新運(yùn)行.此時(shí)頁(yè)面顯示正確,并跟用include指令正常運(yùn)行時(shí)一樣.再查看tomcat下的臨時(shí)文件會(huì)發(fā)現(xiàn).此時(shí)多出了一個(gè) date_jsp.java文件和一個(gè)date_jsp.class文件.這兩個(gè)文件得來(lái)的方式跟test_jsp.java和 test_jsp.class文件得來(lái)的方式一樣.再查看一下此時(shí)test_jsp.java文件的代碼會(huì)發(fā)現(xiàn).此時(shí)只新增加了一句代碼:

JspRuntimeLibrary.include(request, response, "date.jsp", out, true);

  它并沒(méi)有把date.jsp文件的代碼加入到test.jsp.

  只是在運(yùn)行時(shí)引入了date.jsp頁(yè)面執(zhí)行后所產(chǎn)生的應(yīng)答.這意味著我們可以指定任何能夠產(chǎn)生應(yīng)答的Web資源,(例如一個(gè)servlet或一個(gè) jsp頁(yè)面),只要這些資源所產(chǎn)生的類(lèi)型和jsp頁(yè)面產(chǎn)生的內(nèi)容類(lèi)型相同.JSP容器將通過(guò)一個(gè)內(nèi)部的函數(shù)調(diào)用來(lái)執(zhí)行指定的資源.因此,這些被引入的資源可以幫助處理原來(lái)的請(qǐng)求,所以這些資源可以訪問(wèn)請(qǐng)求作用域內(nèi)的所有對(duì)象.以及所有原來(lái)的請(qǐng)求參數(shù).

  由于在主頁(yè)面被請(qǐng)求時(shí),這些頁(yè)面還沒(méi)有被引入到主頁(yè)面中,所以你可以對(duì)page屬性使用一個(gè)請(qǐng)求時(shí)屬性值,以便根據(jù)運(yùn)行時(shí)的情況來(lái)決定要引入哪一個(gè)頁(yè)面.還可以添加一些將被引入的頁(yè)面讀取的請(qǐng)求參數(shù).

jsp:include page=”%=pageSelectedAtRuntime%>” flush=”true” >
jsp:param name=”fitstParamer” value=”firstValue”>
jsp:param name=”lastParamer” value=”lastValue”>
/jsp:include>

  如果修改了被引入的jsp頁(yè)面,那么可以立刻使用該頁(yè)面的最新版本,這是因?yàn)閷?duì)待被引入的頁(yè)面的方式與對(duì)待由瀏覽器直接調(diào)用的jsp頁(yè)面的方式完全相同.即容器檢測(cè)頁(yè)面的變化,并自動(dòng)進(jìn)入翻譯階段,以得到頁(yè)面的最新版本.

(注意,include行為元素同jsp其它元素一樣,沒(méi)有行為體時(shí)要以”/”結(jié)束.就像下面這樣.

 jsp:include page=”” flush=”true” />

以下是對(duì)include 兩種用法的區(qū)別

主要有兩個(gè)方面的不同;

  1.執(zhí)行時(shí)間上:

 %@ include file=”relativeURI”%> 是在翻譯階段執(zhí)行

 jsp:include page=”relativeURI” flush=”true” /> 在請(qǐng)求處理階段執(zhí)行.

  2.引入內(nèi)容的不同:

 %@ include file=”relativeURI”%>

  引入靜態(tài)文本(html,jsp),在JSP頁(yè)面被轉(zhuǎn)化成servlet之前和它融和到一起.

 jsp:include page=”relativeURI” flush=”true” />引入執(zhí)行頁(yè)面或servlet所生成的應(yīng)答文本.

  另外在兩種用法中file和page屬性都被解釋為一個(gè)相對(duì)的URI.如果它以斜杠開(kāi)頭,那么它就是一個(gè)環(huán)境相關(guān)的路徑.將根據(jù)賦給應(yīng)用程序的URI的前綴進(jìn)行解釋,如果它不是以斜杠開(kāi)頭,那么就是頁(yè)面相關(guān)的路徑,就根據(jù)引入這個(gè)文件的頁(yè)面所在的路徑進(jìn)行解釋.更多有關(guān)URL是如何解釋的請(qǐng)參考相關(guān)資料或書(shū)籍。
您可能感興趣的文章:
  • jsp中include指令靜態(tài)導(dǎo)入和動(dòng)態(tài)導(dǎo)入的區(qū)別詳解
  • JSP指令元素(page指令/include指令/taglib指令)復(fù)習(xí)整理
  • JSP的include指令的使用方法

標(biāo)簽:亳州 武威 馬鞍山 大興安嶺 鄭州 拉薩 岳陽(yáng) 紅河

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《JSP中include指令和include行為的區(qū)別》,本文關(guān)鍵詞  JSP,中,include,指令,和,行,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《JSP中include指令和include行為的區(qū)別》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于JSP中include指令和include行為的區(qū)別的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    国产成人精品影视| 二级片在线观看| 精品视频在线看| 国产一区免费在线观看| 韩国三级视频网站| 成人免费一级纶理片| 91麻豆精品国产自产在线 | 韩国三级视频网站| 国产不卡在线观看视频| 国产麻豆精品免费视频| 亚洲精品中文字幕久久久久久| 毛片的网站| 99久久精品国产高清一区二区| 91麻豆精品国产自产在线| 国产综合成人观看在线| 免费国产一级特黄aa大片在线| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 国产国语对白一级毛片| 欧美激情伊人| 欧美另类videosbestsex视频| 九九久久国产精品大片| 成人高清免费| 黄色免费三级| 国产不卡在线看| 九九久久99| 色综合久久天天综合绕观看| 黄视频网站免费观看| 亚洲第一视频在线播放| 二级片在线观看| 91麻豆tv| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 久久国产影视免费精品| 九九干| 国产欧美精品午夜在线播放| 精品在线观看国产| 黄视频网站在线看| 欧美另类videosbestsex视频| 久久久久久久网| 免费一级生活片| 高清一级片| 欧美另类videosbestsex久久 | 欧美国产日韩久久久| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 日本特黄特黄aaaaa大片 | 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 国产视频一区二区在线播放| 久久国产精品只做精品| 国产不卡高清| 99久久精品国产麻豆| 99色播| 亚洲女人国产香蕉久久精品| 日韩在线观看视频免费| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 欧美日本免费| 九九久久99| 久久精品免视看国产明星| 国产视频一区二区在线观看| 亚欧视频在线| 九九免费精品视频| 日本在线www| 精品视频一区二区| 二级片在线观看| 日韩一级黄色大片| 日本特黄特黄aaaaa大片 | 欧美18性精品| 国产91丝袜高跟系列| 国产极品白嫩美女在线观看看| a级毛片免费全部播放| 国产一区二区精品久久91| 九九久久99综合一区二区| 91麻豆精品国产片在线观看| 香蕉视频亚洲一级| 成人免费网站久久久| 久草免费在线色站| 成人免费观看视频| 青青久久精品| 免费毛片播放| 欧美另类videosbestsex视频| 国产成人啪精品| a级毛片免费全部播放| 美国一区二区三区| 99色视频| 欧美18性精品| 黄视频网站在线免费观看| 尤物视频网站在线观看| 亚洲wwwwww| 欧美激情在线精品video| 久久成人性色生活片| 韩国三级视频网站| 99久久精品国产免费| 精品久久久久久中文字幕2017| 久久国产一区二区| 国产精品1024永久免费视频| 国产不卡高清| 免费国产在线观看| 国产高清视频免费观看| 日日爽天天| 国产网站免费| 久久99爰这里有精品国产| 91麻豆精品国产自产在线 | 九九久久99综合一区二区| 成人免费网站久久久| 亚洲精品影院久久久久久| 麻豆系列 在线视频| 天天色色网| 欧美激情一区二区三区视频 | 色综合久久天天综合绕观看| 国产一区二区精品| 成人高清视频在线观看| 欧美一级视频免费观看| 日韩中文字幕一区二区不卡| 麻豆系列 在线视频| 午夜在线观看视频免费 成人| 中文字幕一区二区三区精彩视频| 日日夜夜婷婷| 国产成a人片在线观看视频| 久久成人性色生活片| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 精品视频在线观看免费| 日韩中文字幕在线亚洲一区| 精品国产三级a| 97视频免费在线观看| 二级片在线观看| 国产一区二区精品久| 久久99爰这里有精品国产| 青青久久精品国产免费看| a级精品九九九大片免费看| 91麻豆爱豆果冻天美星空| 欧美大片a一级毛片视频| 国产成人欧美一区二区三区的| 日韩专区一区| 日本免费区| 欧美激情伊人| 天天色色网| 精品视频免费看| 精品国产亚一区二区三区| 欧美激情一区二区三区在线播放 | 精品久久久久久中文| 沈樵在线观看福利| 国产美女在线一区二区三区| 999精品影视在线观看| 国产网站免费在线观看| 九九干| 亚欧乱色一区二区三区| 久久久成人网| 国产一区二区精品久久| 日韩免费片| 九九干| 精品久久久久久中文| 四虎影视久久久免费| 欧美日本二区| 免费国产在线观看| 欧美激情伊人| 久久久成人网| 欧美激情伊人| 国产成a人片在线观看视频| 99久久精品费精品国产一区二区| 国产国产人免费视频成69堂| 国产欧美精品| 久久国产精品只做精品| 国产国语对白一级毛片| 免费一级片网站| 日韩综合| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 黄视频网站免费观看| 久草免费在线观看| 日韩综合| 日韩中文字幕在线观看视频| 色综合久久天天综线观看| 成人免费福利片在线观看| 青草国产在线观看| 成人影视在线观看| a级毛片免费观看网站| 久久精品道一区二区三区| 九九久久国产精品| 精品视频免费看| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 日韩在线观看视频免费| 黄视频网站免费观看| 成人在免费观看视频国产| 天天色色网| 精品在线观看国产| 精品视频在线观看视频免费视频| 成人免费观看的视频黄页| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 亚欧成人乱码一区二区 | 亚洲精品久久久中文字| 日韩字幕在线| 亚洲第一页色| 青青久热| 毛片的网站| 九九久久99综合一区二区| 999久久久免费精品国产牛牛| 九九久久99综合一区二区| 一级女性全黄生活片免费| 成人高清视频免费观看| 国产麻豆精品高清在线播放| 精品国产香蕉在线播出| 91麻豆国产| 亚洲wwwwww|