Jsp

java server page ( java 服務(wù)器 頁(yè)面技術(shù))

為了完成一個(gè)動(dòng)態(tài)網(wǎng)頁(yè)颜懊,需要在servlet中編寫(xiě)大量的html/css相關(guān)的代碼麻惶,隨著時(shí)代的發(fā)展,網(wǎng)頁(yè)的美觀要求越來(lái)越高

sun --- 大牛站出來(lái)發(fā)明了JSP技術(shù)

JSP本質(zhì)上還是一個(gè)servlet蜈垮,jsp可以直接寫(xiě)html代碼害驹,同時(shí)也支持寫(xiě)Java代碼透绩。jsp編寫(xiě)之后不能直接使用瀏覽器打開(kāi),需要通過(guò)tomcat將JSP翻譯成一個(gè)servlet

1.1普通表達(dá)式 (掌握)
<%
可以寫(xiě)Java代碼
%>
1.2 輸出表達(dá)式 (掌握)
<%= %>

二.jsp實(shí)現(xiàn)原理

當(dāng)瀏覽器第一次訪問(wèn)a.jsp的時(shí)候,會(huì)被翻譯成a_jsp.java 芥挣,jdk將a_jsp.java編譯成a_jsp.class文件 , 執(zhí)行class中的代碼兆龙,給瀏覽器進(jìn)行響應(yīng)
當(dāng)瀏覽器再次訪問(wèn)a.jsp的時(shí)候杖爽,如果class已經(jīng)存在就不在翻譯而是直接執(zhí)行


image.png

JSP 翻譯成 Servlet 的過(guò)程


image.png

三. EL表達(dá)式

el表達(dá)式:最主要的作用從作用域中獲取數(shù)據(jù).
特點(diǎn):避免在JSP中編寫(xiě)Java代碼

Action ------- 轉(zhuǎn)發(fā) -----> JSP
JSP用于展示數(shù)據(jù),數(shù)據(jù)來(lái)自于Action
在Action中將數(shù)據(jù)存儲(chǔ)在作用域中紫皇,在JSP中獲取作用域中的數(shù)據(jù)進(jìn)行展示

HttpServletRequest request = .. //一次請(qǐng)求
HttpSession session = request.getSession(); //一次會(huì)話
ServletContext application = request.getSession(); //整個(gè)服務(wù)

Action{

//向作用域中存儲(chǔ)數(shù)據(jù)
/request.setAttribute(“key”,value);
session.setAttribute(“key”,value);
application.setAttribute(“key”,value);
/

request.setAttribute(“a1”,”張三”);
}

EL表達(dá)式從作用域取值并輸出的語(yǔ)法: {requestScope.key} 從request作用域取值{sessionScope.key} 從Session作用域取值
${applicationScope.key} 從ServletContext作用域取值

四.JSTL表達(dá)式

循環(huán) 慰安、判斷
jstl也稱(chēng)c標(biāo)簽

在JSP中引入JSTL標(biāo)簽庫(kù)


image.png

1.1循環(huán)標(biāo)簽

語(yǔ)法:
<c:forEach var=”變量名” items=”使用EL表達(dá)式獲取一個(gè)集合”>
${變量名} 如果遍歷list集合獲取的是對(duì)象,可以繼續(xù)獲取對(duì)象的屬性
</c:forEach>
例如:

image.png

1.2 判斷標(biāo)簽 - if

語(yǔ)法:test屬性中可以使用el表達(dá)式 .
可以利用el表達(dá)式從作用域中取值聪铺,并且進(jìn)行判斷化焕,如果判斷的結(jié)果為true,則執(zhí)行if標(biāo)簽中的內(nèi)容铃剔,否則不執(zhí)行
if(條件){
}
<c:if test=” ${requestScope.a2 > 10 }”>
xxxx
</c:if>
例如:


image.png

1.3 判斷標(biāo)簽 - choose

語(yǔ)法:
<c:choose>
<c:when test=””>
</c:when>
<c:when test=””>
</c:when>
<c:otherwise>
</c:otherwise>
</c:choose>

解釋?zhuān)篶hoose標(biāo)簽就是一個(gè)父標(biāo)簽撒桨,沒(méi)有特殊含義
when標(biāo)簽第一個(gè)相當(dāng)于if查刻,可以寫(xiě)多個(gè)when標(biāo)簽,相當(dāng)于else if
otherwise寫(xiě)在最后凤类,相當(dāng)于else


image.png

五穗泵,jsp內(nèi)置對(duì)象

什么是JSP的內(nèi)置對(duì)象?
在jsp中可以直接在<%%>中使用的對(duì)象,就稱(chēng)之為內(nèi)置對(duì)象谜疤。在jsp翻譯成的servlet中已經(jīng)被創(chuàng)建好了

內(nèi)置對(duì)象的名稱(chēng) 實(shí)際類(lèi)型 作用
reqeust HttpServlteRequest 收參佃延、作用域
response HttpServletResponse 重定向、響應(yīng)
pageContext PageContext 1.獲取其他幾個(gè)內(nèi)置對(duì)象
2.操作其他幾個(gè)作用域
session HttpSession 管理會(huì)話
exception Throwable 獲取當(dāng)前頁(yè)面的異常對(duì)象
application ServletContext 整個(gè)服務(wù)的作用
config ServletConfig 讀取配置文件
out JspWriter(PrintWriter) 向?yàn)g覽器響應(yīng)輸出內(nèi)容
page Object(this) 當(dāng)前servlet類(lèi)的對(duì)象

總結(jié):1.JSP支持9個(gè)內(nèi)置對(duì)象夷磕,其中pageContxt可以獲取其他幾個(gè)內(nèi)置對(duì)象
2.el表達(dá)式履肃,支持pageContext,可以在el表達(dá)式中使用pageContext獲取其他幾個(gè)內(nèi)置對(duì)象
3. ${pageContext.request.contextPath}
向通過(guò).request獲取request對(duì)象企锌,在.contextPath獲取request對(duì)象中存儲(chǔ)的項(xiàng)目名

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末榆浓,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子撕攒,更是在濱河造成了極大的恐慌陡鹃,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,539評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件抖坪,死亡現(xiàn)場(chǎng)離奇詭異萍鲸,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)擦俐,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評(píng)論 3 396
  • 文/潘曉璐 我一進(jìn)店門(mén)脊阴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人蚯瞧,你說(shuō)我怎么就攤上這事嘿期。” “怎么了埋合?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,871評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵备徐,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我甚颂,道長(zhǎng)蜜猾,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,963評(píng)論 1 295
  • 正文 為了忘掉前任振诬,我火速辦了婚禮蹭睡,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘赶么。我一直安慰自己肩豁,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,984評(píng)論 6 393
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著蓖救,像睡著了一般洪规。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上循捺,一...
    開(kāi)封第一講書(shū)人閱讀 51,763評(píng)論 1 307
  • 那天斩例,我揣著相機(jī)與錄音,去河邊找鬼从橘。 笑死念赶,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的恰力。 我是一名探鬼主播叉谜,決...
    沈念sama閱讀 40,468評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼踩萎!你這毒婦竟也來(lái)了停局?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤香府,失蹤者是張志新(化名)和其女友劉穎董栽,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體企孩,經(jīng)...
    沈念sama閱讀 45,850評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡锭碳,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,002評(píng)論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了勿璃。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片擒抛。...
    茶點(diǎn)故事閱讀 40,144評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖补疑,靈堂內(nèi)的尸體忽然破棺而出歧沪,到底是詐尸還是另有隱情,我是刑警寧澤莲组,帶...
    沈念sama閱讀 35,823評(píng)論 5 346
  • 正文 年R本政府宣布槽畔,位于F島的核電站,受9級(jí)特大地震影響胁编,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜鳞尔,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,483評(píng)論 3 331
  • 文/蒙蒙 一嬉橙、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧寥假,春花似錦市框、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,026評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)喻圃。三九已至,卻和暖如春粪滤,著一層夾襖步出監(jiān)牢的瞬間斧拍,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,150評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工杖小, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留肆汹,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,415評(píng)論 3 373
  • 正文 我出身青樓予权,卻偏偏與公主長(zhǎng)得像昂勉,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子扫腺,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,092評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 1.學(xué)習(xí)內(nèi)容 JSP技術(shù)入門(mén)和常用指令 JSP的內(nèi)置對(duì)象&標(biāo)簽介紹 EL表達(dá)式&EL的內(nèi)置對(duì)象 2.JSP技術(shù)入門(mén)...
    WendyVIV閱讀 2,138評(píng)論 1 18
  • 一笆环、jsp介紹 jsp作用jsp全稱(chēng)java server pages(java服務(wù)器頁(yè)面),本質(zhì)是一個(gè)servl...
    圣賢與無(wú)賴閱讀 1,251評(píng)論 0 14
  • JSP總結(jié)(經(jīng)典) day1 JSP 定義: 1)Java Server Page, Java EE 組件攒至,本...
    java日記閱讀 3,449評(píng)論 0 13
  • 一、JSP基礎(chǔ) 1.1什么是JSP JSP(Java ServerPage)是Java服務(wù)器端動(dòng)態(tài)頁(yè)面技術(shù)咧织。是su...
    晨星資源閱讀 1,152評(píng)論 0 6
  • 1課程回顧 Jsp基礎(chǔ) 1)Jsp的執(zhí)行過(guò)程 tomcat服務(wù)器完成:jsp文件->翻譯成java文件->編譯成c...
    守亭翁閱讀 332評(píng)論 0 0