已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第五課 JSP語言基礎(chǔ)北京師范大學(xué)信息科學(xué)與技術(shù)學(xué)院 王俐之第5課 JSP語言基礎(chǔ) 5.1 JSP概述5.2 JSP頁面元素 5.3 JSP指令元素5.4 JSP動作元素5.5 JSP內(nèi)建對象25.1 JSP概述1、什么是JSP?JSP(Java Server Pages)是由SUN公司倡導(dǎo)的一種動態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。JSP由傳統(tǒng)的網(wǎng)頁HTML文件中插入Java程序片段(Scriptlet)和JSP標(biāo)記(Tag)構(gòu)成,而形成擴(kuò)展名為jsp的文件。JSP運(yùn)行在Web服務(wù)器上。JSP被Web服務(wù)器轉(zhuǎn)換成Servlet后運(yùn)行。5.1 JSP概述2、JSP技術(shù)原理(1)JSP文件第一次請求時, JSP引擎將該JSP文件轉(zhuǎn)換成一個Java源文件,若發(fā)現(xiàn)有任何錯誤將中斷轉(zhuǎn)換,并向客戶端輸出出錯信息。(2)若轉(zhuǎn)換成功,JSP引擎用javac命令將源文件編譯成響應(yīng)的class文件。然后創(chuàng)建一個該Servlet的實(shí)例,并執(zhí)行init()方法,系統(tǒng)會調(diào)用方法來處理客戶端的請求。(3)對每個請求,JSP會創(chuàng)建一個新的線程來處理請求。如果多個客戶端同時請求JSP時則會創(chuàng)建多個線程,提高系統(tǒng)并發(fā)及響應(yīng)時間。5.1 JSP概述2、JSP技術(shù)原理 Web服務(wù)器在遇到訪問JSP網(wǎng)頁的請求時,首先執(zhí)行其中的程序片段,然后將執(zhí)行結(jié)果以HTML格式返回給客戶端。程序片段可以實(shí)現(xiàn)操作數(shù)據(jù)庫、重新定向網(wǎng)頁等功能,實(shí)現(xiàn)動態(tài)網(wǎng)頁。5.1 JSP概述下面用一個最基本的JSP程序,來說明Tomcat加載JSP的運(yùn)行機(jī)制,程序在客戶端的頁面中打印輸出“你好!”這個字符串。 /page指令用來設(shè)置頁面屬性 /設(shè)置字符編碼格式 /HTML頁面的開始 JSP Page /頁面的名字 /正文的開始 /java腳本程序的結(jié)束 /HTML正文的結(jié)束 /頁面內(nèi)容結(jié)束5.1 JSP概述從上面的程序結(jié)構(gòu)可以看出一個基本的JSP由以下三部分組成:JSP標(biāo)簽;HTML標(biāo)簽;Java腳本程序。注意:JSP與HTML不同,HTML通過瀏覽器就可以直接運(yùn)行,而JSP需要通過Web容器的裝載才可以運(yùn)行。構(gòu)建開發(fā)環(huán)境1、JDK的安裝與配置新建系統(tǒng)變量:JAVA_HOME,變量值為JDK安裝目錄。PATH: % JAVA_HOME %bin;(JDK應(yīng)用程序路徑)CLASSPATH: ;% JAVA_HOME %libtools(此為Java虛擬機(jī)查找加載類的地址)檢驗(yàn)設(shè)置是否成功。構(gòu)建開發(fā)環(huán)境Tomcat服務(wù)器的安裝和運(yùn)行Tomcat是由Javasoft和Apache共同合作的產(chǎn)品,是一款很不錯的免費(fèi)開源的JSP服務(wù)器,具有Web服務(wù)器的基本功能。1、官網(wǎng)下載2、默認(rèn)安裝,更改默認(rèn)安裝路徑。3、簡單的設(shè)置端口號及對應(yīng)Java虛擬機(jī)。4、兩種方式啟動Tomcat。5、測試Tomcat是否正常運(yùn)行。http:/localhost:8080構(gòu)建開發(fā)環(huán)境MyEclipse工具的安裝和運(yùn)行下載安裝文件,直接雙擊安裝。更改安裝路徑到C盤根目錄。從菜單欄中選擇FileNewWeb Project新建一個Web Project項(xiàng)目exa。右鍵項(xiàng)目名稱,新建一個JSP程序exa1。先將項(xiàng)目發(fā)布到服務(wù)器,單擊工具欄上按鈕啟動服務(wù)器。最后打開瀏覽器,輸入地址http:/localhost:8080/exa/exa1.jsp一般注釋隱藏注釋聲明變量和方法表達(dá)式Java程序片 5.2 JSP頁面元素115.2 JSP頁面元素1、一般注釋在JSP文檔中嵌入HTML注釋的格式如下:!-注釋 -功能:產(chǎn)生一個注釋并通過JSP引擎將其發(fā)送到客戶端。JSP頁面的注釋和HTML的注釋不同點(diǎn)在于可以使用表達(dá)式,表達(dá)式內(nèi)容是動態(tài)的,頁面的每次讀取和刷新都有可能是不同的內(nèi)容。5.2 JSP頁面元素2、隱藏注釋如果想用戶無法看到JSP網(wǎng)頁中的注釋,可以采用如下格式:用隱藏注釋標(biāo)記的字符會在JSP編譯時被忽略掉,它不會在源文件中顯示,也不會在客戶的瀏覽器中顯示。5.2 JSP頁面元素3、聲明變量和方法只需在標(biāo)記之間放置Java的變量聲明語句或方法聲明語句即可,而且所聲明的變量在整個JSP頁面中有效。例如: 5.2 JSP頁面元素聲明方法注意:聲明必須以“;”結(jié)尾。 必須在使用變量或方法之前在JSP文件中聲明它們,一個聲明僅在一個頁面內(nèi)有效。5.2 JSP頁面元素4、表達(dá)式表達(dá)式可看作一種簡單的輸出形式,但表達(dá)式一定要有個可以輸出的值,它會以字符串的形式發(fā)送到客戶端顯示。其語法格式如下:注意:不能用“;”來作為表達(dá)式的結(jié)束符。構(gòu)成表達(dá)式的元素必須符合Java語言的語法規(guī)則。表達(dá)式可以嵌套,求解順序?yàn)閺淖蟮接摇?.2 JSP頁面元素5、Java程序片 Java程序片實(shí)際就是JSP腳本,即在標(biāo)記之間所插入的代碼。當(dāng)客戶端向服務(wù)器提交了包含JSP腳本的JSP頁面請求時,Web服務(wù)器將執(zhí)行腳本并將結(jié)果發(fā)送到客戶端瀏覽器中。例:exa2.jsp 計算50以內(nèi)偶數(shù)和的JSP腳本運(yùn)行結(jié)果如下: %int i,sum=0; for(i=2;i 從1到50的偶數(shù)之和是 : 5.3 JSP指令元素JSP指令不直接輸出代碼,而是向JSP容器發(fā)出一些指示,來控制JSP頁面的某些特性。應(yīng)用指令的格式如下:%指令名 屬性1=“屬性值” 屬性2=“屬性值”.%JSP共有三個指令:page指令:用于定義JSP文件中的全局屬性。include指令:用于在JSP頁面中包含另一個文件的內(nèi)容。taglib指令:此指令能夠讓用戶自定義新的標(biāo)簽。5.3 JSP指令元素page指令:功能:用于設(shè)定整個JSP網(wǎng)頁的屬性和相關(guān)功能。 格式:也可以用如下格式:page指令 language=“java” 定義JSP網(wǎng)頁所使用的腳本語言種類,默認(rèn)值是Java。 import=“” 指定JSP網(wǎng)頁中需要導(dǎo)入的Java包列表,引入類文件時一定要寫全名。 extends=“ className ” 說明JSP編譯時需要加入的Java類的名字contentType=mimeType”|text/html ; charset=ISO-8859-1 用來指定JSP頁面的MIME類型,以及此JSP頁面采用的字符編碼格式。這個屬性會最先傳遞給客戶端。MIME有如下幾種類型:text/plain 、text/HTML、text/xml、image/gif、image/jpeg.默認(rèn)類型為text/HTML,默認(rèn)字符編碼為ISO-8859-1.page指令 session=“true|false” 設(shè)置該頁面是否需要Session會話。 buffer=“none| sizeinkb ” 設(shè)置網(wǎng)頁輸出時緩沖區(qū)的大小。 autoFlush=“true|false” 指定緩沖區(qū)滿時是否自動輸出緩沖區(qū)的數(shù)據(jù)。 isThreadSafe=“true|false” 設(shè)置JSP文件是否能多線程訪問。 info=“text” 指明網(wǎng)頁的說明信息,可使用Servlet類的getServletInfo方法獲取信息。 errorPage=“relativeURL” 設(shè)置一個處理異常錯誤的JSP的URL. isErrorPage=“true|false” 用來指示當(dāng)前頁面是否可以作為其他頁面的錯誤處理,和errorPage配合使用。21include指令功能:通知JSP容器將指定位置上的資源內(nèi)容包含到當(dāng)前JSP頁面中,被包含的文件內(nèi)容可以被JSP容器解析,這種解析發(fā)生在編譯期間,一經(jīng)編譯,內(nèi)容不可改變,如果要改變被包含的文件內(nèi)容,必須重新編譯JSP文件。加載其他文件為己所用。格式: 這里所指定的URL是和發(fā)出引用指令的JSP頁面相對的URL,也就是相對路徑。22include指令例子:test1.jsp%page import=“java.util.*”% 輸出時間 include指令Loadtest1.jsp加載test1頁面 taglib指令功能:允許頁面使用用戶自定義標(biāo)簽。用戶首先要開發(fā)自己的標(biāo)簽庫(taglib) ,為標(biāo)簽庫編寫配置文件(以.tld為后綴的文件),然后在JSP頁面中使用該自定義標(biāo)簽。 格式:uri:統(tǒng)一資源標(biāo)記符,根據(jù)標(biāo)簽的前綴對自定義標(biāo)簽進(jìn)行唯一的命名。prefix :在自定義標(biāo)簽之前的前綴。255.4 JSP動作元素1、 2、 3、 4、 5、6、 7、和 261、功能:用于在當(dāng)前JSP頁面中包含一個靜態(tài)的或者動態(tài)的資源,運(yùn)行效率略低于指令,但是可以動態(tài)增加內(nèi)容。格式:jsp:include page=URL | flush=true / 或jsp:include page=URL | flush=true 272、 功能:用來以“名值(name-value)”對的形式為其他動作提供附加信息,它一般與、動作元素配合使用,用于向這些動作元素傳遞參數(shù)。 格式: 283、功能:用來將客戶端所發(fā)送的請求,從一個JSP 頁面轉(zhuǎn)發(fā)到另一個JSP頁面、Servlet或者靜態(tài)資源文件,請求被轉(zhuǎn)向到的資源必須位于發(fā)送請求的JSP頁面相同的上下文環(huán)境之中。 格式:jsp:forward page=URL | /或jsp:forward page=URL | 295.5 JSP內(nèi)建對象JSP里有以下內(nèi)建對象:Out :向客戶端輸出數(shù)據(jù)。request :來自客戶端的請求經(jīng)Servlet容器處理后,由request對象進(jìn)行封裝,可以通過request對象取得頭部,客戶端地址,協(xié)議等信息。Response:封裝JSP產(chǎn)生的響應(yīng)信息,然后被發(fā)送到客戶端以響應(yīng)客戶的請求。Session:保存每個用戶信息,以便跟蹤每個用戶的操作狀態(tài)。pageContext :為JSP頁面封裝頁面上下文信息,管理屬于JSP的已命名對象的訪問。5.5 JSP內(nèi)建對象Application:為多個應(yīng)用程序保存信息,當(dāng)服務(wù)器啟動時自動創(chuàng)建該對象,所有用戶共用該application對象。Config:它表示Servlet的配置,當(dāng)一個Sverlet初始化時,容器把一些信息通過此對象傳遞給這個Sverlet。Page: JSP頁面本身,在JSP頁面內(nèi)有效。exception :運(yùn)行時異常,只有在錯誤的頁面才可以使用。 1 、out對象out對象是一個輸出流,可以向客戶端輸出數(shù)據(jù)。out.print(類型名):實(shí)現(xiàn)向客戶端輸出各種類型的數(shù)據(jù)。out.println(類型名):換行輸出各種數(shù)據(jù)。out.flush():實(shí)現(xiàn)向客戶端輸出緩沖區(qū)的數(shù)據(jù)。out.close():用來關(guān)閉輸出流。out.clearBuffer():實(shí)現(xiàn)清除緩沖區(qū)里的數(shù)據(jù),并把數(shù)據(jù)寫到客戶端。out.clear():清除緩沖區(qū)里的數(shù)據(jù),但不把數(shù)據(jù)寫到客戶端。out.getBufferSize():用來獲得緩沖區(qū)的大小。1 、out對象現(xiàn)在是北京時間:時分秒2、 request對象當(dāng)客戶端請求一個JSP網(wǎng)頁時,客戶端的請求信息將被JSP引擎封裝在這個request對象中。那么該對象調(diào)用相應(yīng)的方法可以獲取用戶提交的信息。getParameter(String name):獲得客戶端傳送給服務(wù)器端的參數(shù)值,該參數(shù)由name設(shè)定。getParameterValues(String name):獲得參數(shù)name所包含的值(一個或多個)。getCookies():返回客戶端的cookie對象,結(jié)果是一個cookie數(shù)組。getHeader(String name):獲得http協(xié)議定義的傳送文件頭信息。getAttribute(String name):返回name指定的屬性值。2、 request對象getMethod():獲得客戶端向服務(wù)器端傳送數(shù)據(jù)的方法(如GET、POST和PUT等類型)。getProtocol( ): 返回數(shù)據(jù)傳輸協(xié)議的名稱(如:HTTP/1.1、HTTP/1.0 )。getQueryString( ) :返回請求的參數(shù)字符串(HTTP的方法必須為GET)。getSession( Boolean create) :返回與請求相關(guān)地session。create是可選參數(shù),當(dāng)有參數(shù)且參數(shù)地值為true時,如果客戶端還沒有創(chuàng)建session,則創(chuàng)建新的session。getRemoteAddr( ) :返回用戶的主機(jī)IP 地址2、 request對象例子:exa3.html 獲取用戶姓名的頁面。通過表單向exa4.jsp提交信息, exa4.jsp通過request對象獲取用戶提交頁面的信息。3、response對象response對象對客戶的請求作出動態(tài)響應(yīng),并向客戶端發(fā)送數(shù)據(jù)。主要用于將服務(wù)器端的狀態(tài)碼等信息返回給客戶端,也可以將響應(yīng)轉(zhuǎn)向其他的頁面進(jìn)行響應(yīng)和處理。setContentType(String s):可以改變contentType的屬性值。sendRedirect(URL):實(shí)現(xiàn)客戶重定向,根據(jù)不同事件將客戶重新引導(dǎo)至另一個頁面。addCookie():添加一個Cookie對象,以保存客戶端的用戶信息。addHeader():添加HTTP頭文件信息。containsHeader(String name):判定指定名字的頭文件是否存在。setHeader(String name,String value):設(shè)置指定名字的HTTP頭文件的值。3、response對象例子:response.jsp 當(dāng)前時間是: 4、 Session對象session是“會話”的意思,指的是一個
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度魯0832執(zhí)恢255號智能家居控制系統(tǒng)集成合同4篇
- 2025年度住宅小區(qū)落水管更換與保養(yǎng)合同4篇
- 2025年度高校與中學(xué)藝術(shù)教育合作合同2篇
- 二零二五年度茶葉包裝設(shè)計與定制合同4篇
- 2025版房屋買賣稅費(fèi)代繳服務(wù)合同封面
- 2025年度鋁單板幕墻加工及安裝一體化服務(wù)合同范本4篇
- 二零二五版鋼琴教育機(jī)構(gòu)師資培訓(xùn)與合作合同3篇
- 二零二五版安防產(chǎn)品定制研發(fā)與銷售合同2篇
- 二零二五年度礦山開采權(quán)承包合同2篇
- 2025年度二零二五年度綠色建筑節(jié)能改造項(xiàng)目資金貸款合同2篇
- MT/T 199-1996煤礦用液壓鉆車通用技術(shù)條件
- GB/T 6144-1985合成切削液
- GB/T 10357.1-2013家具力學(xué)性能試驗(yàn)第1部分:桌類強(qiáng)度和耐久性
- 第三方在線糾紛解決機(jī)制(ODR)述評,國際商法論文
- 公寓de全人物攻略本為個人愛好而制成如需轉(zhuǎn)載注明信息
- 第5章-群體-團(tuán)隊溝通-管理溝通
- 腎臟病飲食依從行為量表(RABQ)附有答案
- 深基坑-安全教育課件
- 園林施工管理大型園林集團(tuán)南部區(qū)域養(yǎng)護(hù)標(biāo)準(zhǔn)圖例
- 排水許可申請表
- 低血糖的觀察和護(hù)理課件
評論
0/150
提交評論