




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第四章 JavaBean,教學(xué)目標: 了解Servlet技術(shù) 掌握Servlet技術(shù)的常規(guī)應(yīng)用 掌握Servlet的配置方法 熟練運用Servlet過濾器,4.1 工作場景,什么是Servlet,用 Java 編寫的服務(wù)器端程序 Servlet有一套專門的API Servlet運行于Web容器中,執(zhí)行服務(wù)器端處理 Servlet可以接受/響應(yīng)用戶的請求,4.2 Servlet體系結(jié)構(gòu),Servlet使用以下包中的類和接口: javax.servlet.http 稱為HttpServlet-HTTP Servlet,Servlet必須實現(xiàn) javax.servlet.Servlet 接口 通過擴
2、展GenericServlet類或 HttpServlet類實現(xiàn),HttpServlet類,1、HttpServlet類是一個抽象類 2、從該類派生出一個子類來實現(xiàn)一個HttpServlet 3、請求和響應(yīng)都發(fā)送到Servlet中的service方法,service方法可以細分為:doGet doPost 4、在HttpServlet的子類中,經(jīng)常重載以下方法之一 1 :doGet 2 :doPost 5、在Html表單提交數(shù)據(jù)時,使用的最多的是Post而非Get,4.2 Servlet程序結(jié)構(gòu),protected void doGet(HttpServletRequest request,
3、HttpServletResponse response) throws ServletException, IOException this.doPost(request, response); / doPost方法,設(shè)置響應(yīng)編碼類型為GB2312,并向客戶端輸出消息 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException response.setCharacterEncoding(GB2312); PrintWri
4、ter out = response.getWriter(); out.println(“一個簡單的Servlet程序,此時調(diào)用的doGet或doPost方法!); ,4.2 Servlet程序結(jié)構(gòu),運行結(jié)果,4.2 Servlet程序結(jié)構(gòu),doPost方法 doPost方法用于客戶端把數(shù)據(jù)傳送到服務(wù)器。它可以 用隱藏表單域隱式的向服務(wù)端發(fā)送任何數(shù)據(jù)。 doGet方法 doGet方法用于獲取服務(wù)器信息,并將其作為響應(yīng)返 回給客戶端。通常,直接訪問Servlet的URL時,一般使 用doGet方法。它在URL里顯式地向Servlet傳送數(shù)據(jù),比 如提交認證信息時,可以直接在瀏覽器URL里看到用戶
5、 名和密碼,從而帶來系統(tǒng)的安全問題。,4.3處理HTTP POST/GET請求,doGet方法和doPost方法分別對應(yīng)HTTP協(xié)議的GET和POST請求方法,F(xiàn)orm表單通過設(shè)置Method屬性來設(shè)置請求方法(Method屬性可以設(shè)置為Get或者Post)。,4.3.1 讀取表單參數(shù),/ 讀取表單參數(shù) String userType = request.getParameter(rdbUser); String username = request.getParameter(“txtUsername”); String password = request.getParameter(txtP
6、assword);,顯示表單提交的信息,Protected void dopost() if (userType.equals(1)userType=學(xué)生; else if(userType.equals(2)userType=教師; else userType=管理員; /設(shè)置響應(yīng)的內(nèi)容類型 response.setCharacterEncoding(utf-8); /設(shè)置響應(yīng)的編碼類型 response.setContentType(text/html); PrintWriter out = response.getWriter(); /顯示認證信息 out.println(客戶端認證請求
7、的相關(guān)信息:); out.println(,4.3.1 讀取表單參數(shù),運行結(jié)果,4.3.2處理無效參數(shù),用戶驗證時提交參數(shù)要求: 用戶名(txtUsername)該屬性不能為空 用戶密碼(txtPassword)該屬性不能為空 用戶身份(rdbUser)該屬性在錄入表單中有默認值,故不會出現(xiàn)無效值,?,4.3.2處理無效參數(shù),4.3.2處理無效參數(shù),運行結(jié)果,4.3.3共享JavaBean,? 在歡迎頁面中獲取用戶的驗證信息, 針對不同的用戶,顯示不同歡迎信息。 歡迎信息顯示要求: 顯示用戶登錄時所使用的用戶名 顯示成功登錄的用戶的身份,4.3.3共享JavaBean,4.3.3共享JavaB
8、ean,4.3.3共享JavaBean,運行結(jié)果,4.3.4 轉(zhuǎn)發(fā)和重定向客戶請求,? 用戶使用不同的身份登錄,具有不同的用戶 權(quán)限課績管理系統(tǒng)權(quán)限要求: 管理員用戶訪問admin.jsp相關(guān)的內(nèi)容 教師用戶訪問teacher.jsp相關(guān)的內(nèi)容 學(xué)生訪問student.jsp相關(guān)的內(nèi)容 非上述三種身份,不能訪問本系統(tǒng),4.3.4 轉(zhuǎn)發(fā)和重定向客戶請求,4.3.4 轉(zhuǎn)發(fā)和重定向客戶請求,運行結(jié)果,4.4會話管理,會話(Session)是指在一段時間內(nèi),單個客戶與Web服務(wù)器的一連串的交互過程。 會話跟蹤 Cookies URL Rewriting 隱藏表單域,4.4.1 會話跟蹤(Session
9、的應(yīng)用),request對象的方法得到HttpSession對象: 1:public HttpSession getSession (Boolean create); 2:public HttpSession getSession();,4.4.2 Cookie的應(yīng)用,Cookie的格式實際上是一段純文本信息 由服務(wù)器隨著網(wǎng)頁一起發(fā)送到客戶端 并保存在客戶端硬盤中指定的目錄的 服務(wù)器讀取Cookie的時候, 只能夠讀取到這個服務(wù)器相關(guān)的信息,Cookie cookie=new Cookie(username,“QY); / 設(shè)置Cookie的存活時間為30分鐘 cookie.setMaxAge
10、(30*60); / 寫入客戶端硬盤 response.addCookie(cookie); out.print(寫Cookie完成);,4.4.3 URL Rewriting,如果用戶的瀏覽器不支持Cookie,或者用戶禁用了Cookie,將不能使用Cookie來追蹤所記錄的Session信息。此時可以使用URL重寫的方法,向URL中插入Session ID,來跟蹤 Session信息。,4.4.4 隱藏表單域,在課績管理系統(tǒng)/login.jsp中添加隱藏表單字段,保存Session ID實現(xiàn)會話跟蹤: ,4.5 使用Servlet過濾器,Servlet過濾器是小型的Web組件,可以用來驗證
11、客戶是否來自可信的網(wǎng)絡(luò);可以驗證客戶是否已經(jīng)登錄;可以記錄系統(tǒng)日志等。,創(chuàng)建過濾器,4.5 使用Servlet過濾器,4.5 使用Servlet過濾器,成功創(chuàng)建過濾器后,還需要在應(yīng)用中進行相關(guān)部署: 配置web.xml文件:,4.6 Servlet異常處理,在Servlet中出現(xiàn)異常時,可以采取3種方法進行處理: 在try.catch語句 catch語句塊中直接向用戶顯示一個錯誤信息的頁面。 在try.catch語句 catch語句塊中將錯誤轉(zhuǎn)發(fā)到一個專門用于錯誤處理的Servlet或JSP頁面中。 在web.xml中指定進行處理。,4.6 Servlet異常處理,1、創(chuàng)建錯誤提示頁面:,4.6 Servlet異常處理,2、配置web.xml指定錯誤頁面:,4.6 Servlet異常處理,4.
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 委托水路運輸合同協(xié)議
- 家庭菜單采購合同協(xié)議
- 奶茶鋪員工合同協(xié)議
- 寬帶代理商合同協(xié)議
- 中小學(xué)校長教育政策法規(guī)培訓(xùn)
- 家具設(shè)計師工作合同協(xié)議
- 探索衛(wèi)生管理考試的深度試題及答案
- 光電技術(shù)在農(nóng)業(yè)生產(chǎn)中的重要性試題及答案
- 2024年專利代理人資格考試常見試題及答案
- 光電工程師證書考試實踐能力考核試題及答案
- 口服抗栓藥物相關(guān)消化道損傷防治專家共識(2021)解讀
- 老年人健康宣教課件
- 2025年內(nèi)蒙古自治區(qū)專業(yè)技術(shù)人員繼續(xù)教育公需科目試題及答案
- 2025年華能青海分公司招聘筆試參考題庫含答案解析
- 新能源微電網(wǎng)(光儲柴混)海外市場及經(jīng)典案例分享-中騰微網(wǎng)
- 人教版小學(xué)二年級下冊數(shù)學(xué)期中測試卷及完整答案【名校卷】
- 2024-2030年中國保理行業(yè)運行狀況與前景趨勢分析報告
- 勞動力材料投入計劃及保證措施機械設(shè)備投入計劃
- 《吸光度與透過率》課件
- 拍賣行業(yè)區(qū)塊鏈技術(shù)與藝術(shù)品鑒定方案
- 得表揚了課件
評論
0/150
提交評論