




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第1頁第5章JSP內置對象
本章概述本章的學習目標主要內容第2頁本章概述JSP內置對象,也叫隱含對象,是指在JSP頁面系統中已經默認內置的Java對象,這些對象不需要開發人員顯示聲明即可使用,即所有的JSP代碼都可以直接訪問JSP的內置對象。本章將對JSP提供的9個內置對象進行詳細介紹。第3頁本章的學習目標獲取訪問請求參數和表單提交的信息通過request對象進行數據傳遞獲取客戶端信息和cookie應用response對象實現重定向頁面向客戶端輸出數據創建及獲取客戶的會話從會話中移除指定的對象設置session的有效時間以及銷毀session應用application實現網頁計數器使用exception對象獲取異常信息第4頁主要內容5.1JSP內置對象的概述
5.2request對象
5.3response對象
5.4session對象
5.5application對象
5.6out對象
5.7其他內置對象
5.8本章小結
第5頁5.1JSP內置對象的概述
5.1.1JSP內置對象5.1.2JSP內置對象作用域第6頁5.1.1JSP內置對象內置對象所屬類型說明作用范圍pagejava.lang.Object當前JSP頁面Pagerequestjavax.servlet.HttpServletRequest由用戶提交請求而觸發的request對象Requestsessionjavax.servlet.http.HttpSession會話對象,在發生HTTP請求時被創建Sessionapplicationjavax.servlet.ServletContext調用getServletConfig()或getContext()方法后返回的ServletContext對象Applicationresponsejavax.servlet.HttpServletResponse由用戶提交請求而觸發的response對象Pageoutjava.servlet.jsp.JspWriter輸出流的JspWriter對象,用來向客戶端輸出各種格式的數據,并管理服務器上的輸出緩沖區Pageconfigjavax.servlet.ServletConfig為當前頁面配置JSP的ServletPageexceptionjava.lang.Throwable訪問當前頁面時產生的不可預見的異常PagepageContextjavax.servlet.jsp.PageContext提供了對JSP頁面內所有的對象及名字空間的訪問,也就是說,它可以訪問到本頁所在的會話、應用,它相當于頁面中所有功能的集大成者Page第7頁主要內容5.1JSP內置對象的概述
5.2request對象
5.3response對象
5.4session對象
5.5application對象
5.6out對象
5.7其他內置對象
5.8本章小結
第8頁5.2request對象5.2.1訪問請求參數5.2.2在作用域中管理屬性5.2.3獲取cookie5.2.4解決中文亂碼5.2.5獲取客戶端信息5.2.6顯示國際化信息第9頁5.2.1訪問請求參數request對象封裝了由客戶端生成的HTTP請求,包括HTTP頭信息、系統信息、請求方式和請求參數等。request對象的方法用于處理客戶端提交的HTTP請求參數。request對象處理HTTP請求中的各項參數時,最常見的是獲取請求參數。當通過超鏈接形式發送請求時,若要傳遞參數,可以在超鏈接之后加上英文半角的問號“?”來實現。在使用request的getParameter()方法獲取傳遞過來的參數值時,如果指定的參數不存在,將返回null;如果指定了參數名,但未指定參數值,將返回空的字符串""。第10頁5.2.2在作用域中管理屬性在進行請求轉發時,需要把一些數據傳遞到目標頁面進行處理。這時可以使用request對象的setAttribute()方法將數據保存到request變量中,語法格式如下:request.setAttribute(Stringname,Objectobject);在將數據保存到request范圍內的變量后,可以通過request對象的getAttribute()方法獲得該變量的值,語法格式如下:request.getAttribute(Stringname);第11頁5.2.3獲取cookie在JSP技術中,cookie提供了3個常用方法:getCookies()、getName()和getValue()。getCookies():獲取所有cookie對象的集合。getName():獲取指定名稱的cookie。getValue():獲取cookie對象的值。若要將一個cookie對象發送到客戶端,使用response對象的addCookie()方法。第12頁5.2.4解決中文亂碼要解決中文亂碼問題,就要保持編碼一致,將獲取到的數據通過String的構造方法使用指定的編碼類型重新構造一個String對象,即可正確地顯示出中文信息。第13頁5.2.5獲取客戶端信息通過request對象可以獲取客戶端信息。例如,HTTP報頭信息、客戶信息提交方式、客戶端主機IP地址、端口號等。request對象的常用方法如表所示。方法說明getHeader(Stringname)獲得HTTP協議定義的文件頭信息getHeaders(Stringname)返回指定名稱的requestHeader的所有值,結果是一個枚舉型的實例getHeadersNames()返回所有requestHeader的名稱,結果是一個枚舉型的實例getMethod()獲得客戶端向服務器端傳送數據的方法,如get、post、header、trace等getProtocol()獲得客戶端向服務器端傳送數據所依據的協議名稱getRequestURI()獲得發出請求字符串的客戶端地址,不包括請求的參數getRequestURL()獲取發出請求字符串的客戶端地址getRealPath()返回當前請求文件的絕對路徑getRemoteAddr()獲取客戶端的IP地址getRemoteHost()獲取客戶端的主機名getServerName()獲取服務器的名字getServerPath()獲取客戶端所請求的腳本文件的文件路徑getServerPort()獲取服務器的端口號第14頁5.2.6顯示國際化信息瀏覽器可以通過accept-language的HTTP報頭向Web服務器指明它所使用的本地語言。Web服務器端可以通過request對象的getLocale()和getLocales()方法獲取這一信息,獲取到的信息屬于java.util.Local類型。java.util.Local類型的對象封裝了一個國家所使用的語言。<% java.util.Localelocale=request.getLocale(); Stringhello=""; if(locale.equals(java.util.Locale.US)){ hello="Hello,welcometoaccess!"; } if(locale.equals(java.util.Locale.CHINA)){ hello="您好,歡迎訪問!"; }%><%=hello%>第15頁主要內容5.1JSP內置對象的概述
5.2request對象5.3response對象5.4session對象
5.5application對象
5.6out對象
5.7其他內置對象
5.8本章小結
第16頁5.3response對象5.3.1重定向網頁5.3.2處理HTTP文件頭5.3.3設置輸出緩沖第17頁5.3.1重定向網頁使用response對象的sendRedirect()方法可以將網頁重定向到另一個頁面。sendRedirect()方法的語法格式如下:response.sendRedirect(Stringpath);第18頁5.3.2處理HTTP文件頭通過response對象可以設置HTTP響應報頭,其中,最常用的是禁用緩存、設置頁面自動刷新和定時跳轉網頁。1.禁用緩存:response.setHeader("Cache-Control","no-store");2.設置頁面自動刷新:response.setHeader("refresh","10");3.定時跳轉網頁response.setHeader("refresh","5;URL=redirect_to.jsp");第19頁5.3.3設置輸出緩沖把緩沖區內容寫到客戶端,通過調用response對象的flushBuffer()方法或out對象的flush()方法來實現。response對象提供的對緩沖區進行配置的常用方法如表所示。方法說明flushBuffer()強制將緩沖區的內容輸出到客戶端getBufferSize()獲取響應所使用的緩沖區的實際大小。如果沒有使用緩沖區,則返回0setBufferSize(intsize)設置緩沖區的大小reset()清除緩沖區的內容,同時清除狀態碼和報頭isCommitted()檢測服務器端是否已經把數據寫入到了客戶端第20頁主要內容5.1JSP內置對象的概述
5.2request對象5.3response對象5.4session對象
5.5application對象
5.6out對象
5.7其他內置對象
5.8本章小結
第21頁5.4session對象5.4.1創建及獲取客戶的會話5.4.2從會話中移動指定的綁定對象5.4.3銷毀session5.4.4會話超時的管理5.4.5session對象的應用第22頁5.4.1創建及獲取客戶的會話通過session對象可以存儲或讀取客戶相關的信息,例如,用戶登錄、訂單等信息,這可以通過session對象的setAttribute()、getAttribute()方法實現。第23頁5.4.2從會話中移動指定的綁定對象移除session變量,使用removeAttribute()方法,語法格式如下:removeAttribute(Stringname)第24頁5.4.3銷毀session銷毀session變量通過invalidate()方法實現,語法格式如下:session.invalidate();第25頁5.4.4會話超時的管理session對象提供的有關會話生命周期的常用方法如下。getLastAccessedTime():返回客戶端最后一次與會話相關聯的請求時間。getMaxInactiveInterval():以秒為單位返回一個會話內兩個請求最大時間間隔。setMaxInactiveInterval():以秒為單位設置session的有效時間。第26頁主要內容5.1JSP內置對象的概述
5.2request對象5.3response對象5.4session對象5.5application對象
5.6out對象
5.7其他內置對象
5.8本章小結
第27頁5.5application對象application對象用于保存應用程序中的公有數據。它在服務器啟動時自動創建,在服務器停止時銷毀。當application對象沒有被銷毀時,所有用戶都可以共享該application對象。與session對象相比,application對象的生命周期更長,類似于系統的“全局變量”。application對象提供了對應用程序初始化參數進行訪問的方法。應用程序初始化參數在web.xml文件中進行設置。application對象提供了以下兩種訪問應用程序初始化參數的方法:getInitParameter()方法getAttributeNames()方法第28頁5.5application對象application對象管理應用程序環境屬性的常用方法如下。getAttributeNames():獲得所有application對象使用的屬性名。getAttribute(Stringname):從application對象中獲取指定對象名。setAttribute(Stringkey,Objectobj):使用指定名稱和指定對象在application對象中關聯。removeAttribute(Stringname):從application對象中移除指定名稱的屬性。第29頁主要內容5.1JSP內置對象的概述
5.2request對象5.3response對象5.4session對象5.5application對象5.6out對象
5.7其他內置對象
5.8本章小結
第30頁5.6out對象向客戶端輸出數據:out對象可以輸出各種類型的數據,在輸出非字符串類型的數據時,會自動將數據轉換為字符串進行輸出。另外,out對象提供了print()和println()兩個方法向頁面輸出信息。管理響應緩沖:out對象還提供了用于管理緩沖區的其他方法,如表所示。方法說明clear()清除緩沖區中的內容clearBuffer()清除當前緩沖區中的內容flush()刷新流isAutoFlush()檢測當前緩沖區已滿時是自動清空,還是拋出異常getBufferSize()獲取緩沖區的大小第31頁主要內容5.1JSP內置對象的概述
5.2request對象5.3response對象5.4session對象5.5application對象5.6out對象5.7其他內置對象
5.8本章小結
第32頁5.7其他內置對象5.7.1pageContext對象 5.7.2config對象 5.7.3page對象5.7.4exception對象第33頁5.7.1pageContext對象pageContext對象用于獲取頁面上下文。JSP頁面可以直接使用pageContext對象,該對象的常用方法如表所示。方法說明forward(java.lang.StringrelativeUtlpath)把頁面轉發到另一個頁面getAttribute(Stringname)獲取參數值getAttributeNamesInScope(intscope)獲取某范圍的參數名稱的集合,返回值為java.util.Enumeration對象getException()返回exception對象getRequest()返回request對象getResponse()返回response對象getSession()返回session對象getOut()返回out對象getApplication()返回application對象setAttribute()為指定范圍內的屬性設置屬性值removeAttribute()刪除指定范圍內的指定屬性第34頁5.7.1pageContext對象pageContext對象用于獲取頁面上下文。JSP頁面可以直接使用pageContext對象,該對象的常用方法如表所示。方法說明forward(java.lang.StringrelativeUtlpath)把頁面轉發到另一個頁面getAttribute(Stringname)獲取參數值getAttributeNamesInScope(intscope)獲取某范圍的參數名稱的集合,返回值為java.util.Enumeration對象getException()返回exception對象getRequest()返回request對象getResponse()返回response對象getSession()返回session對象getOut()返回out對象getApplication()返回application對象setAttribute()為指定范圍內的屬性設置屬性值removeAttribute()刪除指定范圍內的指定屬性第35頁5.7.2config對象config對象主要用于獲取服務器的配置信息。方法說明getServletContext()獲取Servlet上下文getServletName()獲取Servlet服務器名getInitParameter()獲取服務器所有初始參數名稱,返回值為java.util.Enumeration對象getInitParameterNames()獲取服務器中name參數的初始值第36頁5.7.2config對象config對象主要用于獲取服務器的配置信息。方法說明getServletContext()獲取Servlet上下文getServletName()獲取Servlet服務器名getInitParameter()獲取服務器所有初始參數名稱,返回值為java.util.Enumeration對象getInitParameterNames()獲取服務器中name參數的初始值第37頁5.7.3
page對象page對象代表JSP頁面本身。page對象本質上是包含當前Servlet接口引用的變量,可以看作是this關鍵字的別名。page對象的常用方法如表所示。方法說明getClass()返回當前Object的類hashCode()返回該Object的哈希代碼toString()把該Object類轉換成字
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 信報箱委托加工合同
- 文化藝術品交易及拍賣合同
- 危險品車輛運輸合同
- 擠塑板購銷合同十
- 養老協議和養老合同
- 外架工程勞務分包合同
- 店鋪買賣合同與店鋪買賣合同
- 國際貨物運輸保險合同
- 定向就業協議合同
- 幼兒園保育員聘用合同
- 海參收購協議書范本
- 定額〔2025〕20號 定額管理總站關于發布2024年電力建設工程裝置性材料綜合信息價的通知
- 2025年03月紹興市諸暨市綜合行政執法局執法輔助人員27人筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- 養老年護理員職業道德規范
- 部編人教版五年級語文下冊教學策略計劃
- 2025年-浙江建筑安全員A證考試題庫附答案
- 動物生理學第十二章-泌乳
- 金屬礦床地下開采-全知識點
- GA/T 2144-2024法庭科學涉火案件常見助燃劑及其殘留物檢驗技術導則
- 消除“艾梅乙”醫療歧視-從我做起
- 大學語文(高職版) 教學課件 ppt 作者 徐中玉 44 論讀書 第四十四課 論讀書
評論
0/150
提交評論