一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

JSP Filter的應用方法

Servlet有一個很有意思也很有用的功能,就是Filter。 所謂Filter,就是在用戶請求到達 Servlet 之前、或者 Servlet 執行之后, 執行的一段小程序,這段程序可以對用戶請求做預處理, 或者對Servlet返回的結果進行一些公用處理。
Filter可以在請求到達 Servlet 之前執行, 甚至即使請求一個靜態頁面或圖片等,Filter也會被優先執行。 這樣我們可以通過Filter對應用程序內的所有對象(包括Java程序和靜態內容)進行預處理。 (這個功能恐怕php程序就無法做到了。)

Filter通常可用于以下幾種情況:
•認證
•記錄訪問日志
•加密解密
•字符編碼轉換
•數據壓縮

如上面最常用的“認證”,可以在Filter中書寫認證代碼, 這樣不僅省卻了在Servlet中認證的麻煩,而且還能控制網站中靜態內容的訪問。
Filter是個接口,位于 Javax.servlet.Filter。它與其他接口的關系如下:

我們在書寫自己的Filter時,只需寫一個類實現 Filter 接口即可。
實現Filter接口需要實現以下幾個方法:
復制代碼 代碼如下:
void init(FilterConfig filterConfig) throws ServletException

Filter的初始化方法。
復制代碼 代碼如下:
void destroy()

Filter結束之前執行的方法。
復制代碼 代碼如下:
void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException

Filter的執行內容。參數request和response分別為輸入和輸出參數,而chain則為Filter鏈對象。
所謂FilterChain,一個應用程序內的Filter可以有多個,它們像鏈子一樣串在一起, 其中的某個Filter執行之后,可以調用chain.doFilter(request, response)將執行權轉給下一個Filter, 直到所有的Filter都執行完畢。
這次的示例程序我們修改了上一節的登錄程序, 為它增加了一個下載鏈接(詳見SessionTest.Java)。 這個下載鏈接指向 img/sample.jpg。 我們希望能通過一個Filter,在用戶試圖下載 img/sample.jpg 時驗證用戶身份, 如果驗證失敗,則禁止用戶下載,并跳轉到登錄頁面。
創建Filter時可惜不能像Servlet那樣,直接從右鍵菜單中選擇新建, 而只能先寫好源代碼然后手工添加到web.xml中。 如下圖,在新建類時注意要實現Javax.servlet.Filter接口。

寫完代碼之后,打開web.xml文件,手工添加Filter。與Servlet類似,你需要添加 和 兩個標記。這里我們要對 /img/ 下的所有文件進行登錄驗證, 因此的 url-pattern 處我們填寫了 /img/* 。

最后執行,訪問 /LearnJSP/img/sample.jpg ,就會跳轉到登錄頁面。 登錄之后再次訪問上面的鏈接,才能看到正確的圖片。

示例下載:servlet-filter_jb51NET.zip

jsp技術JSP Filter的應用方法,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 色多多网站 | 国产精品福利午夜在线观看 | 久久香蕉热 | 国产精品视频播放 | 综合网天天 | 真实国产乱弄免费视频 | 日韩精品一区二区三区在线观看 | 国产二级毛片 | 欧美激情成人网 | 加勒比热 | 99国产成人高清在线视频 | 在线观看色网 | 一区二区三区视频观看 | 免费人成在线蜜桃视频 | 亚洲欧美视频网站 | 香蕉97碰碰视频免费 | 色多多在线观看 | 九九精品久久 | 精品国产一区二区三区免费看 | 国产情侣真实露脸在线 | 中文字幕有码热在线视频 | 人人澡人人澡人人看青草 | 国产精品麻豆99久久 | 日韩 欧美 国产 亚洲 中文 | 日韩成人一级 | 97久久精品视频 | 国产区91 | 一本色道久久88加勒比—综合 | 日本欧美一二三区色视频 | 久久精品伦理 | 91福利刘玥国产在线观看 | 色综合久久加勒比高清88 | a亚洲va韩国va欧美va久久 | 国产福利精品在线 | 激情文学综合 | 东日韩二三区 | 男女毛片免费视频看 | 米奇狠狠干 | 亚洲人精品| 久久大香香蕉国产免费网站 | 99在线免费播放 |