亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

Java Web開發技術應用——過濾器

難度初級
時長 1小時40分
學習人數
綜合評分9.53
339人評價 查看評價
9.8 內容實用
9.5 簡潔易懂
9.3 邏輯清晰
  • 生命周期.

    查看全部
  • 做筆記了.

    查看全部
  • 過濾器處理亂碼問題,在doFilter中添加request.setCharacterEncoding(charset)

    查看全部
    0 采集 收起 來源:編碼轉換案例

    2019-11-14

  • 過濾器在實際項目中的應用場景

    1、對用戶請求進行統一認證(判斷當前用戶是否符合認證條件,不符合時進行一些處理)——>登陸校驗

    2、編碼轉換(轉換一些字符集編碼,防止開發中亂碼問題)

    3、對用戶發送的數據進行過濾替換(防止注入一些攻擊,對參數進行檢測和判別)

    4、轉換圖像格式(對response進行后處理,并轉換它的格式輸出)

    5、對響應的內容進行壓縮(可以對內容進行加密操作,數據拿過來時進行加密,加密之后解析再返回給用戶)


    查看全部
    0 采集 收起 來源:登錄案例

    2019-11-14

  • Servlet3.0支持異步處理,Filter可以支持異步操作模式。

    @WebFilter中asyncSupported設置為true,dispatcherTypes屬性中添加DispatcherType.ASYNC

    request中的startAsync()表示開啟異步操作,返回AsyncContext對象。將此對象傳給線程可以獲取request,response對象。

    http://img1.sycdn.imooc.com//5dcd2b660001308008430154.jpg

    使用線程對事務異步處理

    http://img1.sycdn.imooc.com//5dcd29000001067e07610334.jpg

    web.xml中Servlet要配置支持異步

    http://img1.sycdn.imooc.com//5dcd2be20001a8ff08120077.jpg

    從結果來看業務是由線程異步完成,線程休眠10s后輸出結果

    http://img1.sycdn.imooc.com//5dcd2c46000144a005390114.jpg





    查看全部
    • ERROR:目標資源是通過聲明式異常處理機制調用時,過濾器將被調用。

    在web.xml中配置錯誤狀態碼,錯誤頁面路徑。

    http://img1.sycdn.imooc.com//5dca78710001a12603950094.jpg

    再配置過濾器處理異常請求,url-pattern配置為錯誤頁面路徑,注意dispatcher必須要配置為ERROR,才能在發生錯誤,跳轉到錯誤頁面時調用過濾器。

    http://img1.sycdn.imooc.com//5dca78b10001556306900193.jpg

    • Servlet3.0 ASYNC 支持異步處理:Filter將異步處理完成相關操作,將一直往下執行。

      @WebFilter 用于將一個類聲明為過濾器,該注解將會在部署時被容器處理,容器將根據具體的屬性配置將相應的類部署為過濾器。

      http://img1.sycdn.imooc.com//5dca804a0001b45608660103.jpg

      http://img1.sycdn.imooc.com//5dca81d50001706908750515.jpg

    查看全部
  • Servlet2.5中過濾器的分類:

    • REQUEST:用戶直接訪問頁面時,Web容器將會調用過濾器。

    • FORWARD:目標資源是通過RequestDispatcher的forward訪問時,該過濾器將被調用。

    • INCLUDE:目標資源是通過RequestDispatcher的include方法調用時,過濾器將被調用。


    重定向sendRedirect,屬于REQUEST行為,會被dispatcher配置為REQUEST的Filter處理。

    轉發getRequestDispatcher().forward(req,res),屬于FORWARD行為,會被dispatcher配置為FORWARD的Filter處理。

    getRequestDispatcher().include(req,res),屬于INCLUDE行為,會被dispatcher配置為INCLUDE的Filter處理。

    http://img1.sycdn.imooc.com//5dca6fae00013de007530093.jpg

    在jsp頁面使用jsp動作標簽forward,include 也能實現被相應過濾器處理。

    http://img1.sycdn.imooc.com//5dca71570001578605880053.jpg

    查看全部
  • 過濾器鏈:針對一個用戶的請求,找到匹配的過濾器有多個。服務器會按照web.xml中過濾器定義的先后順序組裝成一條鏈。

    執行順序:用戶的請求到達過濾器1,執行過濾器1的Chain.doFilter放行前的代碼,過濾器1放行后,請求到達過濾器2的Chain.doFilter放行前的代碼,過濾器2放行后,請求到達web資源。響應數據首先,返還給過濾器2,執行過濾器2的Chain.doFilter后的代碼,再執行過濾器1的Chain.doFilter后的代碼,最后響應給用戶。http://img1.sycdn.imooc.com//5dca69510001d4f410040530.jpg

    查看全部
    1. 實現javax.servlet.Filter接口

      http://img1.sycdn.imooc.com//5dc7c6a80001eac309170515.jpg

    2. 在web.xml中注冊

      http://img1.sycdn.imooc.com//5dc7c4ea00014e0308180529.jpg

      針對一個<filter>?可以配置多個<filter-mapping>

      <url-pattern>中? * 代表任意值? ?/index*代表index為前綴的URL, /*代表所有URL。

      http://img1.sycdn.imooc.com//5dc7ca990001dcd405920088.jpg

      在的FilterChain的dofilter(servletRequest, servletResponse)方法執行后,訪問JSP(目標資源)后,才繼續往下執行。

    問題環節:

    【1】過濾器是否能改變用戶請求的Web資源呢?也就是能否改變用戶請求的路徑?

    答:可以,比如:登錄,檢測到不符合要求,則可以跳轉到登陸頁面。

    【2】過濾器能否直接返回數據,能不能直接處理用戶請求?

    答:不可以,因為Filter不是標準的Servlet,不能把數據直接返回到用戶請求,只能跳轉到Web請求的資源,或者跳轉、重定向到其他的Web資源。

    查看全部
  • web容器啟動時加載過濾器,用戶的請求經過過濾器,再由過濾器將請求發送給Web資源,Web資源的響應發送給過濾器,過濾器將Web資源的響應發送給用戶。

    http://img1.sycdn.imooc.com//5dc7bffc0001073708540517.jpg

    過濾器的生命周期:

    web容器啟動時根據web.xml的配置實例化一次,初始化。

    過濾是根據過濾器中的doFilter()方法。

    web容器關閉時過濾器銷毀。


    http://img1.sycdn.imooc.com//5dc7c00600011fe508340543.jpg

    查看全部
  • 過濾器:過濾源、過濾規則、過濾結果

    Web過濾器過濾用戶請求,不處理結果

    過濾器定義:過濾器是一個服務端的組件,它可以截取用戶端的請求與響應信息,并對這些信息過濾。

    查看全部
  • init();//初始化

    dofilter();//執行

    destroy();//銷毀過濾器


    查看全部
  • 過濾器在web.xml中配置且只加載一次

    查看全部
  • 通過在過濾器中修改字符編碼的方式

    查看全部
    0 采集 收起 來源:編碼轉換案例

    2019-09-05

  • 請求中文參數亂碼的修改方式:

    1. 修改tomcat字符集;

    2. 添加編碼過濾器;

    3. 代碼中通過getBytes()獲取字節碼強制轉換。

    查看全部
    0 采集 收起 來源:編碼轉換案例

    2019-09-05

舉報

0/150
提交
取消
課程須知
童鞋們,過濾器是Java Web開發的內容。學習前需要掌握Java基礎知識、并熟悉JSP和Servlet。如未學習上述知識,可移步網站相關課程。
老師告訴你能學到什么?
通過本課程的學習,你可以了解過濾器的基礎知識,并可以自己動手編寫過濾器。

微信掃碼,參與3人拼團

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!