




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第7章JSP內(nèi)置對象1本課教學(xué)內(nèi)容認(rèn)識JSP內(nèi)置對象out對象request對象response對象Cookie操作認(rèn)識JSP內(nèi)置對象內(nèi)置對象:指在JSP頁面中內(nèi)置的不需要定義就可以在網(wǎng)頁中直接使用的對象內(nèi)置對象預(yù)定義的原因:因?yàn)檫@些內(nèi)置對象有些能夠存儲(chǔ)參數(shù),有些能夠提供輸出,還有些能提供其他的功能,JSP程序員一般情況下使用這些內(nèi)置對象的頻率比較高認(rèn)識JSP內(nèi)置對象內(nèi)置對象特點(diǎn)內(nèi)置對象是自動(dòng)載入的,因此它不需要直接實(shí)例化內(nèi)置對象是通過Web容器來實(shí)現(xiàn)和管理的在所有的JSP頁面中,直接調(diào)用內(nèi)置對象都是合法的認(rèn)識JSP內(nèi)置對象JSP規(guī)范中定義了九種內(nèi)置對象,本章主要介紹前五種out對象:負(fù)責(zé)管理對客戶端的輸出request對象:負(fù)責(zé)得到客戶端的請求信息response對象:負(fù)責(zé)向客戶端發(fā)出響應(yīng)session對象:負(fù)責(zé)保存同一客戶端一次會(huì)話過程中的一些信息application對象:表示整個(gè)應(yīng)用的環(huán)境的信息認(rèn)識JSP內(nèi)置對象exception對象:表示頁面上發(fā)生的異常,可以通過它獲得頁面異常信息page對象:表示的是當(dāng)前JSP頁面本身,就像Java類定義中的this一樣pageContext對象:表示的是此JSP的上下文config對象:表示此JSP的ServletConfigout對象out對象,對應(yīng)的類型是javax.servlet.jsp.JspWriterout對象的作用用來向客戶端輸出各種數(shù)據(jù)類型的內(nèi)容對應(yīng)用服務(wù)器上的輸出緩沖區(qū)進(jìn)行管理out對象out輸出的主要有2個(gè)方法:voidprint()voidprintln()out對象out對象一些常用的與管理緩沖區(qū)有關(guān)的函數(shù):voidclose():關(guān)閉輸出流,從而可以強(qiáng)制終止當(dāng)前頁面的剩余部分向?yàn)g覽器輸出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ù)也會(huì)清除緩沖區(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個(gè)方法:StringgetParameter(Stringname):獲得客戶端傳送給服務(wù)器的name參數(shù)的值。當(dāng)傳遞給此函數(shù)的參數(shù)名沒有實(shí)際參數(shù)與之對應(yīng)時(shí),則返回nullString[]getParameterValues(Stringname):以字符串?dāng)?shù)組的形式返回指定參數(shù)所有值response對象response與reuqest是一對相對應(yīng)的內(nèi)置對象,response可以理解為客戶端的響應(yīng),request可以理解為客戶端的請求,二者所表示范圍是相對應(yīng)的2個(gè)部分,具有很好的對稱性。response對應(yīng)的類(接口)是:javax.servlet.http.HttpServletResponse??梢酝ㄟ^查找文檔中javax.servlet.http.HttpServletResponse來了解response的API利用response對象進(jìn)行重定向重定向:就是跳轉(zhuǎn)到另一個(gè)頁面重定向方法為:
response.sendRedirect(目標(biāo)頁面路徑); <jsp:forwardpage=""></jsp:forward>
兩種重定向方法的不同從瀏覽器的地址顯示上來看forward方法屬于服務(wù)器端去請求資源,服務(wù)器直接訪問目標(biāo)地址,并對該目標(biāo)地址的響應(yīng)內(nèi)容進(jìn)行讀取,再把讀取的內(nèi)容發(fā)給瀏覽器,因此客戶端瀏覽器的地址不變兩種重定向方法的不同從瀏覽器的地址顯示上來看redirect是告訴客戶端,使瀏覽器知道去請求哪一個(gè)地址,相當(dāng)于客戶端重新請求一遍。所以地址顯示欄會(huì)變兩種重定向方法的不同從數(shù)據(jù)共享來看forward轉(zhuǎn)發(fā)的頁,以及轉(zhuǎn)發(fā)到的目標(biāo)頁面能夠共享request里面的數(shù)據(jù)redirect轉(zhuǎn)發(fā)的頁以及轉(zhuǎn)發(fā)到的目標(biāo)頁面不能共享request里面的數(shù)據(jù)兩種重定向方法的不同從功能來看redirect能夠重定向到當(dāng)前應(yīng)用程序的其他源,而且還能夠重定向到同一個(gè)站點(diǎn)上的其他應(yīng)用程序中的資源,甚至是使用絕對URL重定向到其他站點(diǎn)的資源兩種重定向方法的不同從功能來看forward方法只能在同一個(gè)Web應(yīng)用程序內(nèi)的資源之間轉(zhuǎn)發(fā)請求,可以理解為服務(wù)器內(nèi)部的一種操作兩種重定向方法的不同從效率來看forward效率較高,因?yàn)樘D(zhuǎn)僅發(fā)生在服務(wù)器端redirect相對較低,因?yàn)轭愃朴谠龠M(jìn)行了一次請求使用頻率不是很高的一種重定向sendError():向客戶端發(fā)送HTTP狀態(tài)碼的出錯(cuò)信息使用頻率不是很高的一種重定向常見的錯(cuò)誤代碼有:400:BadRequest,請求出現(xiàn)語法錯(cuò)誤401:Unauthorized,客戶試圖未經(jīng)授權(quán)訪問受密碼保護(hù)的頁面403:Forbidden,資源不可用404:NotFound,無法找到指定位置的資源500:InternalServerError,服務(wù)器遇到了無法預(yù)料的情況,不能完成客戶的請求利用response設(shè)置HTTP頭HTTP頭一般用來設(shè)置網(wǎng)頁的基本屬性response的setHeader()方法來進(jìn)行設(shè)置 response.setHeader("Pragma","No-cache"); response.setHeader("Cache-Control","no-cache"); response.setDateHeader("Expires",0);以上都是表示在客戶端緩存中不保存頁面的拷貝Cookie操作Cookie是一個(gè)小的文本數(shù)據(jù),由服務(wù)器端生成,發(fā)送給客戶端瀏覽器,客戶端瀏覽器如果設(shè)置為啟用Cookie,則會(huì)將這個(gè)小文本數(shù)據(jù)保存到某個(gè)目錄下的文本文件內(nèi)。下次登錄同一網(wǎng)站,客戶端瀏覽器則會(huì)自動(dòng)將Cookie讀入之后,傳給服務(wù)器端。一般情下,Cookie中的值是以key-value的形式進(jìn)行表達(dá)的Cookie操作Cookie操作主要用到以下幾個(gè)方法:response.addCookie(Cookiec):通過該方法,將Cookie寫入客戶端Cookie.setMaxAge(intsecond):通過該方法,設(shè)置Cookie的存活時(shí)間。參數(shù)表示存活Cookie操作從客戶端獲取Cookie內(nèi)容,主要通過以下方法:Cookie[]request.getCookies():讀取客戶端傳過來的Cookie,以數(shù)組形式返回Cookie的盜取盜取的方法:利用跨站腳本技術(shù),將信息發(fā)給目標(biāo)服務(wù)器;為了隱藏URL,甚至可以結(jié)合Ajax(異步Javascript和XML技術(shù))在后臺(tái)竊取CookieCookie的盜取通過某些軟件,竊取硬盤下的Cookie。一般說來,當(dāng)用戶訪問完某站點(diǎn)后,Cookie文件會(huì)存在機(jī)器的某個(gè)文件夾下,因此可以通過某些盜取和分析軟件來盜取CookieCookieCookie在Web編程中應(yīng)用很廣的原因:Cookie的值能夠持久化,即使客戶端機(jī)器關(guān)閉,下次打開還是可以得到里面的值Cookie可以幫助服務(wù)器端保存多個(gè)狀態(tài)信息,但是不用服務(wù)器端專門分配存儲(chǔ)資源Cookie可以持久保持一些和客戶相關(guān)的信息解決Cookie安全的方法方法有以下幾種替代Cookie。將數(shù)據(jù)保存在服務(wù)器端,可選的是session方案及時(shí)刪除Cookie解決Cookie安全的方法要?jiǎng)h除一個(gè)已經(jīng)存在的Cookie,有以下幾種方法:給一個(gè)Cookie賦以空置設(shè)置Cookie的失效時(shí)間為當(dāng)前時(shí)間,讓該Cookie在當(dāng)前頁面的瀏覽完之后就被刪除了解決Cookie安全的方法通過瀏覽器刪除Cookie
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 英語-福建省莆田市2025屆高中畢業(yè)班第二次教學(xué)質(zhì)量檢測試卷(莆田二檢)試題和答案
- 不銹鋼雨篷施工方案
- 碎石填坑施工方案
- 第二單元課題3 制取氧氣-教學(xué)設(shè)計(jì)-2024-2025學(xué)年九年級化學(xué)人教版上冊
- 2025年茫茫沙漠大班科學(xué)標(biāo)準(zhǔn)教案
- 與駕校有合同范例
- 交通標(biāo)志線合同范例
- 公司工資合同范例
- 強(qiáng)化員工培訓(xùn)的年度實(shí)施計(jì)劃
- 生物課本與現(xiàn)實(shí)生活的聯(lián)系計(jì)劃
- GB/T 45191-2025桑蠶一代雜交種
- 2025年黑龍江省高職單招《語文》備考重點(diǎn)試題庫(含真題)
- 《抖音營銷教程》課件
- 食材配送服務(wù)方案投標(biāo)文件(技術(shù)標(biāo))
- 貴州省安順市2025屆高三年級第四次監(jiān)測考試2月語文試題及參考答案
- 2025屆山東核電校園招聘正式啟動(dòng)筆試參考題庫附帶答案詳解
- 2025年度教育培訓(xùn)機(jī)構(gòu)股權(quán)合作協(xié)議范本
- 2025屆江蘇省無錫市江陰實(shí)驗(yàn)中學(xué)中考聯(lián)考?xì)v史試題含解析
- 光伏電站設(shè)備故障預(yù)防措施
- 2024年蘇州職業(yè)大學(xué)高職單招語文歷年參考題庫含答案解析
- 2025天津高考英語作文題目及范文
評論
0/150
提交評論