亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

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

瀏覽:3日期:2022-09-04 16:11:43

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

1、啟動(dòng)順序

想知道 web 三大件的啟動(dòng)順序其實(shí)只需要查看啟動(dòng)日志就好了,啟動(dòng)順序?yàn)椋簂istener、filter、servelt

2、生命周期

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

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

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

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

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

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

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

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

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

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

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

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

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 日韩激情成人 | 日韩六九视频 | 欧美精品一区二区久久 | 国产尤物在线观看 | 免费精品精品国产欧美在线 | 九九夜夜 | 521香蕉永久播放地址 | 亚洲精品亚洲人成在线麻豆 | 爱爱欧美视频 | 一本久道久久综合狠狠爱 | 国产精品一国产精品 | 最近的免费中文字幕视频 | 在线看成品视频入口免 | 黄色短片在线观看 | 视频一区二区国产无限在线观看 | 日本一级片免费观看 | 久久本道综合色狠狠五月 | 欧美国产合集在线视频 | 精品国产视频在线观看 | 亚洲高清综合 | 7m凹凸国产刺激在线视频 | 国产区香蕉精品系列在线观看不卡 | 国产福利一区二区三区在线观看 | 亚洲综合亚洲综合网成人 | 国内精品久久久久久久aa护士 | 成人综合在线视频 | 欧美色图一区二区 | www.国产成人 | 日本的黄色录像 | 日本欧美韩国一区二区三区 | 91久久另类重口变态 | 娇喘嗯嗯~轻点啊视频福利 | 欧美成人免费午夜影视 | 精品成人免费自拍视频 | 国产极品白嫩超清在线观看 | 国产高清福利91成人 | 高h文bl | 风间中文字幕亚洲一区中文馆 | 又爽又黄又无遮挡的激情视频免费 | 91香蕉视频在线看 | 欧美 日韩 亚洲另类专区 |