第十五天:總結

1.Filter的入門,工作原理
  a.接口:Filter, FilterConfig, FilterChain
  b.在web.xml中的配置
  c.得到初始化參數,它將初始化信息封裝成FilterConfig對象
    和Servlet類似,玩一下那些方法
  d.多個url-mapping 同樣和Servlet類似
  e.Filter的生命週期:
     (1)init  -->  FilterConifg
     (2)doFilter  --> request, response, FilterChain
     (3)destory  --> 考慮:怎麼實現被容器調用的
        模板方法設計模式嗎?但是我覆蓋了它,它還怎麼銷燬
  f.doFilter中 “放行”
    chain.doFilter(request, response);
    “棧” 在這種是怎麼體現的
     FilterChain是容器提供的,只有容器知道是否還有過濾器
  g.過濾器 攔截的是服務器拿頁面
  h.兩種映射方式:url-pattern 或 servlet-name
  i.指定過濾器所攔截的資源被Servlet容器調用的方式
    實驗四種:REQUEST, FORWARD, INCLUDE, ERROR
    實驗多種組合,REQUEST是什麼意思,它包含FORWARD和INCLUDE嗎? 
  j.過濾器在web.xml中 映射的次序

2.FilterChain
  a.chain.doFilter(request, response)  “放行”
    多個過濾器
  b.考慮:多個過濾器與多種映射結合,能產生什麼?

3.中文亂碼
  a.在<init-param>中配置編碼
  b.取得編碼,request 和 response分別設置
  d.b步驟只對POST方式的請求有用,
    對於GET方式的請求有如下考慮:
    (1)依照Servlet的思想:有兩種解決辦法:
       一種是在配置文件中改URLBODY
       另一種是對獲取的參數先編碼,後解碼
    (2)得到參數沒問題 , getParameterNames() getParameter(XXX)
    (3)將編碼,解碼後的參數傳給request就出現問題了
       因爲沒有setParameter,有的是setAttribute,這就是不適合了,
       鬼知道你參數叫什麼
    (4)由以上嘗試,引出包裝
       HttpServletRequestWrapper  實現了HttpServletRequest接口
       HttpServletResponseWrapper 實現了HttpServletResponse接口
       將原來的request包裝:如果method爲GET的話,就編碼、解碼
       傳給chain.doFilter(request, response);
   e.包裝設計模式

4.禁止緩存
  a.還是那哥們的話:Filter上來就把request, response強轉爲httpXXX
    三句話都寫上
  b.禁止緩存,但是要緩存圖片和CSS
    圖片:Tomcat服務器會緩存
    CSS:??
  c.HTTP1.1 持久連接的
    多個圖片變成一張圖片,減小服務器的鏈接數

5.實現URL級別的權限認證
  a.filter中在web.xml中配置
    在以下兩個地方做手腳:
    url-pattern 將攔截的資源分類:/admin/* , /manager/*, /user/*
    init-param中設置權限 和 該權限訪問時一部分地址爲啥   
  b.XXX.java (Servlet) 映射爲url-pattern的形式
    這個好像插座:想過濾就這樣配,不想過濾就不這樣配 --> 過濾程序就在那,愛插不插
  c.用.xml模擬數據庫,CRUD
  d.權限,有權限就可以進,沒權限就進不了
  e.一個角色有多個權限,它是admin的,它就是老大,就可以admin還可以manager和user
  f.授權 checkbox 更新
  h.註冊 添加
  i.刪除

6.考慮這個問題:
  我有總經理權限以下的東西你都可以看,怎麼實現

7.有時間的話,敲完昨天的文件上傳與下載

8.有時間的話,複習動態代理,和cglib
  動態代理 它的權限是怎麼處理的

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章