版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
JavaWeb程序設(shè)計(jì)
——JSP編程(1)2主要內(nèi)容JSP簡要概述JSP基本語法3JSP介紹:
JSP(JavaServerPage)是由SunMicrosystems公司倡導(dǎo)、其他一些公司參與一起建立的一種動態(tài)網(wǎng)頁技術(shù)。
JSP技術(shù)是用Java語言作為腳本語言(服務(wù)器),在傳統(tǒng)的HTML網(wǎng)頁文件中,加入Java程序片斷和JSP標(biāo)記,而構(gòu)成了JSP頁面。
4JSP介紹:Web服務(wù)器在得到訪問JSP網(wǎng)頁的請求時(shí),首先執(zhí)行其中的程序片斷,然后將執(zhí)行結(jié)果以HTML頁面的方式返回給客戶端。
實(shí)現(xiàn)動態(tài)部分的JSP腳本代碼和普通程序設(shè)計(jì)的邏輯是一樣的,但是它們會以標(biāo)簽的方式被嵌入在網(wǎng)頁中,形式和HTML文檔很類似。5什么是JSP?JSP是基于Java的技術(shù),用于創(chuàng)建支持跨平臺及Web服務(wù)器的動態(tài)網(wǎng)頁。JSP頁面是普通的HTML語句和特殊的基于Java語言的嵌入標(biāo)記所組成,因此,它具有Web和Java功能的雙重特性。
JSP1.0規(guī)范是在1999年推出,此后經(jīng)歷了好幾個版本的發(fā)展,到2.0版本(2003年),JSP2.3規(guī)范在2013年發(fā)布。6
下面分析一下JSP頁面及其運(yùn)行過程:<%@pagelanguage="java"%><html><head><title>HelloWorld</title></head><body><%out.print("HelloWorld!!");%></body></html>Page指令,說明使用的語言為JavaJSP代碼7運(yùn)行結(jié)果:8
在JSP頁面中,采用標(biāo)記<%...%>將JSP代碼與HTML語句相分離,該標(biāo)記所包含的內(nèi)容為網(wǎng)頁中的動態(tài)部分;可以看出,JSP是基于Java語言和HTML元素的一種動態(tài)網(wǎng)頁技術(shù),是一種簡便、有效的動態(tài)網(wǎng)頁編寫方式;
JSP的執(zhí)行效率比較高,它是運(yùn)行在Java虛擬機(jī)之上的,因此,可以在任何支持Java的平臺和操作系統(tǒng)上運(yùn)行。9JSP的運(yùn)行過程:JSP文件的執(zhí)行方式是“編譯式”,而不是“解釋式”,即在執(zhí)行JSP頁面時(shí),是把該文件先被編譯為Servlet(Java中的一個類)形式的Java類型的字節(jié)碼文件,然后通過Java虛擬機(jī)來運(yùn)行;每個基于JSP的頁面都被服務(wù)器事先解析成一個Servlet對象,服務(wù)器通過網(wǎng)絡(luò)接收來自客戶端HTTP的請求后,Servlet將開啟一個“線程”來提供服務(wù)。10
通過前面對JSP程序的解析,JSP頁面的執(zhí)行可分成兩個階段,一個是轉(zhuǎn)換階段,一個是請求階段。(1)轉(zhuǎn)換階段:JSP頁面轉(zhuǎn)換成Servlet類對象。在該階段JSP文件將被轉(zhuǎn)譯到Java類文件,同時(shí)由服務(wù)器自動將Java類編譯為Class文件,并載入內(nèi)存。(2)請求階段:Servlet執(zhí)行,將響應(yīng)結(jié)果發(fā)送至客戶端。在該階段Class文件將被執(zhí)行并生成HTML代碼,并將代碼發(fā)送給客戶端瀏覽器。 下面為JSP的執(zhí)行流程示意圖:1112
因此,如果一個JSP頁面是第一次執(zhí)行,那么會經(jīng)歷兩個階段;而如果不是第一次執(zhí)行,那么將只會執(zhí)行第二階段。這也是為什么第二次執(zhí)行JSP頁面時(shí)明顯比第一次要快。如果修改了JSP頁面,服務(wù)器發(fā)現(xiàn)該JSP頁面被修改,并重新執(zhí)行轉(zhuǎn)換階段和請求階段。13主要內(nèi)容JSP簡要概述JSP基本語法14JSP語法分為腳本元素(ScriptingElements)、指令元素(DirectiveElements)和動作元素(ActionElements)。
JSP頁面是由JSP元素(Elements)和模板數(shù)據(jù)(TemplateData)組成。其中,JSP元素是由JSP應(yīng)用服務(wù)器(JSP引擎)直接進(jìn)行處理,而模板數(shù)據(jù)是直接發(fā)送給客戶端,為靜態(tài)的HTML語句內(nèi)容。15分析JSP文件的組成元素:<%@pagelanguage="java"contentType="text/html;charset=ISO-8859-1"pageEncoding="ISO-8859-1"%>//指令<html><head><title>HelloWorld</title></head><body><%!intnumber=2;%>//聲明一個變量(全局)16<%!publicintcount(){returnnumber++;}%>//聲明一個方法<%out.print(“HelloWorld!!”);%>//輸出<br><%="Youarethe"+count()+"people!!"%><br></body></html>17運(yùn)行結(jié)果:18運(yùn)行結(jié)果(IE瀏覽器):19該JSP頁面所包含的元素有:(1)page指令<%@pagelanguage="java"contentType="text/html;charset=ISO-8859-1"pageEncoding="ISO-8859-1"%>
這行代碼為page指令,是JSP指令元素的一種。
20
(2)聲明
<%!intnumber=2;%><%!publicintcount(){returnnumber++;}%>
聲明是腳本元素的一部分,這里聲明了一個變量和方法。21
(3)輸出
<%out.print(“HelloWorld!!”);%>
out是JSP中的默認(rèn)對象,主要用來輸出數(shù)據(jù)到客戶端網(wǎng)頁中,print()則是out對象提供將字符串?dāng)?shù)據(jù)輸出的方法。
<%="Youarethe"+count()+"people!!"%>
這行代碼使用了表達(dá)式,且調(diào)用了count()方法。22(1)隱藏注釋為了使程序具有較好的可讀性,用戶可以在JSP代碼中加入隱藏注釋。其語法格式為:
<%--comment--%>
隱藏注釋的字符在JSP編譯時(shí)會被忽略,其不會發(fā)送給客戶端的瀏覽器。23(2)HTML注釋
HTML注釋也稱為顯示注釋,即用戶能在客戶端看到注釋內(nèi)容。其語法格式為:
<!–comment[<%=表達(dá)式%>]-->
可以通過瀏覽器中的查看源文件命令來看其代碼。24例:兩種注釋方式的比較
<html><head><title>comparison</title></head><body><%--Hiddencomment--%><!--Thispagewasloadedon<%=(newjava.util.Date()).toLocaleString()%>-->Thetimeis:<%=(newjava.util.Date()).toLocaleString()%></body></html>隱藏注釋HTML注釋25運(yùn)行結(jié)果:26查看源文件:<!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""/TR/html4/loose.dtd"><html><head><title>comparison</title></head><body>//HTML注釋:<!--Thispagewasloadedon2012-3-169:40:15-->Thetimeis:2012-3-169:40:15</body></html>27(3)JSP腳本元素
JSP腳本元素包括三種形式:腳本段scriptlet聲明declaration表達(dá)式expression28腳本段scriptlet
形如:<%statements%>,將代碼包圍在JSP標(biāo)簽中。
它在請求時(shí),將執(zhí)行若干個Java語句。這些語句會被轉(zhuǎn)換到_jspService()方法中,成為方法體的一部分。29表達(dá)式expression
格式如:<%=expression%>。它將計(jì)算表達(dá)式的值,并將結(jié)果作為文本插入到HTML輸出中。聲明declaration
如<%!fielddefinition%>和<%!methoddefinition%>。
該變量或方法在JSP頁面被編譯成Java類時(shí),成為該Java類的成員變量或成員方法。30JSP中的變量可以分為局部變量和全局變量,在JSP中聲明變量時(shí),要注意變量的定義域:1)在程序片斷中,即在<%%>中聲明的變量是局部變量,它們對外部的函數(shù)是不可見的;2)在<%!%>中聲明的變量是全局變量,這種變量在整個JSP頁面內(nèi)都有效。因?yàn)?,在將JSP頁面編譯成Java文件時(shí),是將這些變量作為類的成員變量;3)在<%!%>中聲明的方法,該方法在整個JSP頁面中有效,但在該方法中定義的變量只在該方法中有效。31例:局部變量與全局變量
<%@pagelanguage="java"contentType="text/html;charset=ISO-8859-1"pageEncoding="ISO-8859-1"%><!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""/TR/html4/loose.dtd"><%!intNum=0;%><%intcount=0;%>全局變量局部變量32<html><head><title>Welcome</title></head><body><h1><%="Welcome!"%></h1><br><%Num++;count++;%><%="Num="+Num%><br><%="count="+count%></body></html>輸出33運(yùn)行結(jié)果(第一次運(yùn)行):34運(yùn)行結(jié)果(第二次運(yùn)行):35例:方法的聲明<html><body><p>Inputradius:</p><form
action="Method.jsp"
method="get"name="form"><inputtype="text"name="radius"><inputtype="submit"name="submit"value="Calculate"></form><%!doublearea(doubler){returnMath.PI*r*r;}%>Form表單聲明方法36<%Str
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版創(chuàng)業(yè)團(tuán)隊(duì)股權(quán)分配與合作協(xié)議書3篇
- 二零二五年車用起重機(jī)租賃及多語言操作手冊合同3篇
- 二零二五年度豬肉出口貿(mào)易合同4篇
- 2025年度網(wǎng)絡(luò)安全服務(wù)采購合同4篇
- 2025版跨境電商物流配送合同全球速遞4篇
- 2025年洗浴中心承包合同范本正規(guī)范全面解析3篇
- 廣州國際創(chuàng)新城金光東隧道工程EPC設(shè)計(jì)施工總承包-20211028
- 二零二五年度商業(yè)地產(chǎn)使用權(quán)轉(zhuǎn)讓合同樣本3篇
- 2025年度私人教練勞動合同范本(含客戶滿意度調(diào)查)3篇
- 2025年度苗木種植與水資源保護(hù)合作協(xié)議4篇
- 人教版小學(xué)數(shù)學(xué)(2024)一年級下冊第一單元 認(rèn)識平面圖形綜合素養(yǎng)測評 B卷(含答案)
- 企業(yè)年會攝影服務(wù)合同
- 電商運(yùn)營管理制度
- 二零二五年度一手房購房協(xié)議書(共有產(chǎn)權(quán)房購房協(xié)議)3篇
- 2025年上半年上半年重慶三峽融資擔(dān)保集團(tuán)股份限公司招聘6人易考易錯模擬試題(共500題)試卷后附參考答案
- 城市公共交通運(yùn)營協(xié)議
- 內(nèi)燃副司機(jī)晉升司機(jī)理論知識考試題及答案
- 2024北京東城初二(上)期末語文試卷及答案
- 2024設(shè)計(jì)院與職工勞動合同書樣本
- 2024年貴州公務(wù)員考試申論試題(B卷)
- 電工高級工練習(xí)題庫(附參考答案)
評論
0/150
提交評論