版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 Hands-On實訓教程系列實訓教程系列企業(yè)應用實訓教程企業(yè)應用實訓教程JSP企業(yè)級應用企業(yè)級應用 Hands-On實訓教程系列實訓教程系列案例一案例一 過濾器過濾器Filter Hands-On實訓教程系列實訓教程系列教學目標教學目標 l1.1 Filter簡介簡介l1.2 Filter的運作方式的運作方式l1.3 Filter的定義與映射的定義與映射l1.4 Filter API介紹介紹 Hands-On實訓教程系列實訓教程系列工作任務工作任務 l在在Eclipse3.2IDE+Tomcat6.0環(huán)境中,編寫一環(huán)境中,編寫一個登錄的例子,編寫兩個過濾器,個登錄的例子,編寫兩個過濾器,F(xiàn)i
2、lterDemo1過濾器用來對字符編碼進行過濾,過濾器用來對字符編碼進行過濾,F(xiàn)ilterDemo2過濾器用來對頁面權限的過濾。過濾器用來對頁面權限的過濾。 Hands-On實訓教程系列實訓教程系列新建項目和開發(fā)目錄新建項目和開發(fā)目錄 l新建一個名為新建一個名為Login的的Tomcat Porject項目項目 l在在Login項目的目錄中:項目的目錄中:創(chuàng)建一個創(chuàng)建一個Hello的文件夾,其包括登錄頁面的文件夾,其包括登錄頁面hello.jsp 創(chuàng)建一個創(chuàng)建一個End的文件夾,其包括:登錄成功頁、的文件夾,其包括:登錄成功頁、密碼錯誤頁和用戶名錯誤頁密碼錯誤頁和用戶名錯誤頁 l在在WEB-I
3、NF/src中創(chuàng)建中創(chuàng)建demo.filter和和demo.servlet兩個包兩個包 l在在WEB-INF中創(chuàng)建中創(chuàng)建web.xml配置文件配置文件 Hands-On實訓教程系列實訓教程系列編寫登錄頁面編寫登錄頁面l編寫編寫Hello文件夾中的登錄頁面(文件夾中的登錄頁面(hello.jsp):): 用戶名用戶名: 密密 碼碼: Hands-On實訓教程系列實訓教程系列編寫字符編碼過濾器編寫字符編碼過濾器1l新建和編寫新建和編寫FilterDemo1類類導入需要的類和接口導入需要的類和接口import java.io.IOException;import javax.servlet.Filt
4、er;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;import javax.servlet.http.HttpServletRequest; Hands-On實訓教程系列實訓教程系列編寫字符編碼過濾器編寫字符編碼過濾器2l繼承繼承Filter接口接口 lInit()方法中設置字符編碼方法
5、中設置字符編碼filterConfig = filterconfig;targetEncoding = filterconfig.getInitParameter(encoding); Hands-On實訓教程系列實訓教程系列編寫字符編碼過濾器編寫字符編碼過濾器3ldoFilter()方法中設置請求的字符編碼方法中設置請求的字符編碼lsetFilterConfig()設置過濾器配置環(huán)境設置過濾器配置環(huán)境ldestroy() 銷毀過濾器銷毀過濾器HttpServletRequest httpservletrequest =(HttpServletRequest)request;httpservl
6、etrequest.setCharacterEncoding(targetEncoding);filterchain.doFilter(request, response); Hands-On實訓教程系列實訓教程系列編寫驗證權限過濾器編寫驗證權限過濾器l新建和編寫新建和編寫FilterDemo2類類 繼承繼承Filter接口接口編寫編寫doFilter()方法方法username = (String) session.getAttribute(username);if (username!= null&username.equals(handson)chain.doFilter(req
7、uest, response);elsehttpRequest.getRequestDispatcher(/Hello/hello.jsp).forward(httpRequest, httpResponse); Hands-On實訓教程系列實訓教程系列編寫編寫HelloServlet類類 l繼承繼承HttpServlet類類l編寫編寫doGet()方法方法l編寫編寫doPost()方法方法if(username!=&username.equals(handson)if(pwd!=&pwd.equals(handson)session.setAttribute(username
8、, username);response.sendRedirect(./End/success.html);elseresponse.sendRedirect(./End/error.html);elseresponse.sendRedirect(./End/faild.html); Hands-On實訓教程系列實訓教程系列配置過濾器配置過濾器1l配置配置FilterDemo1過濾器過濾器FilterDemo1demo.filter.FilterDemo1encodingGB2312FilterDemo1/* Hands-On實訓教程系列實訓教程系列配置過濾器配置過濾器2l配置配置Filter
9、Demo2過濾器過濾器FilterDemo2demo.filter.FilterDemo2FilterDemo2/End/* Hands-On實訓教程系列實訓教程系列配置配置Servletl配置配置HelloServlet類類HelloServlet demo.servlet.HelloServlet HelloServlet /HelloServlet.do Hands-On實訓教程系列實訓教程系列創(chuàng)建頁面創(chuàng)建頁面l創(chuàng)建創(chuàng)建success.html頁面頁面 l創(chuàng)建創(chuàng)建error.html頁面頁面 l創(chuàng)建創(chuàng)建faild.html頁面頁面 Hands-On實訓教程系列實訓教程系列總結總結lFil
10、ter的運作方式的運作方式lFilter的定義與映射的定義與映射lFilter API介紹介紹 Hands-On實訓教程系列實訓教程系列過濾器簡介過濾器簡介 lFilter是在是在Servlet 2.3和和JSP 1.2才新增加進來的功才新增加進來的功能。能。過濾器可附加到一個或多個過濾器可附加到一個或多個servlet或或JSP頁面頁面上,并且可以檢查進入這些資源的請求信息。過濾上,并且可以檢查進入這些資源的請求信息。過濾器可以做到:器可以做到:以常規(guī)的方式調用資源(即,調用以常規(guī)的方式調用資源(即,調用servlet或或JSP頁面)頁面)利用修改過的請求信息調用資源利用修改過的請求信息調用
11、資源調用資源,但在發(fā)送響應到客戶機前對其進行修改調用資源,但在發(fā)送響應到客戶機前對其進行修改阻止該資源調用,代之以轉到其他的資源,返回一個特定阻止該資源調用,代之以轉到其他的資源,返回一個特定的狀態(tài)代碼或生成替換輸出的狀態(tài)代碼或生成替換輸出 Hands-On實訓教程系列實訓教程系列過濾器的運作方式過濾器的運作方式 l攔截從客戶端發(fā)來的請求,對請求進行相應處攔截從客戶端發(fā)來的請求,對請求進行相應處理,根據(jù)配置,發(fā)送到下一個過濾器理,根據(jù)配置,發(fā)送到下一個過濾器l在下一個過濾器中,進行進一步的處理,發(fā)送在下一個過濾器中,進行進一步的處理,發(fā)送到下一個過濾器到下一個過濾器l如此循環(huán),直到傳遞到如此循
12、環(huán),直到傳遞到Servlet、頁面或者發(fā)、頁面或者發(fā)送響應到客戶端送響應到客戶端 Hands-On實訓教程系列實訓教程系列Filter接口接口1 l一個執(zhí)行過濾器的一個執(zhí)行過濾器的Java類必須實現(xiàn)類必須實現(xiàn)javax.servlet.Filter接口。接口中含有三個過接口。接口中含有三個過濾器必須執(zhí)行的方法:濾器必須執(zhí)行的方法:init():容器所調用的初始化方法。它保證了在第:容器所調用的初始化方法。它保證了在第一次調用一次調用doFilter()前由容器調用。能獲取在前由容器調用。能獲取在web.xml文件中指定的初始化參數(shù)。該方法接受文件中指定的初始化參數(shù)。該方法接受一個一個Filte
13、rConfig類型的對象作為輸入類型的對象作為輸入 Hands-On實訓教程系列實訓教程系列Filter接口接口2doFilter():完成過濾行為的方法。過濾器擁有單:完成過濾行為的方法。過濾器擁有單個用于處理請求和響應的方法個用于處理請求和響應的方法doFilter()。這個方。這個方法接受三個輸入?yún)?shù):一個法接受三個輸入?yún)?shù):一個ServletRequest、一、一個個ServletResponse和一個和一個FilterChain對象。引對象。引入的入的FilterChain對象提供了后續(xù)過濾器所要調用對象提供了后續(xù)過濾器所要調用的信息的信息destroy():方法執(zhí)行任何清理操作,這
14、些操作需:方法執(zhí)行任何清理操作,這些操作需要在自動垃圾收集之前進行要在自動垃圾收集之前進行 Hands-On實訓教程系列實訓教程系列Filter的定義與映射的定義與映射1 l所有配置包含在所有配置包含在和和 中中元素名元素名必需必需/可選可選描述描述filter-name必需必需給過濾器分配一個選定的名字給過濾器分配一個選定的名字display-name可選可選過濾器別名過濾器別名description可選可選描述過濾器功能,及其它注釋描述過濾器功能,及其它注釋filter-class必需必需指定過濾器實現(xiàn)類的完全限定名指定過濾器實現(xiàn)類的完全限定名init-param可選可選定義可利用定義可利用FilterConfig的的getInitParameter方法讀方法讀取的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 大學校醫(yī)院工作總結
- 2024年高考政治專題復習中華文化提升練習題含解析
- 城市更新旅游合同管理辦法
- 物流貨物倉儲合同文本
- 木質健身器材制作合同
- 市場營銷助理招聘合同
- 幼兒園兒童博物館租賃合同
- 教育培訓展示租賃合同
- 計算機硬件生產項目施工合同模板
- 設備租賃合同:藝術展覽
- 某戶外亮化工程冬雨季、夜間施工措施
- 2024年汽車維修工高級(三級)技能鑒定考試復習題庫-下(多選、判斷題匯總)
- 2024年山東黃金集團有限公司招聘筆試參考題庫附帶答案詳解
- 醫(yī)院培訓課件:《危重患者護理文書書寫規(guī)范》
- 小學數(shù)學創(chuàng)新作業(yè)設計研究的中期成果
- 糖皮質激素在呼吸科應用課件
- 二年級《小鯉魚躍龍門》閱讀題及答案
- 美術新課標培訓課件
- 醫(yī)院醫(yī)療質量管理委員會會議記錄五篇
- WIFI基礎知識簡介課件
- 以冬奧會為主題創(chuàng)業(yè)計劃書
評論
0/150
提交評論