知識(shí)學(xué)習(xí)——JSP

運(yùn)行步驟:

  1. 客戶端發(fā)出請(qǐng)求,請(qǐng)求訪問(wèn)jsp文件
  2. Web 服務(wù)器識(shí)別出這是一個(gè)對(duì) JSP 網(wǎng)頁(yè)的請(qǐng)求册烈,并且將該請(qǐng)求傳遞給 JSP 引擎
  3. JSP 引擎從磁盤(pán)中載入 JSP 文件,然后將它們轉(zhuǎn)化為 Servlet
  4. JSP 引擎將 Servlet 編譯成可執(zhí)行類(lèi)婿禽,并且將原始請(qǐng)求傳遞給 Servlet 引擎
  5. Web 服務(wù)器的某組件將會(huì)調(diào)用 Servlet 引擎茄厘,然后載入并執(zhí)行 Servlet 類(lèi)。在執(zhí)行過(guò)程中谈宛,Servlet 產(chǎn)生 HTML 格式的輸出并將其內(nèi)嵌于 HTTP response 中上交給 Web 服務(wù)器
  6. Web 服務(wù)器以靜態(tài) HTML 網(wǎng)頁(yè)的形式將 HTTP response 返回到瀏覽器中
  7. 最終次哈,Web 瀏覽器處理 HTTP response 中動(dòng)態(tài)產(chǎn)生的HTML網(wǎng)頁(yè),就好像在處理靜態(tài)網(wǎng)頁(yè)一樣

JSP 生命周期

  • 編譯階段:servlet容器編譯servlet源文件吆录,生成servlet類(lèi)
  • 初始化階段:加載與JSP對(duì)應(yīng)的servlet類(lèi)窑滞,創(chuàng)建其實(shí)例,并調(diào)用它的初始化方法
  • 執(zhí)行階段:調(diào)用與JSP對(duì)應(yīng)的servlet實(shí)例的服務(wù)方法
  • 銷(xiāo)毀階段:調(diào)用與JSP對(duì)應(yīng)的servlet實(shí)例的銷(xiāo)毀方法恢筝,然后銷(xiāo)毀servlet實(shí)例

JSP腳本元素(JSP Scriptlets)

語(yǔ)法:<% 腳本元素 %> 里面可以包含任意量的Java語(yǔ)句哀卫、變量、方法或表達(dá)式撬槽,只要它們?cè)谀_本語(yǔ)言中是有效的此改。
jsp表達(dá)式符號(hào)<%= %>

JSP指令

page指令

<%@ page language="java"
 import="java.util.*,java.text.*"
 contentType="text/html; charset=utf-8" 
pageEncoding="UTF-8"%>

include指令

<%@ include file="yes.jsp"%>

JSP動(dòng)作元素

//page表示包含在頁(yè)面中的相對(duì)URL地址,flush布爾屬性侄柔,定義在包含資源前是否刷新緩存區(qū)
<jsp:include page="相對(duì) URL 地址" flush="true" />
//useBean用來(lái)實(shí)例化一個(gè)對(duì)象共啃,id表示實(shí)例名,class寫(xiě)指定類(lèi)的完整包名
<jsp:useBean id="use" class="com.users" />
//setProperty暂题,getProperty等同setget方法
<jsp:setProperty name="use" property="username" value="Tom" />
<jsp:getProperty name="use" property="username" />
//jsp:forward動(dòng)作把請(qǐng)求轉(zhuǎn)到另外的頁(yè)面
//page屬性包含的是一個(gè)相對(duì)URL移剪。page的值既可以直接給出,
//也可以在請(qǐng)求的時(shí)候動(dòng)態(tài)計(jì)算薪者,可以是一個(gè)JSP頁(yè)面或者一個(gè) Java Servlet
<jsp:forward page="date.jsp" />

JSP 隱式對(duì)象

request對(duì)象

request對(duì)象是javax.servlet.http.HttpServletRequest 類(lèi)的實(shí)例,request對(duì)象提供了一系列方法來(lái)獲取HTTP頭信息纵苛,cookies,HTTP方法等等

response對(duì)象

response對(duì)象是javax.servlet.http.HttpServletResponse類(lèi)的實(shí)例,response對(duì)象也定義了處理HTTP頭模塊的接口。通過(guò)這個(gè)對(duì)象攻人,開(kāi)發(fā)者們可以添加新的cookies取试,時(shí)間戳,HTTP狀態(tài)碼等等怀吻。

out對(duì)象

out對(duì)象是 javax.servlet.jsp.JspWriter 類(lèi)的實(shí)例瞬浓,用來(lái)在response對(duì)象中寫(xiě)入內(nèi)容

session對(duì)象

session對(duì)象是 javax.servlet.http.HttpSession 類(lèi)的實(shí)例。和Java Servlets中的session對(duì)象有一樣的行為烙博。session對(duì)象用來(lái)跟蹤在各個(gè)客戶端請(qǐng)求間的會(huì)話。

application對(duì)象

application對(duì)象直接包裝了servlet的ServletContext類(lèi)的對(duì)象烟逊,是javax.servlet.ServletContext 類(lèi)的實(shí)例渣窜。這個(gè)對(duì)象在JSP頁(yè)面的整個(gè)生命周期中都代表著這個(gè)JSP頁(yè)面。這個(gè)對(duì)象在JSP頁(yè)面初始化時(shí)被創(chuàng)建宪躯,隨著jspDestroy()方法的調(diào)用而被移除乔宿。通過(guò)向application中添加屬性,則所有組成web應(yīng)用的JSP文件都能訪問(wèn)到這些屬性

config對(duì)象

config對(duì)象是 javax.servlet.ServletConfig 類(lèi)的實(shí)例访雪,直接包裝了servlet的ServletConfig類(lèi)的對(duì)象详瑞。
這個(gè)對(duì)象允許開(kāi)發(fā)者訪問(wèn)Servlet或者JSP引擎的初始化參數(shù),比如文件路徑等

pageContext 對(duì)象

pageContext對(duì)象是javax.servlet.jsp.PageContext 類(lèi)的實(shí)例臣缀,用來(lái)代表整個(gè)JSP頁(yè)面坝橡。這個(gè)對(duì)象主要用來(lái)訪問(wèn)頁(yè)面信息,同時(shí)過(guò)濾掉大部分實(shí)現(xiàn)細(xì)節(jié)精置。這個(gè)對(duì)象存儲(chǔ)了request對(duì)象和response對(duì)象的引用计寇。application對(duì)象,config對(duì)象脂倦,session對(duì)象番宁,out對(duì)象可以通過(guò)訪問(wèn)這個(gè)對(duì)象的屬性來(lái)導(dǎo)出。pageContext對(duì)象也包含了傳給JSP頁(yè)面的指令信息赖阻,包括緩存信息蝶押,ErrorPage URL,頁(yè)面scope等

page 對(duì)象

這個(gè)對(duì)象就是頁(yè)面實(shí)例的引用。它可以被看做是整個(gè)JSP頁(yè)面的代表火欧。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末棋电,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子苇侵,更是在濱河造成了極大的恐慌离陶,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,496評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件衅檀,死亡現(xiàn)場(chǎng)離奇詭異招刨,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)哀军,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)沉眶,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)打却,“玉大人,你說(shuō)我怎么就攤上這事谎倔×鳎” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,632評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵片习,是天一觀的道長(zhǎng)捌肴。 經(jīng)常有香客問(wèn)我,道長(zhǎng)藕咏,這世上最難降的妖魔是什么状知? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,180評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮孽查,結(jié)果婚禮上饥悴,老公的妹妹穿的比我還像新娘。我一直安慰自己盲再,他們只是感情好西设,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,198評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著答朋,像睡著了一般贷揽。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上梦碗,一...
    開(kāi)封第一講書(shū)人閱讀 51,165評(píng)論 1 299
  • 那天擒滑,我揣著相機(jī)與錄音,去河邊找鬼叉弦。 笑死丐一,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的淹冰。 我是一名探鬼主播库车,決...
    沈念sama閱讀 40,052評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼樱拴!你這毒婦竟也來(lái)了柠衍?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 38,910評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤晶乔,失蹤者是張志新(化名)和其女友劉穎珍坊,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體正罢,經(jīng)...
    沈念sama閱讀 45,324評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡阵漏,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,542評(píng)論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片履怯。...
    茶點(diǎn)故事閱讀 39,711評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡回还,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出叹洲,到底是詐尸還是另有隱情柠硕,我是刑警寧澤,帶...
    沈念sama閱讀 35,424評(píng)論 5 343
  • 正文 年R本政府宣布运提,位于F島的核電站蝗柔,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏民泵。R本人自食惡果不足惜癣丧,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,017評(píng)論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望洪灯。 院中可真熱鬧坎缭,春花似錦竟痰、人聲如沸签钩。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,668評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)铅檩。三九已至,卻和暖如春莽鸿,著一層夾襖步出監(jiān)牢的瞬間昧旨,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,823評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工祥得, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留兔沃,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,722評(píng)論 2 368
  • 正文 我出身青樓级及,卻偏偏與公主長(zhǎng)得像乒疏,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子饮焦,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,611評(píng)論 2 353

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

  • 一怕吴、JSP基礎(chǔ) 1.1什么是JSP JSP(Java ServerPage)是Java服務(wù)器端動(dòng)態(tài)頁(yè)面技術(shù)。是su...
    晨星資源閱讀 1,147評(píng)論 0 6
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法县踢,類(lèi)相關(guān)的語(yǔ)法转绷,內(nèi)部類(lèi)的語(yǔ)法,繼承相關(guān)的語(yǔ)法硼啤,異常的語(yǔ)法议经,線程的語(yǔ)...
    子非魚(yú)_t_閱讀 31,623評(píng)論 18 399
  • 這部分主要是與Java Web和Web Service相關(guān)的面試題。 96、闡述Servlet和CGI的區(qū)別? 答...
    雜貨鋪老板閱讀 1,404評(píng)論 0 10
  • 一爸业、JSP內(nèi)置對(duì)象簡(jiǎn)介 JSP內(nèi)置對(duì)象是Web容器創(chuàng)建的一組對(duì)象其骄,不使用new關(guān)鍵字就可以使用的內(nèi)置對(duì)象。開(kāi)發(fā)者可...
    年少懵懂丶流年夢(mèng)閱讀 3,727評(píng)論 0 8
  • 一. Java基礎(chǔ)部分.................................................
    wy_sure閱讀 3,810評(píng)論 0 11