2016年2月11日 星期四

JAVA SL-314_01/31

過濾器

JSP可以完成的servlet都可以完成,但是servlet具備的有很多事JSP所沒有的。

Servlet 可以分成簡單Servlet,過濾Servlet監聽Servlet

Filter 是 2.3 版之後新增的用意是在限制使用者存取某些資源或處理請求時先處理某些資源,他是用來 "鏈" 的形式進行綁定。

客戶端 → Filter → Filter → Filter → Web資源
                   |______________|
       可以定義數個Filter

doFilter() 方法中定義了3個參數:

ServletRequest

ServletResponse

FilterChain → 介面

將使用者請求向下傳遞給其他的Filter或Servlet
        ↓
取得session
        ↓
        ↓    false
屬性存在     →     跳躍到登入頁
        ↓                         ↓
傳送請求   ← ← ← ←

/=================================================================/

監聽器

負責監聽Web的各種操作,當相關的事件觸發後,將產生的事件,並對此事件進行處理,在web中可以對application,session,resquest 三種進行監聽。

applicatic 實際上是針對ServletContext(Servlet 上、下文)監聽,使用的是ServletContextListener和ServletContextAttributeLister介面。

session 主要是HttpSessionListener.HttpSessionAttributeListener.HttpSessionBindingListener介面。

request 針對使用者每次使用時都進行監聽,2.4版之後新增ServletRequestListener.ServletRequestAttributeListener介面。

沒有留言:

張貼留言