窗口與網(wǎng)絡編程第5課JSP語言基礎oommtt.ppt.Convertor.doc_第1頁
窗口與網(wǎng)絡編程第5課JSP語言基礎oommtt.ppt.Convertor.doc_第2頁
窗口與網(wǎng)絡編程第5課JSP語言基礎oommtt.ppt.Convertor.doc_第3頁
窗口與網(wǎng)絡編程第5課JSP語言基礎oommtt.ppt.Convertor.doc_第4頁
窗口與網(wǎng)絡編程第5課JSP語言基礎oommtt.ppt.Convertor.doc_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第五課 JSP語言基礎北京師范大學信息科學與技術學院 王俐之第5課 JSP語言基礎 5.1 JSP概述5.2 JSP頁面元素 5.3 JSP指令元素5.4 JSP動作元素5.5 JSP內建對象25.1 JSP概述1、什么是JSP?JSP(Java Server Pages)是由SUN公司倡導的一種動態(tài)網(wǎng)頁技術標準。JSP由傳統(tǒng)的網(wǎng)頁HTML文件中插入Java程序片段(Scriptlet)和JSP標記(Tag)構成,而形成擴展名為jsp的文件。JSP運行在Web服務器上。JSP被Web服務器轉換成Servlet后運行。5.1 JSP概述2、JSP技術原理(1)JSP文件第一次請求時, JSP引擎將該JSP文件轉換成一個Java源文件,若發(fā)現(xiàn)有任何錯誤將中斷轉換,并向客戶端輸出出錯信息。(2)若轉換成功,JSP引擎用javac命令將源文件編譯成響應的class文件。然后創(chuàng)建一個該Servlet的實例,并執(zhí)行init()方法,系統(tǒng)會調用方法來處理客戶端的請求。(3)對每個請求,JSP會創(chuàng)建一個新的線程來處理請求。如果多個客戶端同時請求JSP時則會創(chuàng)建多個線程,提高系統(tǒng)并發(fā)及響應時間。5.1 JSP概述2、JSP技術原理 Web服務器在遇到訪問JSP網(wǎng)頁的請求時,首先執(zhí)行其中的程序片段,然后將執(zhí)行結果以HTML格式返回給客戶端。程序片段可以實現(xiàn)操作數(shù)據(jù)庫、重新定向網(wǎng)頁等功能,實現(xiàn)動態(tài)網(wǎng)頁。5.1 JSP概述下面用一個最基本的JSP程序,來說明Tomcat加載JSP的運行機制,程序在客戶端的頁面中打印輸出“你好!”這個字符串。 /page指令用來設置頁面屬性 /設置字符編碼格式 /HTML頁面的開始 JSP Page /頁面的名字 /正文的開始 /java腳本程序的結束 /HTML正文的結束 /頁面內容結束5.1 JSP概述從上面的程序結構可以看出一個基本的JSP由以下三部分組成:JSP標簽;HTML標簽;Java腳本程序。注意:JSP與HTML不同,HTML通過瀏覽器就可以直接運行,而JSP需要通過Web容器的裝載才可以運行。構建開發(fā)環(huán)境1、JDK的安裝與配置新建系統(tǒng)變量:JAVA_HOME,變量值為JDK安裝目錄。PATH: % JAVA_HOME %bin;(JDK應用程序路徑)CLASSPATH: ;% JAVA_HOME %libtools(此為Java虛擬機查找加載類的地址)檢驗設置是否成功。構建開發(fā)環(huán)境Tomcat服務器的安裝和運行Tomcat是由Javasoft和Apache共同合作的產(chǎn)品,是一款很不錯的免費開源的JSP服務器,具有Web服務器的基本功能。1、官網(wǎng)下載2、默認安裝,更改默認安裝路徑。3、簡單的設置端口號及對應Java虛擬機。4、兩種方式啟動Tomcat。5、測試Tomcat是否正常運行。http:/localhost:8080構建開發(fā)環(huán)境MyEclipse工具的安裝和運行下載安裝文件,直接雙擊安裝。更改安裝路徑到C盤根目錄。從菜單欄中選擇FileNewWeb Project新建一個Web Project項目exa。右鍵項目名稱,新建一個JSP程序exa1。先將項目發(fā)布到服務器,單擊工具欄上按鈕啟動服務器。最后打開瀏覽器,輸入地址http:/localhost:8080/exa/exa1.jsp一般注釋隱藏注釋聲明變量和方法表達式Java程序片 5.2 JSP頁面元素115.2 JSP頁面元素1、一般注釋在JSP文檔中嵌入HTML注釋的格式如下:!-注釋 -功能:產(chǎn)生一個注釋并通過JSP引擎將其發(fā)送到客戶端。JSP頁面的注釋和HTML的注釋不同點在于可以使用表達式,表達式內容是動態(tài)的,頁面的每次讀取和刷新都有可能是不同的內容。5.2 JSP頁面元素2、隱藏注釋如果想用戶無法看到JSP網(wǎng)頁中的注釋,可以采用如下格式:用隱藏注釋標記的字符會在JSP編譯時被忽略掉,它不會在源文件中顯示,也不會在客戶的瀏覽器中顯示。5.2 JSP頁面元素3、聲明變量和方法只需在標記之間放置Java的變量聲明語句或方法聲明語句即可,而且所聲明的變量在整個JSP頁面中有效。例如: 5.2 JSP頁面元素聲明方法注意:聲明必須以“;”結尾。 必須在使用變量或方法之前在JSP文件中聲明它們,一個聲明僅在一個頁面內有效。5.2 JSP頁面元素4、表達式表達式可看作一種簡單的輸出形式,但表達式一定要有個可以輸出的值,它會以字符串的形式發(fā)送到客戶端顯示。其語法格式如下:注意:不能用“;”來作為表達式的結束符。構成表達式的元素必須符合Java語言的語法規(guī)則。表達式可以嵌套,求解順序為從左到右。5.2 JSP頁面元素5、Java程序片 Java程序片實際就是JSP腳本,即在標記之間所插入的代碼。當客戶端向服務器提交了包含JSP腳本的JSP頁面請求時,Web服務器將執(zhí)行腳本并將結果發(fā)送到客戶端瀏覽器中。例:exa2.jsp 計算50以內偶數(shù)和的JSP腳本運行結果如下: %int i,sum=0; for(i=2;i 從1到50的偶數(shù)之和是 : 5.3 JSP指令元素JSP指令不直接輸出代碼,而是向JSP容器發(fā)出一些指示,來控制JSP頁面的某些特性。應用指令的格式如下:%指令名 屬性1=“屬性值” 屬性2=“屬性值”.%JSP共有三個指令:page指令:用于定義JSP文件中的全局屬性。include指令:用于在JSP頁面中包含另一個文件的內容。taglib指令:此指令能夠讓用戶自定義新的標簽。5.3 JSP指令元素page指令:功能:用于設定整個JSP網(wǎng)頁的屬性和相關功能。 格式:也可以用如下格式:page指令 language=“java” 定義JSP網(wǎng)頁所使用的腳本語言種類,默認值是Java。 import=“” 指定JSP網(wǎng)頁中需要導入的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.默認類型為text/HTML,默認字符編碼為ISO-8859-1.page指令 session=“true|false” 設置該頁面是否需要Session會話。 buffer=“none| sizeinkb ” 設置網(wǎng)頁輸出時緩沖區(qū)的大小。 autoFlush=“true|false” 指定緩沖區(qū)滿時是否自動輸出緩沖區(qū)的數(shù)據(jù)。 isThreadSafe=“true|false” 設置JSP文件是否能多線程訪問。 info=“text” 指明網(wǎng)頁的說明信息,可使用Servlet類的getServletInfo方法獲取信息。 errorPage=“relativeURL” 設置一個處理異常錯誤的JSP的URL. isErrorPage=“true|false” 用來指示當前頁面是否可以作為其他頁面的錯誤處理,和errorPage配合使用。21include指令功能:通知JSP容器將指定位置上的資源內容包含到當前JSP頁面中,被包含的文件內容可以被JSP容器解析,這種解析發(fā)生在編譯期間,一經(jīng)編譯,內容不可改變,如果要改變被包含的文件內容,必須重新編譯JSP文件。加載其他文件為己所用。格式: 這里所指定的URL是和發(fā)出引用指令的JSP頁面相對的URL,也就是相對路徑。22include指令例子:test1.jsp%page import=“java.util.*”% 輸出時間 include指令Loadtest1.jsp加載test1頁面 taglib指令功能:允許頁面使用用戶自定義標簽。用戶首先要開發(fā)自己的標簽庫(taglib) ,為標簽庫編寫配置文件(以.tld為后綴的文件),然后在JSP頁面中使用該自定義標簽。 格式:uri:統(tǒng)一資源標記符,根據(jù)標簽的前綴對自定義標簽進行唯一的命名。prefix :在自定義標簽之前的前綴。255.4 JSP動作元素1、 2、 3、 4、 5、6、 7、和 261、功能:用于在當前JSP頁面中包含一個靜態(tài)的或者動態(tài)的資源,運行效率略低于指令,但是可以動態(tài)增加內容。格式:jsp:include page=URL | flush=true / 或jsp:include page=URL | flush=true 272、 功能:用來以“名值(name-value)”對的形式為其他動作提供附加信息,它一般與、動作元素配合使用,用于向這些動作元素傳遞參數(shù)。 格式: 283、功能:用來將客戶端所發(fā)送的請求,從一個JSP 頁面轉發(fā)到另一個JSP頁面、Servlet或者靜態(tài)資源文件,請求被轉向到的資源必須位于發(fā)送請求的JSP頁面相同的上下文環(huán)境之中。 格式:jsp:forward page=URL | /或jsp:forward page=URL | 295.5 JSP內建對象JSP里有以下內建對象:Out :向客戶端輸出數(shù)據(jù)。request :來自客戶端的請求經(jīng)Servlet容器處理后,由request對象進行封裝,可以通過request對象取得頭部,客戶端地址,協(xié)議等信息。Response:封裝JSP產(chǎn)生的響應信息,然后被發(fā)送到客戶端以響應客戶的請求。Session:保存每個用戶信息,以便跟蹤每個用戶的操作狀態(tài)。pageContext :為JSP頁面封裝頁面上下文信息,管理屬于JSP的已命名對象的訪問。5.5 JSP內建對象Application:為多個應用程序保存信息,當服務器啟動時自動創(chuàng)建該對象,所有用戶共用該application對象。Config:它表示Servlet的配置,當一個Sverlet初始化時,容器把一些信息通過此對象傳遞給這個Sverlet。Page: JSP頁面本身,在JSP頁面內有效。exception :運行時異常,只有在錯誤的頁面才可以使用。 1 、out對象out對象是一個輸出流,可以向客戶端輸出數(shù)據(jù)。out.print(類型名):實現(xiàn)向客戶端輸出各種類型的數(shù)據(jù)。out.println(類型名):換行輸出各種數(shù)據(jù)。out.flush():實現(xiàn)向客戶端輸出緩沖區(qū)的數(shù)據(jù)。out.close():用來關閉輸出流。out.clearBuffer():實現(xiàn)清除緩沖區(qū)里的數(shù)據(jù),并把數(shù)據(jù)寫到客戶端。out.clear():清除緩沖區(qū)里的數(shù)據(jù),但不把數(shù)據(jù)寫到客戶端。out.getBufferSize():用來獲得緩沖區(qū)的大小。1 、out對象現(xiàn)在是北京時間:時分秒2、 request對象當客戶端請求一個JSP網(wǎng)頁時,客戶端的請求信息將被JSP引擎封裝在這個request對象中。那么該對象調用相應的方法可以獲取用戶提交的信息。getParameter(String name):獲得客戶端傳送給服務器端的參數(shù)值,該參數(shù)由name設定。getParameterValues(String name):獲得參數(shù)name所包含的值(一個或多個)。getCookies():返回客戶端的cookie對象,結果是一個cookie數(shù)組。getHeader(String name):獲得http協(xié)議定義的傳送文件頭信息。getAttribute(String name):返回name指定的屬性值。2、 request對象getMethod():獲得客戶端向服務器端傳送數(shù)據(jù)的方法(如GET、POST和PUT等類型)。getProtocol( ): 返回數(shù)據(jù)傳輸協(xié)議的名稱(如:HTTP/1.1、HTTP/1.0 )。getQueryString( ) :返回請求的參數(shù)字符串(HTTP的方法必須為GET)。getSession( Boolean create) :返回與請求相關地session。create是可選參數(shù),當有參數(shù)且參數(shù)地值為true時,如果客戶端還沒有創(chuàng)建session,則創(chuàng)建新的session。getRemoteAddr( ) :返回用戶的主機IP 地址2、 request對象例子:exa3.html 獲取用戶姓名的頁面。通過表單向exa4.jsp提交信息, exa4.jsp通過request對象獲取用戶提交頁面的信息。3、response對象response對象對客戶的請求作出動態(tài)響應,并向客戶端發(fā)送數(shù)據(jù)。主要用于將服務器端的狀態(tài)碼等信息返回給客戶端,也可以將響應轉向其他的頁面進行響應和處理。setContentType(String s):可以改變contentType的屬性值。sendRedirect(URL):實現(xiàn)客戶重定向,根據(jù)不同事件將客戶重新引導至另一個頁面。addCookie():添加一個Cookie對象,以保存客戶端的用戶信息。addHeader():添加HTTP頭文件信息。containsHeader(String name):判定指定名字的頭文件是否存在。setHeader(String name,String value):設置指定名字的HTTP頭文件的值。3、response對象例子:response.jsp 當前時間是: 4、 Session對象session是“會話”的意思,指的是一個

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論