jsp九大內(nèi)置對象.ppt_第1頁
jsp九大內(nèi)置對象.ppt_第2頁
jsp九大內(nèi)置對象.ppt_第3頁
jsp九大內(nèi)置對象.ppt_第4頁
jsp九大內(nèi)置對象.ppt_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、JSP的九大內(nèi)置對象,什么是內(nèi)置對象,JSP為簡化頁面的開發(fā)提供了一些內(nèi)置對象。 這些內(nèi)置對象不需要JSP頁面的開發(fā)者實(shí)例化。他們由容器實(shí)例化和管理,在所有的JSP頁面中都能使用內(nèi)置對象。 JSP的內(nèi)置對象包括: out對象 request對象 response對象 session對象 page對象 pageContext對象 application對象 config對象 exception對象,out對象,out對象 用于輸出數(shù)據(jù),它是javax.servlet.jsp.JspWriter的一個(gè)實(shí)例。 out對象的范圍是page。 如果page指令選擇了autoFlush=“true”,那么

2、當(dāng)出現(xiàn)由于當(dāng)前的操作不清空緩存而造成緩沖區(qū)溢出的情況時(shí),這個(gè)類的所有I/O操作便會自動清空緩沖區(qū)的內(nèi)容。 如果autoFlush=false,那么當(dāng)操作造成了緩沖區(qū)溢出時(shí),這個(gè)類的所有的I/O操作都將拋出一個(gè)IOException異常。,out對象的主要方法,out.print(boolean)out.println(boolean)輸出Boolean類型數(shù)據(jù) out.print(char)out.println(char) 輸出char類型數(shù)據(jù) out.print(char)out.println(char)輸出char類型數(shù)據(jù) out.print(doubleout.println(dou

3、ble) 輸出double類型數(shù)據(jù) out.print(float)out.println(float) 輸出float類型數(shù)據(jù) out.print(int)out.println(int) 輸出int類型數(shù)據(jù) out.print(long)out.println(long) 輸出long類型數(shù)據(jù) out.print(Object)out.println(Object) 輸出Object類型數(shù)據(jù) out.print(String)out.println(String) 輸出String類型數(shù)據(jù) out.newLine() 輸出一個(gè)換行符 out.flush() 輸出緩沖區(qū)的數(shù)據(jù) out.clo

4、se() 關(guān)閉輸出流 out.clearBuffer() 清除緩沖區(qū)里的數(shù)據(jù),并把數(shù)據(jù)輸出到客戶端 out.cleat() 清除緩沖區(qū)里的數(shù)據(jù),但不會把數(shù)據(jù)輸出到客戶端 out.getBufferSize() 獲得緩沖區(qū)的大小 out.getRemaining() 獲得緩沖區(qū)中沒有被占用的空間大小 out.isAutoFlush() 返回布爾值。如果AutoFlush為真,則返回“ture”;反之則返回“false”,out對象的使用示例,out對象是JSP中使用最頻繁的對象之一,其中的print()和println()方法更是常見。 print()方法就是把Java對象的原始數(shù)據(jù)類型輸出到客

5、戶端的緩沖區(qū) println()方法除了把內(nèi)容輸出到客戶端的緩沖區(qū)外,還在后面添加一個(gè)空行。但是這個(gè)空行會被瀏覽器忽略,要想在頁面中實(shí)現(xiàn)換行,需要通過out.pringln(“”)來實(shí)現(xiàn)。,使用out對象的實(shí)例, ); out.println(); out.println(); out.println(test); out.println(); out.println(); out.println(); out.println(); out.println(out對象示例); out.println(); out.println(); out.println(); %,request對象,re

6、quest對象 是HTTPServletRequest的一個(gè)實(shí)例。 當(dāng)客戶端提交一個(gè)請求時(shí),JSP引擎會將客戶端的請求信息包裝在一個(gè)request對象中; 請求信息的內(nèi)容包括 請求的標(biāo)題頭(Header) 信息(如瀏覽器的版本信息,語言和編碼方式等) 請求的方式(如HTTP方法:GET,POST,PUT等) 請求的參數(shù)名稱,參數(shù)值 客戶端的主機(jī)名稱等 然后將request對象當(dāng)作jspService方法的HttpServletRequest參數(shù)值,所以我們可以通過這個(gè)對象來取得有關(guān)客戶端的請求信息。,request的常用方法,獲取請求參數(shù)的: getParameterValues() 返回作為

7、字符串列舉的指定參數(shù)的值 getParameterName() 返回本次請求的參數(shù)名字 getParameter() 返回包含指定參數(shù)的單獨(dú)值的字符串 獲取、設(shè)置容器內(nèi)容的: getAttribute(key) 返回請求容器中給出名稱的屬性值 setAttribute(key,value)設(shè)置請求容器給出名稱的屬性值 獲取客戶端信息的: getRemoteHost() 返回發(fā)送請求的客戶端完全限定的主機(jī)名 getRemoteAddr() 返回發(fā)送請求的接口程序的 IP 地址 getProtocol()返回請求的協(xié)議和版本號 getScheme() 返回發(fā)出請求的 URL 的機(jī)制,request

8、的常用方法,執(zhí)行頁面跳轉(zhuǎn)的: getRequestDispatcher(url).forward(request,response) 執(zhí)行轉(zhuǎn)發(fā)操作 獲取服務(wù)器信息的: getServerPort() 返回接收請求的服務(wù)器端的端口號 getServerName() 返回接收請求的服務(wù)器的主機(jī)名 getRealPath() 返回用替換規(guī)則從虛擬地址中獲得實(shí)際地址 請求編碼集 getCharacterEncoding() 返回為請求的輸入進(jìn)行編碼的字符集合 setCharacterEncoding() 設(shè)置為請求的輸入進(jìn)行編碼的字符集合,request練習(xí), 服務(wù)器的名稱為: 服務(wù)器的端口號為: 用

9、戶名為: 密碼為: ,request練習(xí),請編碼實(shí)現(xiàn)如下效果:,response對象,Reponse 被封裝成HttpServletResponse接口。 它封裝了JSP產(chǎn)生的響應(yīng),然后被發(fā)送到客戶端以響應(yīng)客戶的請求。 和request對象一樣,它由容器生成,作為jspService()方法的參數(shù)被傳入JSP。因?yàn)檩敵隽魇蔷彌_的,所以可以設(shè)置HTTP狀態(tài)碼和response頭。 response對象的主要方法: sendRedirect()把響應(yīng)發(fā)送到另一個(gè)位置進(jìn)行處理 sendError() 向客戶端發(fā)送錯(cuò)誤信息 addCookie() 添加一個(gè)Cookie對象,用來保存客戶端的用戶信息 g

10、etCharacterEncoding() 返回用于MIME編碼的字符集合 setCharacterEncoding()設(shè)置用于MIME編碼的字符集合,page 對象,page對象 是java.lang.Object類的一個(gè)實(shí)例。它指的是JSP實(shí)現(xiàn)類的實(shí)例,也就是說它是JSP本身,通過這個(gè)對象可以對它進(jìn)行訪問。 JSP實(shí)現(xiàn)了類對象的一個(gè)句柄,只有在JSP頁面的范圍內(nèi)才是合法的。,config對象,config對象 被封裝成javax.servlet.ServletConfig接口 它表示Servlet的配置,當(dāng)一個(gè)Servlet初始化時(shí),容器把某些信息通過此對象傳遞給初始化的Servlet。,

11、exception對象,exception對象 是java.lang.Throwable類的一個(gè)實(shí)例。 它指的是運(yùn)行時(shí)的異常,也就是被調(diào)用的錯(cuò)誤頁面的結(jié)果,只有在錯(cuò)誤頁面(在頁面指令中要有isErrorPage=ture的頁面)中才可以使用。,session對象,session對象 是HttpSession的一個(gè)實(shí)例. HttpSession由服務(wù)器的程序?qū)崿F(xiàn), 提供HTTP服務(wù)器和HTTP客戶端之間的會話。會話就是在給定時(shí)間段內(nèi)持續(xù)進(jìn)行多路連接和請求。 會話被用來在多頁面請求中保持狀態(tài)和用戶認(rèn)證。 session用來儲存訪問者的一些特定信息,服務(wù)器就是根據(jù)session來跟蹤這些信息的。 s

12、ession可以創(chuàng)建訪問者信息容器。 session跟蹤訪問者的訪問路徑,從中挖掘有用的信息。 session在JSP程序中是一個(gè)內(nèi)置的對象,每一個(gè)客戶端都有一個(gè)session對象用來存放這個(gè)客戶端相關(guān)的數(shù)據(jù)。,session對象的方法,setAttribute() 設(shè)置指定名稱為name的屬性值value,并將之儲存在session對象中 getAttribute() 獲取于指定名稱name相聯(lián)系的屬性值 getAttributeNames() 返回session對象中存儲的每一個(gè)屬性對象,其結(jié)果為一個(gè)枚舉類的實(shí)例 removeValue() 移去和會話應(yīng)用層數(shù)據(jù)中指定名稱相連的對象 isN

13、ew() 如果客戶端不接受使用session,那么每個(gè)請求都會產(chǎn)生一個(gè)session對象 invalidate() 使會話無效,并將其從上下文中移出 getSessionContext()返回會話相連的上下文 getLastAccessTime() 返回客戶端上一次發(fā)送攜帶會話賬號的時(shí)間 getId() 返回會話標(biāo)識符 getCreationTime() 返回會話創(chuàng)建的時(shí)間,application對象,application對象 用于在多個(gè)程序中保存信息。 可以實(shí)現(xiàn)所有用戶間共享信息的功能,并可以在Web應(yīng)用程序運(yùn)行期間持久地保持?jǐn)?shù)據(jù)。 與application相聯(lián)系的是ServletCont

14、ext類,通過調(diào)用getServletConfig().getContext()方法得到。 一旦創(chuàng)建application對象,該對象將一直保持下去,直到服務(wù)器關(guān)閉為止。 注意:每個(gè)用戶的application對象都是相同的,每一個(gè)用戶都共用同一個(gè)application對象。,pageContext對象,pageContext對象 被封裝成javax.servlet.jsp.pageContext接口,它為JSP頁面提供包裝頁面的上下文功能。 管理對屬于JSP中特殊可見部分已命名對象的訪問。它的創(chuàng)建和初始化都是由容器來完成的,JSP頁面中可以直接使用pageContext對象的句柄。 page

15、Context對象的getXXX()、setXXX()和findXXX()方法用來根據(jù)不同的對象范圍實(shí)現(xiàn)對這些對象的管理。 pageContext對象主要是管理對屬于JSP特殊可見部分中已經(jīng)命名對象的訪問。,pageContext對象常用方法,forward(String relativeUrlPath) 把頁面重定向到另外一個(gè)頁面或者Servlet組件上 getAttribute(String name,nt scope) scope參數(shù)是可選的。該方法用來檢索一個(gè)特定的已經(jīng)命名的對象的范圍,并且還可以通過調(diào)用getAttributeNamesScope()方法,檢索第某個(gè)特定范圍的每個(gè)屬性

16、String字符串名字的枚舉。 getException() 返回當(dāng)前的Exception對象。 getRequest() 返回當(dāng)前的request對象。 getResponse() 返回當(dāng)前的Response對象。 getServletConfig() 返回當(dāng)前頁面的servletConfig對象。 getservletContext() 返回servletContext對象。 getSession() 返回當(dāng)前頁面的Session對象。 findAttribute() 方法則是可以用來按照頁面、請求、會話以及應(yīng)用程序范圍的順序?qū)崿F(xiàn)對某個(gè)已命名屬性的搜索。 setAttribute() 用來設(shè)置默認(rèn)頁面范圍或特定范圍之中的已命名對象

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論