更新時(shí)間:2020-10-22 17:56:23 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽1244次
Java Web的三大組件:Filter、Servlet和Listener,一直是Java Web開(kāi)發(fā)基礎(chǔ)中非常重要的知識(shí)和面試考點(diǎn),盡管我們?cè)趯?shí)際中很難同時(shí)接觸這三個(gè)組件,但是還是有備無(wú)患的了解一下。下面為大家一一介紹JavaWeb三大組件。
一、JavaWeb組件一:Servlet
在Java web b/s架構(gòu)中,servlet扮演了重要的角色,作為一個(gè)中轉(zhuǎn)處理的容器,他連接了客戶端和服務(wù)器端的信息交互和處理。簡(jiǎn)單來(lái)說(shuō),客戶端發(fā)送請(qǐng)求,傳遞到servlet容器,而servlet將數(shù)據(jù)轉(zhuǎn)換成服務(wù)器端可以處理的數(shù)據(jù)再發(fā)送給服務(wù)器端,再數(shù)據(jù)處理之后,再傳遞到servlet容器,servlet再轉(zhuǎn)譯到客戶端,完成了一次客戶端和服務(wù)器端的信息交互。
Servlet是通過(guò)Java編寫的,因?yàn)樗簿邆淞薐ava的一些特點(diǎn),比如跨平臺(tái)性,可擴(kuò)展性高,然而他的優(yōu)點(diǎn)不僅僅是局限于語(yǔ)言方面,因?yàn)镾ervlet的出現(xiàn),可以使我們將JSP頁(yè)面中的一些JAVA代碼移植到Servlet中來(lái),可無(wú)疑使前端人員深受喜歡,方便了項(xiàng)目的修改完善,而Servlet的使用也是非常的簡(jiǎn)單。
Servlet的生命周期有四個(gè)階段,第一個(gè)階段,實(shí)例化,會(huì)調(diào)用構(gòu)造方法,第二個(gè)階段是初始化,會(huì)調(diào)用init()方法,第三個(gè)階段是請(qǐng)求處理,調(diào)用service方法,第四個(gè)階段,服務(wù)終止也就是銷毀階段,調(diào)用destroy方法。
前臺(tái)如何將數(shù)據(jù)傳遞給Servlet?也是非常簡(jiǎn)單的,只需表單提交就可以輕松完成,Servlet可以使用request.getParameter來(lái)接受,傳遞給前臺(tái)就可以使用request.setA什么的來(lái)賦值。
頁(yè)面提交的時(shí)候有g(shù)et和post兩種方式,這倆種方式都會(huì)在Servlet中處理,如果是get則會(huì)調(diào)用doget,post則會(huì)dopost,而同時(shí)使用,只需要post調(diào)用doget方法就可以。
二、JavaWeb組件二:Filter
Filter的字面意思是過(guò)濾、篩選,同樣Filter是javaweb的過(guò)濾器。filter是一個(gè)可以復(fù)用的代碼片段,可以用來(lái)轉(zhuǎn)換HTTP請(qǐng)求、響應(yīng)和頭信息。Filter不像Servlet,它不能產(chǎn)生一個(gè)請(qǐng)求或者響應(yīng),它只是修改對(duì)某一資源的請(qǐng)求,或者修改從某一的響應(yīng)。在javaweb中使用方法大致和Servlet一樣,也需要配置web.xml文件,也有三個(gè)生命周期,初始化參數(shù)創(chuàng)建Filter調(diào)用init()方法——攔截到請(qǐng)求時(shí)調(diào)用doFilter()方法——銷毀Filter時(shí)調(diào)用destroy()方法。但是Filter和Servlet的功能是不一樣的,servlet負(fù)責(zé)處理請(qǐng)求,filter負(fù)責(zé)攔截請(qǐng)求和放行,可以實(shí)現(xiàn)Url級(jí)別的權(quán)限訪問(wèn),敏感詞匯過(guò)濾,解決編碼格式問(wèn)題等等。
三、JavaWeb組件三:Listener
Listener主要是javaweb中的監(jiān)聽(tīng)器,使用的話,我們需要專門創(chuàng)建一個(gè)特定接口的java類,用這個(gè)java類去監(jiān)聽(tīng)另一個(gè)java類的方法調(diào)用,如果另一個(gè)類的屬性改變了,前面的java類就會(huì)監(jiān)聽(tīng)到后面java類所發(fā)生的變化,監(jiān)聽(tīng)器中的某個(gè)方法就會(huì)立刻執(zhí)行。Listener主要用來(lái)監(jiān)聽(tīng)ServletContext,HttpSession,ServletReques這三個(gè)域?qū)ο蟆?/p>
Javaweb三大組件Filter、Servlet、Listener的功能分別是攔截請(qǐng)求和放行,處理請(qǐng)求,監(jiān)聽(tīng)網(wǎng)站的訪問(wèn)量、在線人數(shù)等信息。他們之間各有分工,因?yàn)樗麄兊拇嬖冢琂avaWeb的功能才能變得越來(lái)越強(qiáng)大。Javaweb三大組件Filter、Servlet、Listener三者相互協(xié)作,共同鑄就了Java Web在前端開(kāi)發(fā)中的不可撼動(dòng)的地位!
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743