JSP全稱是Java Server Pages,它和servle技術(shù)一樣,都是SUN公司定義的一種用于開發(fā)動態(tài)web資源的技術(shù)。JSP這門技術(shù)的最大的特點在于,寫jsp就像在寫html,但:它相比html而言,html只能為用戶提供靜態(tài)數(shù)據(jù),而Jsp技術(shù)允許在頁面中嵌套java代碼,為用戶提供動態(tài)數(shù)據(jù)。
相比servlet而言,servlet很難對數(shù)據(jù)進行排版,而jsp除了可以用java代碼產(chǎn)生動態(tài)數(shù)據(jù)的同時,也很容易對數(shù)據(jù)進行排版。
principle?---------JSP原理
目標(biāo):
Web服務(wù)器是如何調(diào)用并執(zhí)行一個jsp頁面的?
Jsp頁面中的html排版標(biāo)簽是如何被發(fā)送到客戶端的?
Jsp頁面中的java代碼服務(wù)器是如何執(zhí)行的?
Web服務(wù)器在調(diào)用jsp時,會給jsp提供一些什么java對象?
JSP為什么可以像servlet一樣,也可以叫做動態(tài)web資源的開發(fā)技術(shù)?
s首先,jsp作為一種簡化的servlet開發(fā)的替代技術(shù)出現(xiàn)技術(shù),出現(xiàn) jsp與html融合得比較好,做顯示是一經(jīng)修改馬上就可以看到效果,而servlet卻需要編譯等一系列動作,在web應(yīng)用中有很多復(fù)雜的控制邏輯需要實現(xiàn),這方面servlet顯然更加清晰和方便封裝這些邏輯控制.......所以可以說jsp也是一種做動態(tài)web自由的開發(fā)技術(shù)。
JSP語法
Expression?----------------JSP表達式
JSP腳本表達式(expression)用于將程序數(shù)據(jù)輸出到客戶端
語法:<%= 變量或表達式 %>
舉例:當(dāng)前時間:<%= new java.util.Date() %>
JSP引擎在翻譯腳本表達式時,會將程序數(shù)據(jù)轉(zhuǎn)成字符串,然后在相應(yīng)位置用out.write(…) 將數(shù)據(jù)輸給客戶端。
JSP腳本表達式中的變量或表達式后面不能有分號(;)。
statement?如何去聲明jsp
JSP頁面中編寫的所有代碼,默認會翻譯到servlet的service方法中, 而Jsp聲明中的java代碼被翻譯到_jspService方法的外面,即實例變量。語法:
<%!
java代碼
%>
所以,JSP聲明可用于定義JSP頁面轉(zhuǎn)換成的Servlet程序的靜態(tài)代碼塊、成員變量和方法 。
多個靜態(tài)代碼塊、變量和函數(shù)可以定義在一個JSP聲明中,也可以分別單獨定義在多個JSP聲明中。
JSP隱式對象的作用范圍僅限于Servlet的_jspService方法,所以在JSP聲明中不能使用這些隱式對象。
要說jsp與java的關(guān)系不妨先說JSP與servlet的關(guān)系,下面以一張圖說明
第一,Java提供一系列接口類:Servlet、ServletConfig、Serializable,然后通過多重繼承產(chǎn)生一個最通用的Servlet實現(xiàn)類(圖中Gerneric Servlet類),第二,通過一個多重繼承與實現(xiàn),產(chǎn)生一個新的實現(xiàn)類HttpServlet,用戶在開發(fā)Servlet程序時只需繼承這個類,最后產(chǎn)生一個自己的類(圖中Hello_Servlet類),而JSP(JavaServlet Page)從圖中可以看出,實際上它也是從Servlet繼承而來。只不過它在Servlet當(dāng)中又添加/修改了一些方法,作了新的封裝??偟膩碚f,jsp和java關(guān)系為“爺孫關(guān)系”。
所以,想學(xué)習(xí)jsp先要學(xué)習(xí)java,java分為java se(基礎(chǔ))和java ee(企業(yè)級開發(fā)),如果想要學(xué)習(xí)java不妨先從java基礎(chǔ)學(xué)起。學(xué)習(xí)java基礎(chǔ)需要學(xué)習(xí)內(nèi)容包括:類,關(guān)鍵字,四大類型,構(gòu)造方法,函數(shù),位運算,if判斷語句,for循環(huán)等等知識,如果覺得想學(xué)習(xí)的同學(xué) -------(關(guān)注并私信小編,可獲得java基礎(chǔ)視頻一套。24天的學(xué)習(xí)教程,回復(fù)“java學(xué)習(xí)”)一個可以與java初學(xué)者交流的機會。小編還收錄大約60Gjava相關(guān)23種技術(shù)教程哦!一起快樂學(xué)習(xí),多一門技術(shù),多一份價值