教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

問答>JavaEE>Filter過濾器有哪些高級應(yīng)用?

Filter過濾器有哪些高級應(yīng)用?

來源傳智教育2022年04月21日 15時28分47秒

  Filter過濾器除了可以獲取到代表用戶請求和響應(yīng)的request、response對象,還可以對request和response對象中的任何信息進(jìn)行修改,可以通過包裝類來實現(xiàn)。在Servlet API中,提供了HttpServletRequestWrapper和HttpServletResponseWrapper兩個類,它們分別是request和response對象的包裝類。

  HttpServletRequestWrapper和HttpServletResponseWrapper作為request和response對象的包裝類,都采用了裝飾設(shè)計模式。所謂裝飾設(shè)計模式,指的是通過包裝類的方式,動態(tài)增強某個類的功能。想要更好地理解裝飾設(shè)計模式,需要了解裝飾設(shè)計模式的3個特點。

  (1)包裝類要和被包裝對象實現(xiàn)同樣的接口。

  (2)包裝類持有一個被包裝對象,例如,在HttpServletRequestWrapper定義的構(gòu)造方法中,需要傳遞一個HttpServletRequestWrapper類型的參數(shù)。

  (3)包裝類在實現(xiàn)接口的過程中,對于不需要包裝的方法原封不動地調(diào)用被包裝對象的方法來實現(xiàn),對于需要包裝的方法自己實現(xiàn)。

和我們在線交談!