基于java servlet過濾器和監(jiān)聽器(詳解)
1 過濾器
1.過濾器是什么?
servlet規(guī)范當中定義的一種特殊的組件,用于攔截容器的調用.
注:容器收到請求之后,如果有過濾器,會先調用過濾器,然后在調用servlet.
2.如何寫一個過濾器?
1.寫一個java類,實現Filter接口;
2.在接口方法中實現攔截方法;
3.配置過濾器(web.xml);
3.配置初始化參數
1.配置初始化參數.(init-param)
2.通過filterconfig提供的getinitparamenter方法讀取初始化的值.
4.優(yōu)先級:
當有多個過濾器都滿足攔截要求,則容器依據<filter-mapping>配置的先后順序執(zhí)行.
2 監(jiān)聽器
1.什么是監(jiān)聽器?
servlet規(guī)范當中定義的一種特殊的屬性,用于監(jiān)聽容器產生的事件的.
注:有兩大類事件
I) 聲明周期相關的事件:
指得是,當容器創(chuàng)建或者銷毀了request,session,servlet上下文對象時,產生的事件.
II) 綁定數據相關的事件:
指的是,當調用了request,session,servlet上下文的setattribute,removeAttrbute時產生的事件.
1.如何寫監(jiān)聽器?
1.寫一個java類實現監(jiān)聽器接口.
注:依據監(jiān)聽的事件類型選擇相應的接口,例如:要監(jiān)聽session創(chuàng)建或者銷毀對應的事件,需要實現httpsessionlistener接口
2.在接口方法中,實現監(jiān)聽處理邏輯;
3.配置監(jiān)聽器(web.xml).
2.Serlvet上下文
1.什么是servlet上下文?
容器啟動以后,會為每一個web應用創(chuàng)建一個唯一符合servletcontext接口的對象,該對象就是servlet上下文.
2.特點:
I) 唯一性:一個web應用對應一個servlet上下文.
II) 持久性:只要服務器不關閉,應用沒有被卸載,則上下文就會一直在.
1.如何獲得servlet上下文?
GenericServlet,ServletConfig,FilterConfig,HttpSession都提供了一個方法(getServletContext)
2.上下文的作用
I) 綁定數據
setattribute,getattribute,removeattribute
注:從生存的時間長度比較:request<session<上下文
在滿足使用條件的情況下,優(yōu)先使用聲明周期短的.
II) 讀取全局的初始化參數.
以上這篇基于java servlet過濾器和監(jiān)聽器(詳解)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
解決Hibernate4執(zhí)行save()或update()無效問題的方法
這篇文章主要為大家詳細介紹了解決Hibernate4執(zhí)行save()或update()無效問題的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-06-06
淺談Java中BIO、NIO和AIO的區(qū)別和應用場景
這篇文章主要介紹了Java中BIO、NIO和AIO的區(qū)別,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-04-04
mybatis-plus 使用Condition拼接Sql語句各方法的用法
這篇文章主要介紹了mybatis-plus 使用Condition拼接Sql語句各方法的用法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-07-07
spring?boot項目實戰(zhàn)之實現與數據庫的連接
在我們日常的開發(fā)過程中,肯定不可避免的會使用到數據庫以及SQL?語句,下面這篇文章主要給大家介紹了關于spring?boot項目實戰(zhàn)之實現與數據庫連接的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2023-05-05

