oracle过滤器基础,Oracle培训(四十六)——Servlet第六章知识点总结——过滤器编程...
Oracle培訓(四十六)——Servlet第六章知識點總結——過濾器編程
目標
編寫一個過濾器
部署一個過濾器
了解請求和響應包裝器
在請求分發器下的過濾器
知識點預覽
過濾器
過濾器
1. 什么是過濾器
a) 過濾器處于請求與請求的資源之間
i. 資源可以是一個servlet JSP頁面 HTML等.
ii. 他們在請求資源前后執行
iii. 請求/響應可能在傳遞前后被修改
iv. 過濾器可能作為鏈的一部分執行
v. 可以使用過濾器器以提供:會話管理、日志記錄、安全、編碼、XML轉換
2. 在J2EE網絡程序中的過濾器
3. 通過過濾器調用路徑資源
4. 網絡層過濾器對象交互圖
5. 過濾器開發步驟
a) 第一步:編寫過濾器類
b) 第二步:編寫測試頁面
c) 第三步:編譯和部署過濾器
d) 第四步:配置運行目錄
e) 第五步:運行
6. 編寫過濾器
a) 實現javax.servlet.Filter接口
i. init(javax.servlet.FilterConfig config)
ii. doFilter(javax.servlet.ServletRequest res, javax.servlet.ServletResponse res, javax.servlet.FilterChain chain)
iii. destroy()
iv. chain.doFilter(javax.servlet.ServletRequest res, javax.servlet.ServletResponse res)
7. 過濾器生命周期
8. 類圖
9. HelloFilter代碼框架
10. 初始化方法
11. doFilter()方法
12. 過濾器執行流程
13. 過濾器配置
a) 在布署描述符中配置過濾器-web.xml
i. 標簽
1.
2.
3.
a)
b)
14. HelloFilter 配置
15. 配置使用過濾器的位置
a) 標簽:
i.
b) 實例:
i. /*所有的地方都通過過濾器
ii. /*.jsp只有jsp頁面通過過濾器
iii. /文件夾名/*只有在某文件夾下的所有頁面,才通過過濾器
iv. /servlet/*與filter映射方式一致的servlet將通過過濾器
16. 攔截請求/響應
a) [Http]ServletRequestWrapper
Add添加額外的內容
b) [Http]ServletResponseWrapper
Set設置額外的請求屬性
c) 過濾器可以包裝請求和響應
d) 給我們能夠改變一個請求數據的能力
改變內容類型
添加或刪除請求的頭信息
e) 包裝響應可以獲取和改變的響應內容
17. 實例—包裝類
18. 實例—過濾器
a) public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
HttpServletRequest httpReq=(HttpServletRequest)request;
chain.doFilter(new MyRequestWrapper(httpReq), response);
}
19. 包裝器
a) Request請求包裝器將會重寫getter()和setter()
b) Response響應包裝器一般會重寫getWriter()和getOutputStream()
i. 為被調用者寫入提供自己的緩沖
ii. 然后能操作緩沖
c) 如果響應包裝器提供自己的緩沖
i. 必須管理響應頭信息以便調用方記得特別設置頭信息長度
20. 在分發器下的過濾器
a) 分發器請求的4種方式
i. REQUEST
ii. INCLUDE
iii. FORWARD
iv. ERROR
b) 設定方法
元素
21. 在分發器下的過濾器
過濾器回顧
過濾器的概念
編寫和部署過濾器
包裝器的概念
編寫包裝器
Filter請求分發器下的過濾器
總結
以上是生活随笔為你收集整理的oracle过滤器基础,Oracle培训(四十六)——Servlet第六章知识点总结——过滤器编程...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle能否生成mdb,oracle
- 下一篇: aes解压命令 linux,Linux使