




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第7章JSP內(nèi)置對象1本課教學(xué)內(nèi)容認識JSP內(nèi)置對象out對象request對象response對象Cookie操作認識JSP內(nèi)置對象內(nèi)置對象:指在JSP頁面中內(nèi)置的不需要定義就可以在網(wǎng)頁中直接使用的對象內(nèi)置對象預(yù)定義的原因:因為這些內(nèi)置對象有些能夠存儲參數(shù),有些能夠提供輸出,還有些能提供其他的功能,JSP程序員一般情況下使用這些內(nèi)置對象的頻率比較高認識JSP內(nèi)置對象內(nèi)置對象特點內(nèi)置對象是自動載入的,因此它不需要直接實例化內(nèi)置對象是通過Web容器來實現(xiàn)和管理的在所有的JSP頁面中,直接調(diào)用內(nèi)置對象都是合法的認識JSP內(nèi)置對象JSP規(guī)范中定義了九種內(nèi)置對象,本章主要介紹前五種out對象:負責管理對客戶端的輸出request對象:負責得到客戶端的請求信息response對象:負責向客戶端發(fā)出響應(yīng)session對象:負責保存同一客戶端一次會話過程中的一些信息application對象:表示整個應(yīng)用的環(huán)境的信息認識JSP內(nèi)置對象exception對象:表示頁面上發(fā)生的異常,可以通過它獲得頁面異常信息page對象:表示的是當前JSP頁面本身,就像Java類定義中的this一樣pageContext對象:表示的是此JSP的上下文config對象:表示此JSP的ServletConfigout對象out對象,對應(yīng)的類型是javax.servlet.jsp.JspWriterout對象的作用用來向客戶端輸出各種數(shù)據(jù)類型的內(nèi)容對應(yīng)用服務(wù)器上的輸出緩沖區(qū)進行管理out對象out輸出的主要有2個方法:voidprint()voidprintln()out對象out對象一些常用的與管理緩沖區(qū)有關(guān)的函數(shù):voidclose():關(guān)閉輸出流,從而可以強制終止當前頁面的剩余部分向瀏覽器輸出voidclearBuffer():清除緩沖區(qū)里的數(shù)據(jù),并且把數(shù)據(jù)寫到客戶端去voidclear():清除緩沖區(qū)里的數(shù)據(jù),但不把數(shù)據(jù)寫到客戶端去out對象out對象一些常用的與管理緩沖區(qū)有關(guān)的函數(shù):intgetRemaining():獲取緩沖區(qū)中沒有被占用的空間的大小voidflush():輸出緩沖區(qū)的數(shù)據(jù)。out.flush()函數(shù)也會清除緩沖區(qū)中的數(shù)據(jù),但是此函數(shù)先將之前緩沖區(qū)的數(shù)據(jù)輸出至客戶端,然后再清除緩沖區(qū)的數(shù)據(jù)intgetBufferSize():獲得緩沖區(qū)的大小request對象request對應(yīng)類型是javax.servlet.http.HttpServletRequestrequest包含的方法StringgetMethod():得到提交方式StringgetRequestURI():得到請求的URL地址StringgetProtocol():得到協(xié)議名稱request對象request包含的方法StringgetServletPath():獲得客戶端請求服務(wù)器文件的路徑StringgetQueryString():得到URL的查詢部分,對post請求來說,該方法得不到任何信息request對象request包含的方法StringgetServerName():得到服務(wù)器的名稱StringgetServerPort():得到服務(wù)器口號StringgetRemoteAddr():得到客戶端的IP地址
*具體代碼示例見課本request對象request對象獲取客戶端得參數(shù)常用的是通過2個方法:StringgetParameter(Stringname):獲得客戶端傳送給服務(wù)器的name參數(shù)的值。當傳遞給此函數(shù)的參數(shù)名沒有實際參數(shù)與之對應(yīng)時,則返回nullString[]getParameterValues(Stringname):以字符串數(shù)組的形式返回指定參數(shù)所有值response對象response與reuqest是一對相對應(yīng)的內(nèi)置對象,response可以理解為客戶端的響應(yīng),request可以理解為客戶端的請求,二者所表示范圍是相對應(yīng)的2個部分,具有很好的對稱性。response對應(yīng)的類(接口)是:javax.servlet.http.HttpServletResponse。可以通過查找文檔中javax.servlet.http.HttpServletResponse來了解response的API利用response對象進行重定向重定向:就是跳轉(zhuǎn)到另一個頁面重定向方法為:
response.sendRedirect(目標頁面路徑); <jsp:forwardpage=""></jsp:forward>
兩種重定向方法的不同從瀏覽器的地址顯示上來看forward方法屬于服務(wù)器端去請求資源,服務(wù)器直接訪問目標地址,并對該目標地址的響應(yīng)內(nèi)容進行讀取,再把讀取的內(nèi)容發(fā)給瀏覽器,因此客戶端瀏覽器的地址不變兩種重定向方法的不同從瀏覽器的地址顯示上來看redirect是告訴客戶端,使瀏覽器知道去請求哪一個地址,相當于客戶端重新請求一遍。所以地址顯示欄會變兩種重定向方法的不同從數(shù)據(jù)共享來看forward轉(zhuǎn)發(fā)的頁,以及轉(zhuǎn)發(fā)到的目標頁面能夠共享request里面的數(shù)據(jù)redirect轉(zhuǎn)發(fā)的頁以及轉(zhuǎn)發(fā)到的目標頁面不能共享request里面的數(shù)據(jù)兩種重定向方法的不同從功能來看redirect能夠重定向到當前應(yīng)用程序的其他源,而且還能夠重定向到同一個站點上的其他應(yīng)用程序中的資源,甚至是使用絕對URL重定向到其他站點的資源兩種重定向方法的不同從功能來看forward方法只能在同一個Web應(yīng)用程序內(nèi)的資源之間轉(zhuǎn)發(fā)請求,可以理解為服務(wù)器內(nèi)部的一種操作兩種重定向方法的不同從效率來看forward效率較高,因為跳轉(zhuǎn)僅發(fā)生在服務(wù)器端redirect相對較低,因為類似于再進行了一次請求使用頻率不是很高的一種重定向sendError():向客戶端發(fā)送HTTP狀態(tài)碼的出錯信息使用頻率不是很高的一種重定向常見的錯誤代碼有:400:BadRequest,請求出現(xiàn)語法錯誤401:Unauthorized,客戶試圖未經(jīng)授權(quán)訪問受密碼保護的頁面403:Forbidden,資源不可用404:NotFound,無法找到指定位置的資源500:InternalServerError,服務(wù)器遇到了無法預(yù)料的情況,不能完成客戶的請求利用response設(shè)置HTTP頭HTTP頭一般用來設(shè)置網(wǎng)頁的基本屬性response的setHeader()方法來進行設(shè)置 response.setHeader("Pragma","No-cache"); response.setHeader("Cache-Control","no-cache"); response.setDateHeader("Expires",0);以上都是表示在客戶端緩存中不保存頁面的拷貝Cookie操作Cookie是一個小的文本數(shù)據(jù),由服務(wù)器端生成,發(fā)送給客戶端瀏覽器,客戶端瀏覽器如果設(shè)置為啟用Cookie,則會將這個小文本數(shù)據(jù)保存到某個目錄下的文本文件內(nèi)。下次登錄同一網(wǎng)站,客戶端瀏覽器則會自動將Cookie讀入之后,傳給服務(wù)器端。一般情下,Cookie中的值是以key-value的形式進行表達的Cookie操作Cookie操作主要用到以下幾個方法:response.addCookie(Cookiec):通過該方法,將Cookie寫入客戶端Cookie.setMaxAge(intsecond):通過該方法,設(shè)置Cookie的存活時間。參數(shù)表示存活Cookie操作從客戶端獲取Cookie內(nèi)容,主要通過以下方法:Cookie[]request.getCookies():讀取客戶端傳過來的Cookie,以數(shù)組形式返回Cookie的盜取盜取的方法:利用跨站腳本技術(shù),將信息發(fā)給目標服務(wù)器;為了隱藏URL,甚至可以結(jié)合Ajax(異步Javascript和XML技術(shù))在后臺竊取CookieCookie的盜取通過某些軟件,竊取硬盤下的Cookie。一般說來,當用戶訪問完某站點后,Cookie文件會存在機器的某個文件夾下,因此可以通過某些盜取和分析軟件來盜取CookieCookieCookie在Web編程中應(yīng)用很廣的原因:Cookie的值能夠持久化,即使客戶端機器關(guān)閉,下次打開還是可以得到里面的值Cookie可以幫助服務(wù)器端保存多個狀態(tài)信息,但是不用服務(wù)器端專門分配存儲資源Cookie可以持久保持一些和客戶相關(guān)的信息解決Cookie安全的方法方法有以下幾種替代Cookie。將數(shù)據(jù)保存在服務(wù)器端,可選的是session方案及時刪除Cookie解決Cookie安全的方法要刪除一個已經(jīng)存在的Cookie,有以下幾種方法:給一個Cookie賦以空置設(shè)置Cookie的失效時間為當前時間,讓該Cookie在當前頁面的瀏覽完之后就被刪除了解決Cookie安全的方法通過瀏覽器刪除Cookie
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度網(wǎng)絡(luò)安全就業(yè)協(xié)議書協(xié)議內(nèi)容詳盡規(guī)范
- 二零二五年度股權(quán)投資公司股東合作協(xié)議
- 2025年度軟裝行業(yè)市場監(jiān)測與風險評估合同
- 二零二五年度廣東省房屋租賃合同租賃保險合作協(xié)議
- 二零二五年度娛樂產(chǎn)業(yè)動漫IP授權(quán)使用勞動合同
- 二零二五年度店鋪轉(zhuǎn)讓定金及品牌授權(quán)使用合同
- 二零二五年度商業(yè)空間合租租賃及稅務(wù)咨詢合同
- 二零二五年度旅游度假村裝修合同終止書
- 2025年度防火門市場調(diào)研與銷售預(yù)測合同
- 二零二五年度影視特效藝術(shù)家專屬簽約合同
- 近三年投標沒有發(fā)生過重大質(zhì)量安全事故的書面聲明范文
- 《工程熱力學(xué)》(第四版)全冊配套完整課件
- 和父親斷絕聯(lián)系協(xié)議書范本
- 2024時事政治考試題庫(100題)
- 2024年司法考試真題及答案
- 膽總管切開取石T管引流術(shù)護理查房參考課件
- 中國新聞事業(yè)史智慧樹知到答案2024年山東大學(xué)
- YYT 1814-2022 外科植入物 合成不可吸收補片 疝修補補片
- 工程機械設(shè)備綜合保險
- 中圖版高中地理選擇性必修1第3章第1節(jié)常見天氣現(xiàn)象及成因課件
- 2024年時政必考試題庫(名師系列)
評論
0/150
提交評論