欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java web三件套listener、filter、servelt原理解析

 更新時間:2020年03月11日 11:33:26   作者:spider_jx  
這篇文章主要介紹了Java web三件套listener、filter、servelt原理解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

一、listener、filter、servelt 的執(zhí)行順序和生命周期

1、啟動順序

想知道 web 三大件的啟動順序其實只需要查看啟動日志就好了,啟動順序為:listener、filter、servelt

2、生命周期

查看結(jié)束和運行時候的日志不難發(fā)現(xiàn):

1> listener 的生命周期:一直從程序啟動到結(jié)束,其中:

  • ServletRequestListener (用來監(jiān)控 session 的創(chuàng)建,銷毀等):每次訪問一個 Request 資源前,都會執(zhí)行 requestInitialized() 方法,方法訪問完畢,都會執(zhí)行 requestDestroyed() 方法。
  • ServletRequestListener (用于監(jiān)控 servlet 上下文 request ):每次調(diào)用 request.getSession(),都會執(zhí)行 sessionCreated() 方法,執(zhí)行 session.invalidate() 方法,都會執(zhí)行sessionDestroyed() 方法。
  • ServletRequestAttributeListener (用于監(jiān)控 request 中的 attribute 的操作):每次調(diào)用 request.setAttribute() 都會執(zhí)行 attributeAdded() 方法,如果 set 的 key 在 request 里面存在,就會執(zhí)行 attributeReplacerd() 方法,調(diào)用 request.removeAttribute() 方法,都會執(zhí)行 attributeRemoved() 方法。

2> Filter 生命周期:程序啟動調(diào)用 Filter 的 init() 法(永遠只調(diào)用一次,具體看啟動日志),程序停止調(diào)用 Filter 的 destroy() 方法(永遠只調(diào)用一次,具體看關(guān)閉日志), doFilter() 方法每次的訪問請求如果符合攔截條件都會調(diào)用(程序第一次運行,會在 servlet 調(diào)用 init() 方法以后調(diào)用,不管第幾次,都在調(diào)用 doGet() , doPost() 方法之前)。

3> Servlet 生命周期:程序第一次訪問,會調(diào)用 servlet 的 init() 方法初始化(只執(zhí)行一次,具體看日志),每次程序執(zhí)行都會根據(jù)請求調(diào)用 doGet() 或者 doPost() 方法,程序停止調(diào)用 destory()方法(具體看結(jié)束日志)。

二、http 協(xié)議中 get 請求和 post 請求區(qū)別

1、post 更加安全不會作為url的一部分,不會被緩存、保存在服務(wù)器日志、以及瀏覽器瀏覽記錄中)

2、GET 把參數(shù)包含在URL中, POST 通過 request body 傳遞參數(shù);

3、post 發(fā)送的數(shù)據(jù)更大( 1> http 協(xié)議并未規(guī)定 get 和 post 的長度限制; 2> get 的最大長度限制是因為瀏覽器和 web 服務(wù)器限制了 URL 的長度; 3> 不同的瀏覽器和 web 服務(wù)器,限制的最大長度不一樣;4> 要支持 IE,則最大長度為 2083byte ,若支持 Chrome ,則最大長度 8182byte);

4、post 能發(fā)送更多的數(shù)據(jù)類型( get只能發(fā)送 ASCII 字符);

5、get 比 post 快;(其一 post 請求包含了很多請求頭,也就是說 post 需要在請求的 body 部分包含數(shù)據(jù);其二 post 在真正接收數(shù)據(jù)之前會先將請求頭發(fā)送給服務(wù)器進行確認,然后才真正發(fā)送數(shù)據(jù)(三次握手);其三 get 會將數(shù)據(jù)緩存起來,而 post 不會;其四 post 不能進行管道化傳輸);

5、post 用于修改和寫入數(shù)據(jù), get 一般用于搜索排序和篩選之類的操作(淘寶,支付寶的搜索查詢都是 get 提交),目的是資源的獲取,讀取數(shù)據(jù);

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java實現(xiàn)布隆過濾器的示例詳解

    Java實現(xiàn)布隆過濾器的示例詳解

    布隆過濾器(Bloom?Filter)是1970年由布隆提出來的,實際上是由一個很長的二進制數(shù)組+一系列hash算法映射函數(shù),用于判斷一個元素是否存在于集合中。本文主要介紹了Java實現(xiàn)布隆過濾器的示例代碼,希望對大家有所幫助
    2023-03-03
  • Java中classpath的基本概念和配置方法詳析

    Java中classpath的基本概念和配置方法詳析

    這篇文章主要介紹了Java中的classpath概念,包括其基本概念、設(shè)置方法以及在Java應(yīng)用中的作用,在IDE中的配置也進行了詳細說明,并提到了一些通用注意事項,需要的朋友可以參考下
    2025-02-02
  • SpringBoot如何動態(tài)改變?nèi)罩炯墑e

    SpringBoot如何動態(tài)改變?nèi)罩炯墑e

    這篇文章主要介紹了SpringBoot如何動態(tài)改變?nèi)罩炯墑e,幫助大家更好的理解和使用springboot框架,感興趣的朋友可以了解下
    2020-12-12
  • idea類名顯示多行的設(shè)置方式

    idea類名顯示多行的設(shè)置方式

    在IntelliJ IDEA中,類名的顯示方式可以通過設(shè)置來調(diào)整,若想設(shè)置為單行顯示,需在設(shè)置中找到相關(guān)選項并勾選“√”,若需多行顯示,則取消勾選即可,此操作有助于優(yōu)化代碼視圖,提升開發(fā)效率
    2024-09-09
  • Java中基于推、拉模式的sentinel規(guī)則持久化詳解

    Java中基于推、拉模式的sentinel規(guī)則持久化詳解

    這篇文章主要介紹了Java中基于推、拉模式的sentinel規(guī)則持久化詳解,推模式是sentinelDashboard?把規(guī)則推給Nacos,Nacos監(jiān)聽規(guī)則的變化推給微服務(wù),拉模式是sentinelDashboard?把規(guī)則直接給微服務(wù),?Nacos定時的同步微服務(wù)端的規(guī)則,需要的朋友可以參考下
    2023-09-09
  • java四種訪問權(quán)限實例分析

    java四種訪問權(quán)限實例分析

    這篇文章主要介紹了java四種訪問權(quán)限實例分析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-10-10
  • springboot運行到dokcer中 dockerfile的場景分析

    springboot運行到dokcer中 dockerfile的場景分析

    這篇文章主要介紹了springboot運行到dokcer中 dockerfile,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-03-03
  • Java中常用判空與判等方法詳解

    Java中常用判空與判等方法詳解

    java中感覺判空的一些方法太多了,感覺有點兒亂糟糟的,所以這篇文中就為大家簡單總結(jié)一下在項目中常用的一些方法吧,希望對大家有所幫助
    2025-03-03
  • Java基于高精度整型實現(xiàn)fibonacci數(shù)列的方法

    Java基于高精度整型實現(xiàn)fibonacci數(shù)列的方法

    這篇文章主要介紹了Java基于高精度整型實現(xiàn)fibonacci數(shù)列的方法,是比較典型的算法,需要的朋友可以參考下
    2014-09-09
  • SpringBoot實現(xiàn)簡單文件上傳功能

    SpringBoot實現(xiàn)簡單文件上傳功能

    這篇文章主要為大家詳細介紹了SpringBoot實現(xiàn)簡單文件上傳功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08

最新評論