中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java web三件套listener、filter、servelt的示例分析

發布時間:2021-07-02 10:19:35 來源:億速云 閱讀:164 作者:小新 欄目:編程語言

這篇文章將為大家詳細講解有關Java web三件套listener、filter、servelt的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

一、listener、filter、servelt 的執行順序和生命周期

1、啟動順序

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

2、生命周期

查看結束和運行時候的日志不難發現:

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

  • ServletRequestListener (用來監控 session 的創建,銷毀等):每次訪問一個 Request 資源前,都會執行 requestInitialized() 方法,方法訪問完畢,都會執行 requestDestroyed() 方法。

  • ServletRequestListener (用于監控 servlet 上下文 request ):每次調用 request.getSession(),都會執行 sessionCreated() 方法,執行 session.invalidate() 方法,都會執行sessionDestroyed() 方法。

  • ServletRequestAttributeListener (用于監控 request 中的 attribute 的操作):每次調用 request.setAttribute() 都會執行 attributeAdded() 方法,如果 set 的 key 在 request 里面存在,就會執行 attributeReplacerd() 方法,調用 request.removeAttribute() 方法,都會執行 attributeRemoved() 方法。

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

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

二、http 協議中 get 請求和 post 請求區別

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

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

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

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

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

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

關于“Java web三件套listener、filter、servelt的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

新民市| 井研县| 丹凤县| 博白县| 九龙城区| 福海县| 建瓯市| 宁晋县| 固安县| 通辽市| 吉安市| 临武县| 葵青区| 许昌市| 定西市| 丰宁| 阜阳市| 四会市| 景泰县| 德兴市| 雷山县| 太原市| 海宁市| 通州市| 延津县| 上虞市| 丰镇市| 英吉沙县| 宾川县| 千阳县| 松潘县| 舒城县| 平安县| 溆浦县| 扎鲁特旗| 手游| 泸溪县| 大连市| 会宁县| 湘潭县| 石林|