javascript
JSP语法,运行机理等
JSP是幾年前就接觸了,但是用歸用,很多實(shí)際的意義含義等還是不太明白,借此機(jī)會(huì),梳理一下。
1.JSP運(yùn)行原理:當(dāng)瀏覽器web應(yīng)用服務(wù)器請(qǐng)求一個(gè)JSP頁(yè)面時(shí),Web應(yīng)用服務(wù)器將其轉(zhuǎn)換成一個(gè)Servlet文件(即一個(gè).java文件),然后將這個(gè)Java文件編譯成一個(gè)字節(jié)碼文件(集一個(gè).class文件),最后web應(yīng)用服務(wù)器加載轉(zhuǎn)換后的Servlet實(shí)例,處理客戶端的請(qǐng)求,并返回HTML格式的響應(yīng)回應(yīng)給客戶端瀏覽器;
2.JSP指令標(biāo)識(shí):
- 頁(yè)面指令page的使用
<%@ page 屬性1=“屬性值1” 屬性2=“屬性值2”……%> · language屬性:指定當(dāng)前頁(yè)面使用的語(yǔ)言,目前只支持Java · contentType屬性:用于設(shè)置JSP頁(yè)面的MIME類型和字符編碼,用于顯示網(wǎng)頁(yè)內(nèi)容; · pageEncoding屬性:用于設(shè)置JSP頁(yè)面的編碼格式,用于編寫(xiě)階段的顯示; · import屬性:用于導(dǎo)入JSP頁(yè)面中的類包,在JSP頁(yè)面可以通過(guò)嵌入Java代碼的方法使用這些類包。
- 文件包含指令include的使用:它可以將一個(gè)JSP頁(yè)面包含到另一個(gè)JSP頁(yè)面中,從而實(shí)現(xiàn)JSP頁(yè)面的重用。這里的包含是靜態(tài)包含,即使被包含文件中有JSP代碼,在包含時(shí)也不會(huì)被編譯執(zhí)行,而是將頁(yè)面組合成一個(gè)頁(yè)面后,再進(jìn)行編譯處理,最后返回結(jié)果頁(yè)面。
- 引用標(biāo)簽庫(kù)指令taglib的使用
3. 注釋:
- ?HTML注釋:
- ?JSP隱藏注釋:
?
?4. include指令與<jsp:include>動(dòng)作標(biāo)識(shí)的區(qū)別:
表示形式的區(qū)別:<%@include file="top.jsp"%> <jsp:include page="top.jsp"></jsp:include>
?
- include指令通過(guò)file屬性指定被包含文件,并且file屬性不支持任何表達(dá)式,<jsp:include>動(dòng)作通過(guò)page屬性指定被包含文件;
- 使用include指令時(shí),被包含文件和包含文件最終編譯成一個(gè).java文件再執(zhí)行,只執(zhí)行一次。而<jsp:include>當(dāng)標(biāo)識(shí)被執(zhí)行時(shí),程序會(huì)將請(qǐng)求轉(zhuǎn)發(fā)到被包含頁(yè)面,并將結(jié)果輸出到瀏覽器中,然后返回包含頁(yè)繼續(xù)執(zhí)行后面的代碼;
- include指令在包含文件和被包含文件中不能有重名的變量或方法。而在<jasp:include>中重名的變量或代碼不會(huì)引起沖突。
5. <jsp:forward>請(qǐng)求轉(zhuǎn)發(fā)的動(dòng)作標(biāo)識(shí):
? ? 該動(dòng)作用于將當(dāng)前請(qǐng)求轉(zhuǎn)發(fā)到其他的web資源(HTML頁(yè)面、JSP頁(yè)面、Servlet等)。在執(zhí)行請(qǐng)求轉(zhuǎn)發(fā)后,當(dāng)前頁(yè)面將不再繼續(xù)執(zhí)行,而是去執(zhí)行forward指定的頁(yè)面。
<jsp:forward page="url"/>?
?請(qǐng)求轉(zhuǎn)發(fā)是服務(wù)器端的操作,瀏覽器并不知道請(qǐng)求的是哪一個(gè)頁(yè)面,故其地址欄不會(huì)發(fā)生變化。
?
轉(zhuǎn)載于:https://www.cnblogs.com/little-YTMM/p/4424589.html
總結(jié)
以上是生活随笔為你收集整理的JSP语法,运行机理等的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 关于 printk() 对 spi sl
- 下一篇: LBP