第2章:JSP腳本元素、指令和動(dòng)作_第1頁(yè)
第2章:JSP腳本元素、指令和動(dòng)作_第2頁(yè)
第2章:JSP腳本元素、指令和動(dòng)作_第3頁(yè)
第2章:JSP腳本元素、指令和動(dòng)作_第4頁(yè)
第2章:JSP腳本元素、指令和動(dòng)作_第5頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

JSP

第二章:腳本元素、指令和動(dòng)作目錄JSP的執(zhí)行原理JSP包含的元素什么是JSPJSP(JavaServerPages)是指:在HTML中嵌入Java腳本代碼由應(yīng)用服務(wù)器中的JSP引擎來(lái)編譯和執(zhí)行嵌入的Java腳本代碼然后將生成的整個(gè)頁(yè)面信息返回給客戶端JSP頁(yè)面數(shù)據(jù)庫(kù)服務(wù)器應(yīng)用服務(wù)器編譯、執(zhí)行客戶端嵌入Java腳本1234返回頁(yè)面信息JSP執(zhí)行過(guò)程Web容器處理JSP文件請(qǐng)求需要經(jīng)過(guò)3個(gè)階段:翻譯階段編譯階段執(zhí)行階段3執(zhí)行2翻譯編譯1請(qǐng)求響應(yīng)應(yīng)用服務(wù)器客戶端JSP文件.java.classJSP執(zhí)行過(guò)程第一次請(qǐng)求之后,Web容器可以重用已經(jīng)編譯好的字節(jié)碼文件如果對(duì)JSP文件進(jìn)行了修改,Web容器會(huì)重新對(duì)JSP文件進(jìn)行翻譯和編譯執(zhí)行第二次請(qǐng)求響應(yīng)應(yīng)用服務(wù)器客戶端.classJSP頁(yè)面組成JSP頁(yè)面的元素包括:靜態(tài)內(nèi)容指令表達(dá)式小腳本<%Java代碼%><%=Java表達(dá)式%>HTML靜態(tài)文本以“<%@”開(kāi)始,以“%>”結(jié)束。比如:<%@includefile="

Filename"%>聲明注釋<%Java代碼%><%!方法%><!--這是注釋,但客戶端可以查看到--><%--這也是注釋,但客戶端不能查看到--%>指令page指令通過(guò)設(shè)置內(nèi)部的多個(gè)屬性來(lái)定義整個(gè)頁(yè)面的屬性語(yǔ)法:<%@page屬性1="屬性值"屬性2="屬性值1,屬性值2"…屬性n="屬性值n"%>page指令常用屬性屬性描述默認(rèn)值language指定JSP頁(yè)面使用的腳本語(yǔ)言javaimport通過(guò)該屬性來(lái)引用腳本語(yǔ)言中使用到的類文件無(wú)contentType服務(wù)器發(fā)送給客戶端時(shí)的內(nèi)容編碼text/html,ISO-8859-1pageEncodingjsp文件本身的編碼ISO-8859-1指令ContentType與pageEncoding的區(qū)別pageEncoding是jsp文件本身的編碼,把jsp文件編譯成java的時(shí)候給編譯器用的。contentType的charset是指服務(wù)器發(fā)送給客戶端時(shí)的內(nèi)容編碼,是瀏覽器解析網(wǎng)頁(yè)的時(shí)候用的如果兩個(gè)任意設(shè)置了其中一個(gè),另一個(gè)即會(huì)與此保持一致。但,contentType除可以設(shè)置charset外,還可以設(shè)置MIME類型,如text/html指令--includeinclude指令用于在JSP頁(yè)面中靜態(tài)包含一個(gè)文件,該文件可以是一個(gè)JSP頁(yè)面、HTML網(wǎng)頁(yè)、文本文件或一段Java代碼

使用了include指令的JSP頁(yè)面在轉(zhuǎn)換的時(shí)候,JSP容器會(huì)將包含的文件的代碼插入到當(dāng)前頁(yè)面中,一起進(jìn)行編譯注意<%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%><%@includefile="test.jsp"%><html> ……</html>1.在被包含的文件中盡量不要使用<html>、</html>等和包含JSP沖突的標(biāo)簽。有時(shí)有可能導(dǎo)致錯(cuò)誤.2.被包含文件和包含文件可以彼此訪問(wèn)變量和方法,應(yīng)該注意不要沖突.指令--taglibtaglib指令taglib指令允許頁(yè)面使用用戶定制的標(biāo)簽uri指定了核心庫(kù)的文件的ULR地址prefix設(shè)置標(biāo)簽的前綴名<%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%><%@tagliburi=/jsp/jstl/coreprefix="c"%><html> ……</html>JSP中的動(dòng)作JSP的動(dòng)作元素為請(qǐng)求處理階段提供信息,并遵循XML元素的語(yǔ)法創(chuàng)建應(yīng)用頁(yè)面常用動(dòng)作元素<jsp:include><jsp:forward><jsp:param><jsp:include>用于在當(dāng)前頁(yè)面中包含靜態(tài)和動(dòng)態(tài)的資源一旦被包含的頁(yè)面執(zhí)行完畢,請(qǐng)求處理將在調(diào)用的頁(yè)面中繼續(xù)執(zhí)行。page:指定被包含的頁(yè)面<jsp:include>和include指令的區(qū)別語(yǔ)法相對(duì)路徑發(fā)生時(shí)間包含的對(duì)象描述<%@includefile="file"%>相對(duì)于當(dāng)前文件轉(zhuǎn)換期間靜態(tài)包含的內(nèi)容被JSP容器解析<jsp:includepage="url"/>相對(duì)于當(dāng)前頁(yè)面請(qǐng)求處理期間動(dòng)態(tài)包含的內(nèi)容在運(yùn)行時(shí)被執(zhí)行……<body>

測(cè)試!<jsp:includepage="test.jsp"></jsp:include></body>……<jsp:forward>用于在JSP運(yùn)行階段將一個(gè)請(qǐng)求轉(zhuǎn)發(fā)給相同上下文環(huán)境中的另一個(gè)資源與RequestDispatcher接口的forward方法的作用一致page:指定轉(zhuǎn)發(fā)的路徑……<body> <%if(5>0)

{

%><jsp:forwardpage="test.jsp"></jsp:forward>

<%

}%></body>……<jsp:param>該動(dòng)作元素以鍵值對(duì)的形式為其它標(biāo)簽提供附加信息不能單獨(dú)使用,必須作為<jsp:include>、<jsp:forward>的子元素使用name:指定參數(shù)名value:指定值<jsp:forwardpage="test.jsp"><jsp:paramvalue="tom"name="name"/></jsp:forward>小腳本與表達(dá)式腳本元素包括三個(gè)部分聲明腳本段表達(dá)式三種腳本元素都是基于<%%>語(yǔ)句中<body> 兩個(gè)數(shù)的求和結(jié)果為:

<% intnumA=4,numB=5; intresult=numA+numB;

%>

<%=result%></body>小腳本表達(dá)式聲明聲明就是在JSP頁(yè)面中定義Java的變量和方法語(yǔ)法:<%!Java代碼%><%@pagelanguage="java"import="java.util.*,java.text.*"pageEncoding="UTF-8"%><html><%!StringformatDate(Dated){ SimpleDateFormatformater=newSimpleDateFormat(“yyyy年

MM月dd日"); retrunformater.format(d);}%>你好,今天是<%=formatDate(newDat

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論