




已閱讀5頁,還剩45頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第五章 JSP的內(nèi)置對(duì)象 2 回顧 JSP腳本元素包括 JSP表達(dá)式 JSPScriptlet和JSP聲明JSP表達(dá)式包括在標(biāo)簽內(nèi) JSPScriptlet包括在內(nèi) JSP聲明包括在內(nèi)JSP指令有page include和taglib指令JSP指令包括在標(biāo)簽內(nèi)page指令用于設(shè)置JSP頁面的屬性 include屬性用于將其他文件嵌入JSP頁面 Taglib指令允許用戶創(chuàng)建自定義標(biāo)簽 3 目標(biāo) 了解隱式對(duì)象的分類及組成運(yùn)用輸入 輸出對(duì)象 request response和out進(jìn)行JSP編程運(yùn)用作用域通信對(duì)象 session application和pageContext進(jìn)行JSP編程理解Servlet相關(guān)對(duì)象 page和config理解錯(cuò)誤對(duì)象 exception 4 隱式對(duì)象2 1 JSP隱式對(duì)象是Web容器加載的一組類它不像一般的Java對(duì)象那樣用 new 去獲取實(shí)例 而是可以直接在JSP頁面使用的對(duì)象隱式對(duì)象的名稱是JSP的保留字JSP使用Java定義的隱式對(duì)象來訪問網(wǎng)頁的動(dòng)態(tài)內(nèi)容 隱式對(duì)象 輸入 輸出對(duì)象 5 隱式對(duì)象2 2 隱式對(duì)象 客戶端 服務(wù)器 6 輸入 輸出對(duì)象 控制頁面的輸入和輸出訪問與所有請(qǐng)求和響應(yīng)有關(guān)的數(shù)據(jù)輸入和輸出對(duì)象包括request response和out 7 request對(duì)象4 1 表示客戶端對(duì)網(wǎng)頁的請(qǐng)求實(shí)現(xiàn)javax servlet http HttpServletRequest接口使用HTTP協(xié)議處理客戶端的請(qǐng)求 request對(duì)象 客戶端 表示并存儲(chǔ)客戶端的請(qǐng)求 服務(wù)器 8 request對(duì)象4 2 request對(duì)象常用方法StringgetParameter Stringname 根據(jù)頁面表單組件名稱獲取請(qǐng)求頁面提交數(shù)據(jù)String getParameterValues Stringname 獲取頁面請(qǐng)求中一個(gè)表單組件對(duì)應(yīng)多個(gè)值時(shí)的用戶的請(qǐng)求數(shù)據(jù) 如復(fù)選框和多選下拉列表框 返回一個(gè)數(shù)組包含了所有被選中的項(xiàng) getParameterNames 方法得到客戶端傳遞過來的所有參數(shù)名字 返回的是一個(gè)Enumeration 9 request對(duì)象4 3 使用request對(duì)象進(jìn)行JSP編程需求 某網(wǎng)站注冊(cè)時(shí) 需要輸入注冊(cè)信息 請(qǐng)編寫JSP頁面供用戶輸入 并獲取用戶輸入的數(shù)據(jù) 注冊(cè)信息包括用戶名 密碼 確認(rèn)密碼 性別 學(xué)歷和你從哪里知道本網(wǎng)站等主題 分析 1 編寫一個(gè)JSP頁面 提供用戶輸入的表單組件 2 編寫另一個(gè)JSP頁面 獲取用戶提交的請(qǐng)求數(shù)據(jù) 并顯示出來 10 request對(duì)象4 4 request對(duì)象 使用request對(duì)象進(jìn)行JSP編程 演示 示例1 11 應(yīng)用示例1 登錄驗(yàn)證 demo01 登錄用戶名 xxx密碼 xxxxx 歡迎xxx訪問 驗(yàn)證失敗重新登錄 驗(yàn)證正確驗(yàn)證錯(cuò)誤 12 獲取提交數(shù)據(jù)的所有參數(shù)名字和值 out println Values request getParameter current param 13 漢字問題兩種解決方法 當(dāng)利用request getParameter得到Form種元素的時(shí)候 默認(rèn)的情況字符編碼為ISO 8859 1 這種編碼不能正確的顯示漢字 有兩種解決方法 是在執(zhí)行操作之前 設(shè)置request的編碼格式 語法是 request setCharacterEncoding GBK 另一種方法是轉(zhuǎn)換字符編碼 newString request getParameter name getBytes ISO 8859 1 14 應(yīng)用案例 調(diào)查表信息的讀取 案例名稱 調(diào)查表輸入頁面程序名稱 input htm 15 調(diào)查表信息的讀取 案例名稱 調(diào)查表處理頁面程序名稱 handle jsp 16 response對(duì)象3 1 處理JSP生成的響應(yīng)將響應(yīng)發(fā)送給客戶端實(shí)現(xiàn)javax servlet http HttpServletResponse接口使用HTTP協(xié)議將響應(yīng)發(fā)送給客戶端 Response對(duì)象 客戶端 存儲(chǔ)信息 以在響應(yīng)客戶端請(qǐng)求時(shí)發(fā)送此信息 服務(wù)器 17 response對(duì)象3 2 response對(duì)象常用方法voidsetContentType Stringname 設(shè)置作為響應(yīng)生成的內(nèi)容的類型和字符編碼 contentType屬性的值是text html 服務(wù)器將把靜態(tài)頁面部分發(fā)送給客戶端 也可以設(shè)置為其他一些相應(yīng)類型 如 text plain 文本文件 application x msexcel Excel文件 和application msword Word文件 等voidsendRedirect Stringname 發(fā)送一個(gè)響應(yīng)給瀏覽器 指示其應(yīng)請(qǐng)求另一個(gè)URL 18 顯示為Word文檔 案例名稱 顯示為Word文檔程序名稱 4 11 jspresponse對(duì)象setContentType方法將當(dāng)前頁面保存為word文檔嗎 19 response對(duì)象3 3 演示 示例2 response對(duì)象 使用response對(duì)象重定向 使用response對(duì)象進(jìn)行JSP編程 20 HTTP文件頭響應(yīng) 可以利用JSP動(dòng)態(tài)改變客戶端的響應(yīng) 使用的語法是 response setHeader refresh 5 URL xxx 比如讓客戶端自動(dòng)每隔5秒刷新一次 案例名稱 動(dòng)態(tài)改變響應(yīng)頭程序名稱 4 12 jsp現(xiàn)在的時(shí)間是 21 客戶端跳轉(zhuǎn) 地址欄改變頁面代碼執(zhí)行完跳轉(zhuǎn)之后request設(shè)置的屬性不能保留至下頁通過URL地址重寫傳參數(shù) 頁面跳轉(zhuǎn) response sendRedirect response setHeader refresh n url 服務(wù)器端跳轉(zhuǎn) 地址欄不變立即跳轉(zhuǎn) 之后代碼不執(zhí)行request設(shè)置的屬性保留至下頁通過傳參數(shù) 22 設(shè)置緩沖區(qū) 在實(shí)際的JSP應(yīng)用開發(fā)中 為了確保顯示的正確性 需要將禁用頁面緩沖 否則會(huì)顯示其他用戶的一些的信息 為了解決這個(gè)問題 需要在每個(gè)JSP的頁面中添加語句 案例名稱 設(shè)置緩沖區(qū)程序名稱 4 13 jsp 23 out對(duì)象2 1 表示輸出流javax servlet jsp JspWriter類的實(shí)例使用write print 和println 方法 out對(duì)象 客戶端 創(chuàng)建輸出流以顯示信息 服務(wù)器 24 out對(duì)象2 2 演示 示例3 使用out對(duì)象輸出 使用out對(duì)象進(jìn)行JSP編程 25 作用域通信對(duì)象 隱式對(duì)象的作用域包括page request session和application作用域通信對(duì)象包括session application和pageContext 26 session對(duì)象2 1 Web服務(wù)器為單個(gè)用戶發(fā)送的多個(gè)請(qǐng)求創(chuàng)建會(huì)話存儲(chǔ)有關(guān)用戶會(huì)話的所有信息 session中保存的對(duì)象在當(dāng)前用戶連接的所有頁面中都是可以被訪問到的 javax servlet http HttpSession接口的實(shí)例方法removeAttribute 刪除已經(jīng)設(shè)置的屬性 27 session對(duì)象2 2 session對(duì)象最常用的方法 voidsetAttribute Stringname Objectvalue 以鍵 值的方式 將一個(gè)對(duì)象的值存放到session中 voidgetAttribute Stringname 根據(jù)名稱去獲取session中存放對(duì)象的值 28 簡易session版購物車 利用session保存用戶選購的商品信息 本購物車程序要求 要求用戶登錄顯示3類物品 電器類 食品類和文具類每類物品用一個(gè)頁面顯示查看購物車購買物品 清理購物車 29 Application對(duì)象2 1 表示JSP頁面所屬的應(yīng)用程序應(yīng)用程序的JSP頁面組合起來形成一個(gè)應(yīng)用程序javax servlet ServletContext接口實(shí)例站點(diǎn)所有的用戶公用一個(gè)application對(duì)象 當(dāng)站點(diǎn)服務(wù)器開啟的時(shí)候 application就被創(chuàng)建 直到網(wǎng)站關(guān)閉 常利用application創(chuàng)建聊天室和網(wǎng)站計(jì)數(shù)器等常用站點(diǎn)應(yīng)用程序 30 application對(duì)象2 2 voidsetAttribute Stringname Objectvalue 以鍵 值的方式 將一個(gè)對(duì)象的值存放到application中 voidgetAttribute Stringname 根據(jù)名稱去獲取application中存放對(duì)象的值 31 應(yīng)用Application創(chuàng)建聊天室程序 聊天室允許多用戶實(shí)時(shí)進(jìn)行信息交流 所有用戶可以看到彼此的信息 這與application對(duì)象的特點(diǎn)正好符合 所以可以方便地利用application實(shí)現(xiàn)聊天室 案例名稱 簡易聊天室程序名稱 4 21 jsp 32 pageContext對(duì)象2 1 使用戶可以訪問頁面作用域中定義的所有隱式對(duì)象它的作用范圍是在同一頁面javax servlet jsp PageContext類的實(shí)例 33 pageContext對(duì)象2 2 pageContext對(duì)象最常用的方法有 voidsetAttribute Stringname Objectvalue 以鍵 值的方式 將一個(gè)對(duì)象的值存放到pageContext中voidgetAttribute Stringname 根據(jù)名稱去獲取pageContext中存放對(duì)象的值 34 cookie對(duì)象 Cookie對(duì)象是由Web服務(wù)器端產(chǎn)生后被保存到瀏覽器中的信息 Cookie對(duì)象可以用來保存一些小量的信息在瀏覽器中 目前主流的瀏覽器 InternetExplorer和NetscapeNavigator 都支持Cookie 可以將Cookie寫到瀏覽器中 讓瀏覽器來保存Cookie的值 35 寫入Cookie 案例名稱 寫入Cookie程序名稱 4 25 jsp寫入Cookie查看 36 讀出Cookie 案例名稱 讀出Cookie程序名稱 4 26 jsp讀出Cookie 37 小結(jié) 頁面間變量傳遞 URL重寫index htm name jjjj pass lll表單傳遞post方法用于和方法setAttribute name object intscope 與getAttribute name newcookie name value cookies i getValue request getParameter name pageContext request session application對(duì)象 javaBean 38 小結(jié) JSP的四種屬性范圍 一個(gè)頁面范圍 page一次服務(wù)請(qǐng)求范圍 request一次會(huì)話范圍 session一個(gè)應(yīng)用服務(wù)器范圍 appilicationpageContext對(duì)象的方法 setAttribute name Object intscope 設(shè)置不同范圍屬性常量SCOPE PAGA SCOPEREQUEST SCOPESESSION SCOPEAPPLICATION SCOPE 39 Page范圍 設(shè)置屬性 取得屬性 取得屬性 可以取得 不能取得 服務(wù)器端跳轉(zhuǎn) a jsp b jsp 40 request范圍 設(shè)置屬性 取得屬性 取得屬性 可以取得 可以取得 服務(wù)器端跳轉(zhuǎn) a jsp b jsp 取得屬性 可以取得 c jsp 服務(wù)器端跳轉(zhuǎn) 41 session范圍 設(shè)置屬性 取得屬性 取得屬性 可以取得 可以取得 頁面跳轉(zhuǎn) a jsp b jsp 取得屬性 可以取得 c jsp 頁面跳轉(zhuǎn) 42 application范圍 服務(wù)器 設(shè)置屬性 a jsp 取得屬性 b jsp 取得屬性 c jsp 取得屬性 43 作用域通信對(duì)象的使用 演示 示例3 session對(duì)象 pageContext對(duì)象 application對(duì)象 session application和pageContext 對(duì)象使用了setAttribute 方法 頁面計(jì)數(shù) 會(huì)話計(jì)數(shù) 應(yīng)用程序計(jì)數(shù) 時(shí)間 對(duì)象使用了getAttribute 方法 44 Servlet對(duì)象 JSP引擎為每個(gè)JSP生成一個(gè)ServletServlet對(duì)象提供了訪問Servlet信息的方法和變量Servlet對(duì)象包括pageconfig 45 page對(duì)象 使用page對(duì)象可以訪問Servlet類的所有變量和方法java lang Object類的一個(gè)實(shí)例 46 config對(duì)象 存儲(chǔ)在編譯JSP頁面的過程中創(chuàng)建的Servlet的信息javax servlet ServletConfig接口的實(shí)例提供了檢索Servlet初始化參數(shù)的方法 StringpropertyFile String config getInitParameter PropertyFile config對(duì)象獲取初始化參數(shù) 47 Exception對(duì)象2 1 exception對(duì)象用于處理JSP頁面中的錯(cuò)誤exception對(duì)象用于訪問執(zhí)行JSP的過程中引發(fā)的異常exception對(duì)象是java lang Throwable類的實(shí)例 隱式對(duì)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 計(jì)量力學(xué)試題及答案
- 太原人力資源師考試試題及答案
- 勞務(wù)企業(yè)勞務(wù)費(fèi)結(jié)算、支付和工資支付情況報(bào)
- 臥床癱瘓病人康復(fù)護(hù)理
- 2025年中國攀爬網(wǎng)行業(yè)市場(chǎng)全景分析及前景機(jī)遇研判報(bào)告
- 2025年中國女性衛(wèi)生品行業(yè)市場(chǎng)全景分析及前景機(jī)遇研判報(bào)告
- 2025年中國捏褶窗簾行業(yè)市場(chǎng)全景分析及前景機(jī)遇研判報(bào)告
- 護(hù)理學(xué)基礎(chǔ)心肺復(fù)蘇說課
- 煤炭塌陷區(qū)景觀優(yōu)化設(shè)計(jì)
- 腫瘤化學(xué)治療患者護(hù)理
- 2025年河南省豫地科技集團(tuán)有限公司社會(huì)招聘169人筆試參考題庫附帶答案詳解析集合
- 【KAWO科握】2025年中國社交媒體平臺(tái)指南報(bào)告
- 大部分分校:地域文化形考任務(wù)一-國開(CQ)-國開期末復(fù)習(xí)資料
- 《雨后春筍》-完整版PPT
- 炮車專項(xiàng)方案
- 解讀三級(jí)公立醫(yī)院績效考核課件
- 公司輸煤皮帶著火應(yīng)急演練方案
- chinese-name-culture中國姓名文化課件
- 閩教版小學(xué)四年級(jí)英語下冊(cè)期末總復(fù)習(xí)
- 全面質(zhì)量管理TQM培訓(xùn)課件
- 35KV集電線路鐵塔組立專項(xiàng)方案
評(píng)論
0/150
提交評(píng)論