版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第5章Servlet編程Servlet是Java
Web程序的核心。JSP和幾乎所有的Java
Web框架(如Struts、Webwork)在底層的實(shí)現(xiàn)都會(huì)看到Servlet的影子。因此,充分了解Servlet的原理和使用方法,對于以后學(xué)習(xí)Struts等Web框架將起到非常大的幫助。本章我們將為大家介紹Servlet的基礎(chǔ)知識,并通過具體的示例介紹Servlet的強(qiáng)大功能。5.1Servlet基礎(chǔ)Servlet在本質(zhì)上就是Java類。編寫Servlet需要遵循Java的基本語法,但是與一般Java類所不同的是。Servlet是只能運(yùn)行在服務(wù)器端的Java類,而且必需遵循特殊的規(guī)范,在運(yùn)行的過程中有自己的生命周期。5.1.1什么是ServletServlet是運(yùn)行于服務(wù)器端的、按照其自身規(guī)范編寫的Java應(yīng)用程序。我們可以用圖5.1來解釋這個(gè)概念。Servlet的主要功能是用來接受、處理客戶端請求,并把處理結(jié)果返回到客戶端顯示。其作用過程如圖5.2所示。5.1.2Servlet的生命周期Servlet需要在特定的容器中才能運(yùn)行,在這里所說的容器即Servlet運(yùn)行的時(shí)候所需的運(yùn)行環(huán)境。一般情況下,市面上常見的JavaWebServer都可以支持Servlet,例如Tomcat、Resin、Weblogic、WebSphere等,在本書中采用Tomcat作為Servlet的容器,由Tomcat為Servlet提供基本的運(yùn)行環(huán)境。Servlet的生命周期指的是Servlet從被Web服務(wù)器加載到它被銷毀的整個(gè)生命過程。這個(gè)過程如圖5.3所示。5.1.2Servlet的生命周期從圖5.3中我們呢可以看出,Servlet生命周期的執(zhí)行大致分為4個(gè)步驟,如圖5.4所示。在以上幾個(gè)階段中,Servlet對外提供服務(wù)階段是最重要的。service()方法是編程人員真正要關(guān)心的方法。因?yàn)樗攀荢ervlet真正開始響應(yīng)客戶端請求,并且處理業(yè)務(wù)邏輯的方法。service()接收到客戶端請求后,再調(diào)用該Servlet的相應(yīng)的方法去處理請求。所以程序員在編寫自己的Servlet時(shí),一般只需要重寫方法。在該方法中去處理客戶端請求,并把處理結(jié)果返回。5.2簡單Servlet開發(fā)配置示例在這一節(jié)中我們主要應(yīng)用Servlet編寫一個(gè)HelloWorld程序,實(shí)現(xiàn)向客戶端瀏覽器中輸出“HelloWorld”信息。在系統(tǒng)中創(chuàng)建的第一個(gè)Servlet程序系統(tǒng)會(huì)為我們自動(dòng)生成web.xml配置文件,但是以后的Servlet程序就需要我們自己來配置了。即一般情況下都需要在當(dāng)前應(yīng)用項(xiàng)目的web.xml配置文件中對各個(gè)Servlet進(jìn)行配置,其中web.xml文件的位置在當(dāng)前項(xiàng)目應(yīng)用的WEB-INF文件夾下。我們就結(jié)合圖5.8的示例來講解如何對Servlet進(jìn)行配置,如圖5.9所示。5.2簡單Servlet開發(fā)配置示例總之,編寫一個(gè)Servlet要經(jīng)過以下三個(gè)步驟:(1)編寫Servlet的功能代碼,即實(shí)現(xiàn)功能的代碼類。(2)把編譯成功的Servlet功能代碼類文件拷貝到當(dāng)前應(yīng)用項(xiàng)目的WEB-INF/classes目錄下。(3)在當(dāng)前應(yīng)用項(xiàng)目的web.xml文件中對Servlet進(jìn)行配置,即在web.xml中添加配置信息。經(jīng)過這樣三個(gè)步驟我們就可以通過瀏覽器訪問這個(gè)Servlet了。5.3使用HttpServlet處理客戶端請求HttpServlet是使用HTTP協(xié)議的Web服務(wù)器的Servlet類,這個(gè)類已經(jīng)被系統(tǒng)定義好。該類的一些方法,如doGet()方法、doPost()方法等,提供了處理客戶端請求的接口。在實(shí)際編程中,程序員需要繼承這個(gè)類,并重寫上述方法,去編寫自己的Servlet。使用重寫后的方法,就可以完成對客戶端請求進(jìn)行處理。5.3.1處理Get請求doGetdoGet()方法是HttpServlet類中用來處理Get請求的方法。用戶通過繼承HttpServlet,重寫doGet()方法,實(shí)現(xiàn)對客戶端的Get請求進(jìn)行處理。要調(diào)用doGet()方法,必須在客戶端的表單里指定請求的類型為Get。doGet()方法的語法格式如圖5.10所示。5.3.2處理Post請求doPostdoPost()是HttpServlet中用于處理Post請求的方法。如果要調(diào)用doPost()方法,必須在表單中指定Post請求。doPost()方法與doGet()方法的用法一般來說沒什么區(qū)別,doGet()方法用于處理httpget請求,doPost()方法用于外理httppost請求。至于它們的不同,簡單的說,get是通過httpheader來傳輸數(shù)據(jù),有字?jǐn)?shù)限制,而post則是通過httpbody來傳輸數(shù)據(jù),沒有字?jǐn)?shù)的限制。doPost()方法的語法格式如圖5.14所示。5.3.2處理Post請求doPost下面我們來為大家介紹一下javax.servlet.http提供的HTTPServlet應(yīng)用編程接口。創(chuàng)建Servlet,需要擴(kuò)展HttpServlet類,HttpServlet類包含init()、destroy()、service()等方法,其中init()和destroy()方法是繼承的。具體的方法及方法描述如表5.1所示。當(dāng)服務(wù)器調(diào)用sevlet的Service()、doGet()和doPost()這三個(gè)方法時(shí),均需要“請求”和“響應(yīng)”對象作為參數(shù)?!罢埱蟆睂ο筇峁┯嘘P(guān)請求的信息,而“響應(yīng)”對象提供了一個(gè)將響應(yīng)信息返回給瀏覽器的一個(gè)路徑。方法名方法描述init()方法服務(wù)器裝入Servlet時(shí)執(zhí)行??梢耘渲梅?wù)器,在啟動(dòng)服務(wù)器或客戶機(jī)首次訪問Servlet時(shí)裝入Servletservice()方法Servlet的核心。每當(dāng)一個(gè)客戶請求一個(gè)HttpServlet對象,該對象的service()方法就要被調(diào)用,而且傳遞給這個(gè)方法一個(gè)"請求"(ServletRequest)對象和一個(gè)"響應(yīng)"(ServletResponse)對象作為參數(shù)destroy()方法在服務(wù)器停止且卸裝Servlet時(shí)執(zhí)行該方法。可以將Servlet作為服務(wù)器進(jìn)程的一部分來關(guān)閉GetServletConfig()方法GetServletConfig()方法返回一個(gè)ServletConfig對象,該對象用來返回初始化參數(shù)和ServletContext。ServletContext接口提供有關(guān)servlet的環(huán)境信息GetServletInfo()方法GetServletInfo()方法是一個(gè)可選的方法,它提供有關(guān)servlet的信息,如作者、版本、版權(quán)等5.4
JSP頁面調(diào)用Servlet在上面HelloWorld的示例程序中,我們直接在瀏覽器中輸入具體的地址進(jìn)行訪問。在實(shí)際的應(yīng)用中,不可能讓用戶在瀏覽器中直接輸入Servlet的地址進(jìn)行訪問。一般情況下,可以通過調(diào)用Servlet進(jìn)行訪問,在這里介紹通過提交表單和超鏈接兩種方式調(diào)用Servlet。5.4.1通過表單提交調(diào)用Servlet在通過提交表單調(diào)用Servlet的時(shí)候,只需要把表單的action指向?qū)?yīng)的Servlet即可。5.4.2通過超鏈接調(diào)用Servlet當(dāng)用戶有輸入的內(nèi)容需要提交給服務(wù)器時(shí),我們可以用表單來調(diào)用Servlet。如果在沒有輸入的數(shù)據(jù)內(nèi)容需要提交的情況下,我們可以直接通過超鏈接的方式來調(diào)用Servlet,并對其傳遞參數(shù)。5.5
Servlet文件操作在JSP的開發(fā)過程中,我們常常把相關(guān)內(nèi)容存儲(chǔ)為文件。在Servlet中我們可以使用輸入輸出流實(shí)現(xiàn)對文件的讀寫。同時(shí),使用Servlet還可以很方便的實(shí)現(xiàn)文件的下載操作。這一節(jié)我們就來學(xué)習(xí)如何實(shí)現(xiàn)Servlet的文件操作。5.尖5.憑1蛛S喇er快vl禍et讀取網(wǎng)文件我們漁舉一噸個(gè)實(shí)吳例Fi絨le復(fù)Re刮ad渾.j道av玩a來讀添取一傳個(gè)文卻本文擴(kuò)件co橫nt挎en寧t.欺tx滋t的內(nèi)缺容,宅并且蒼在頁射面上戴打印為文件盲的內(nèi)代容。5.怠5.碼2凳S釋er路vl輕et寫文筆件Se激rv況le帥t寫文棉件的統(tǒng)處理陷方法媽和讀占取文刪件的罵處理深方法晚非常戶類似派,即朗把文蔑件輸驚入流煤換成唐文件矛輸出扯流。漢我們攪也可巡壽以來降看一妄個(gè)寫觸文件家示例輪。5.落5.覺3脫S俘er厭vl咳et下載麥文件利用Se膀rv概le襲t可以聽很方嶼便地潛實(shí)現(xiàn)犬文件幫的下畫載,等我們燦只需地要對岔服務(wù)幟器的板響應(yīng)種對象re爽sp細(xì)on門se進(jìn)行昨簡單尼的設(shè)栽置即炮可。5.竭6餅S環(huán)er數(shù)vl伶et的應(yīng)獅用Se勻rv沃le誰t是與HT論TP協(xié)議礎(chǔ)緊密慶結(jié)合族的,括使用Se粥rv閱le咐t幾乎嗓可以休處理HT炸TP協(xié)議塞各個(gè)蹤蝶方面沃的內(nèi)元容,米在本定節(jié)的洪幾個(gè)撐示例祝程序耍中,滲將集奧中展扯示Se乎rv汪le蠟t在HT宋TP方面處的具標(biāo)體應(yīng)袍用。5.浪6.染1獲取踐請求驕信息叔頭部心內(nèi)容當(dāng)用臨戶訪磨問一迷個(gè)頁戀面的拿時(shí)候謀,會(huì)章提交滴一個(gè)HT胳TP請求視給服打務(wù)器碼的Se黑rv租le糾t引擎守,在塑這個(gè)憂請求達(dá)中包來含了HT系TP文件鞏的詳館細(xì)屬種性信重息。暑我們工可以堡應(yīng)用re窮qu圖es伶t.寨ge月tH顧ea鞏de低rN廣am耳es呀()方法灣來獲渣取請?zhí)m求信私息頭鑼部內(nèi)鉆容。5.案6.襲2獲取洗請求端信息在上韻面的Se裙rv委le夢t示例賤中,備我們撞取出滅了HT新TP文件謎頭信編息,袍在Se緞rv歸le伴t中還私可以建很方犧便取壁出用斧戶發(fā)濾出請床求對仁象自乒身的裁信息死。這禿些信泡息是戀和用盒戶的勤請求璃密切謙相關(guān)殃的,球例如基用戶講提交溪請求貧所使綱用的烏協(xié)議豎,客壯戶提簡交表壁單的洞方法賄是PO思ST還是GE繡T等。5.爛6.駱3獲取慘參數(shù)迎信息有關(guān)寄用戶球請求艇的參立數(shù)信軟息,灑也可略以通百過Se鍛rv帆le舌t來獲拐取。廟這種銹參數(shù)嗽既包滔括以PO塊ST方法尊或者饞是GE天T方法興提交團(tuán)的表弦單,游也包閉括直室接使授用超艙鏈接閃傳遞瘦的參仆數(shù)。Se墳rv棒le航t都可廳以使宋用re鋤qu恒es彎t.敞ge輩tP修ar老am引et題er耍()方法四取得卵這些惰參數(shù)鋼信息讀并且淚加以析處理鎮(zhèn)。5.問6.育4Co眼ok把ie操作Co杠ok炮ie是一肌種在棟客戶袍端保鍋存信提息的候技術(shù)政。讀怒者在定瀏覽笛網(wǎng)頁嫁時(shí)可弟能會(huì)槍注意浴到這貼樣的胃現(xiàn)象些,如觸在打骨開某某個(gè)登揪錄網(wǎng)濾頁時(shí)糕,在報(bào)第一渡次打掩開時(shí)絲式,用垂戶名蛛文本肯框是扣空的曲,當(dāng)符輸入反一個(gè)餃用戶毒名,長并成盯功登尸錄后瞎。在紅第二正次打隙開這鏈個(gè)登畫錄網(wǎng)誓頁時(shí)醬,在盟第一恨次輸駕入的閥用戶肝名會(huì)漂被自耳動(dòng)填縣入這肚個(gè)用昨戶名挺文本薯框,禾就算追重啟滅計(jì)算窯機(jī)后正,仍致然如綿此。匪其實(shí)災(zāi)這就貞是Co近ok太ie所起扁的作耍用。5.垮6.莖4Co弟ok績ie操作在Se撐rv執(zhí)le且t中,產(chǎn)使用ja櫻va孕.s繭er洪vl驗(yàn)et把.h渴tt蹤蝶p.身Co手ok申ie類來拍封裝止一個(gè)Co亡ok房誠ie消息籍,在Ht亦tp照Se構(gòu)rv只le陳tR亡es免po同ns坊e接口交中定斧義了杯一個(gè)ad美dC田oo誘ki銹e方法擦來向糕瀏覽間器發(fā)涉送Co熄ok億ie消息瘦(也柜就是Co角ok訂ie對象刷),遲在Ht瘋tp陪Se楚rv斗le蝦tR馳eq西ue兇st接口萍中定叔義了肝一個(gè)ge志tC值oo謙ki脆es方法小來讀泛取瀏屋覽器斬發(fā)送汗的We帥b服務(wù)庭器的塞所有Co賀ok加ie消息銀。Co俱ok類ie類中趨定義畜了生什成和招提取Co撇ok俗ie消息稠的各下個(gè)屬域性的風(fēng)方法客。Co鐵ok造ie類只嘗有一秘個(gè)構(gòu)釀造方雙法,現(xiàn)它的蓮語法姨結(jié)構(gòu)單如圖5.濟(jì)47所示惠。5.鼻6.終4Co趴ok纏ie操作Co地ok葵ie類中器的其監(jiān)他常頌用方狗法如千表5.鼓3所示粒。方法名方法描述getName方法用于獲得Cookie的名稱setValue和getValue方法分別用于設(shè)置和獲得Cookie的值setMaxAge和getMaxAge方法分別用于設(shè)置和獲得Cookie在客戶機(jī)的有效時(shí)間,也就是在在客戶機(jī)上的有效秒數(shù)setPath和getPath方法分別用于設(shè)置和獲得當(dāng)前Cookie的有效Web路徑setDomain和getDomain方法分別用于設(shè)置和獲得當(dāng)前Cookie的有效域setComment和getComment方法分別用于設(shè)置和返回當(dāng)前Cookie的注釋部分setVersion與getVersion方法分別用于設(shè)置和獲得當(dāng)前Cookie的協(xié)議版本setSecure和getSecure方法分別用于設(shè)置和獲得當(dāng)前Cookie是否只能使用安全的協(xié)議傳輸Cookie5.外7毒S爽es腥si茅on技術(shù)se喝ss種io務(wù)n對象防用來蛋保存碼每個(gè)航用戶西的用妖戶信泡息和臺會(huì)話臭狀態(tài)終。se冷ss響io牢n對象月由服惱務(wù)器劣端自估動(dòng)創(chuàng)流建,傾可以役跟蹤拜每個(gè)記用戶龍的操稻作狀能態(tài)。讀用戶域首次芒登錄蘋系統(tǒng)掛時(shí)服槳?jiǎng)?wù)器房誠會(huì)自燒動(dòng)給辯用戶針分配棍唯一騙標(biāo)識番的se晴ss宿io牢n奏id,可載以用鏈來區(qū)耕分開衰其他最用戶懇。相釣對于Co半ok天ie,se芹ss雹io懶n是存隱儲(chǔ)在衫服務(wù)兇器端節(jié)的會(huì)效話,汁相對述安全松,而此且其敢存儲(chǔ)欣長度針限制盯也大付大的谷擴(kuò)大復(fù)了。5.六7.嘆1幕H撫t(yī)t如pS刻es安si嫂on接口肺方法在Se將rv悶le殊t中使反用Ht祥tp爸Se賄ss專io犧n對象踏來描忘述Se銅ss便io磁n。一危個(gè)Ht辟tp禁Se料ss皮io驗(yàn)n對象摘就是縱一個(gè)Se料ss燭io警n。使烘用Ht淘tp極Se羞rv恐le流tR嘩eq遲ue轉(zhuǎn)st接口鍬的ge碗tS患es君si筑on方法到來獲鉗得一蓋個(gè)Ht宵tp眾Se根ss懲io算n對象聾。Ht拋tp站Se坦ss班io叉n接口協(xié)中的杯主要使方法搞如表5.翠4所示凳。方法名方法描述getId方法用于返回當(dāng)前HttpSession對象的SessionIDgetCreationTime方法用于返回當(dāng)前的HttpSession對象的創(chuàng)建時(shí)間getLastAccessedTime方法用于返回當(dāng)前HttpSession對象的上一次被訪問的時(shí)間setMaxInactiveInterval和getMaxInactiveInterval方法分別用來設(shè)置和返回當(dāng)前HttpSession對象的可空閑的最長時(shí)間(單位:秒),這個(gè)時(shí)間也就是當(dāng)前會(huì)話的有效間隔isNew方法用來判斷當(dāng)前的HttpSession對象是否是新創(chuàng)建的,如果是則返回true,否則返回falseisvalidate方法用于強(qiáng)制當(dāng)前的HttpSession對象失效,這樣Web服務(wù)器可以立即釋放該HttpSession對象getServletContext方法用于返回當(dāng)前HttpSession對象所屬的Web應(yīng)用程序的ServletContext對象setAttribute方法用于將一個(gè)String類型的ID和一個(gè)對象相關(guān)聯(lián),并將其保存在當(dāng)前的HttpSession對象中g(shù)etAttribute方法用于返回一個(gè)和String類型的ID相關(guān)聯(lián)的對象remoteAttribute方法用于刪除與一個(gè)String類型的ID相關(guān)聯(lián)的對象5.灰7.泉1廉H惕tt看pS撥es興si權(quán)on接口趁方法ge每tS延es是si稈on是Ht言tp縮慧Se四rv統(tǒng)le叉tR物eq禮ue戶st接口固的方香法,炒這個(gè)恒方法器用于圖返回淡與當(dāng)涼前請昨求相聲關(guān)的Ht現(xiàn)tp唉Se途ss帖io示n對象呼,該怪方法帝有兩海種重烈載形劫式,迅它們閃的定鳳義語墳法如差圖5.僚52所示滾。5.盾7.撿2通過Co來ok奪ie跟蹤Se霞ss定io禁n客戶寶端必狀須通緊過一圈個(gè)Se化ss攜io掀nI廚D才能菊找到嚷以前勵(lì)在服客務(wù)端宿創(chuàng)建啊的某蹤蝶一個(gè)Ht授tp占Se須ss棄io守n對象薯。通病過Se謙ss姑io淹nI歲D找Ht汪tp坊Se嫩ss師io厭n對象檔的過幫程也緒叫做Se略ss膝io植n跟蹤睜。一識般客捕戶端撐的Se冶ss沒io診nI娘D通過HT冰TP請求都消息傅頭的Co疲ok逆ie字段悅發(fā)送半給服嶄務(wù)端店,然蔥后服映務(wù)端賽通過ge射tS現(xiàn)es叨si協(xié)on方法駐讀取Co戰(zhàn)ok時(shí)ie字段悅的值墨,以駁確定座是否館需要屋新建狂一個(gè)Ht河tp子Se岡ss旺io棟n對象莫,還敢是獲況得一番個(gè)已碧經(jīng)存錦在的Ht谷tp鉛Se排ss基io艦n對象班,或篇是什圾么都澤不做誦,直摧接返犬回nu凝ll。當(dāng)Ht宜tp畫Se斑ss香io堅(jiān)n對象鐮是第放一次日創(chuàng)建駛時(shí),汗向這吹個(gè)對合象中傭?qū)懸粓鰝€(gè)字教符串儀值。慰如果Ht黨tp役Se倘ss兔io塔n對象回不是醋第一筆次創(chuàng)領(lǐng)建,意那么夫就將竭保存旨在Ht盼tp獲Se越ss蠶io北n對象筆中的號字符呢串值糞輸出容到客瓜戶端堡。5.絹7.侄3通過偶重寫UR詠L跟蹤Se艱ss次io寒n如果搜客戶團(tuán)端瀏破覽器郊不支霸持Co田ok血ie或是共將Co瞎ok飲ie功能扒關(guān)閉仔,那為么就砍無法獻(xiàn)使用Co觸ok萬ie來傳峰遞Se灘ss逐io敘nI扁D。為皺了在栽這種港情況湖下仍咐然可弦以使攪用Se虛ss園io哄n,Se午rv磚le櫻t規(guī)范咸提供退了一堡種補(bǔ)味充會(huì)步話管瓦理機(jī)豆制。木這種明管理價(jià)機(jī)制呈允許赤在Co擇ok怠ie無法剪工作免的情醋況下長使用UR嫁L參數(shù)吹來傳塵遞Se綱ss幸io灣nI瘦D。要想燒通過UR悶L來發(fā)漲送Se部ss知io苗nI矮D,必霉須要陽重寫UR事L。Ht小tp挽Se逐rv培l(xiāng)e蓬tR渴es語po腥ns穿e提供皇了兩辦個(gè)方拖法用促于重晌寫UR里L(fēng),如敢圖5.煙56所示宣。5.壞8妻S界er慨vl罪et過濾遷器過濾陜器是虛小型給的We世b組件創(chuàng),它丑負(fù)責(zé)營攔截?cái)r請求妹和響羊應(yīng),吼以便椅查看唇、提吧取或武以某運(yùn)種方改式操架作正博在客毀戶機(jī)看和服誼務(wù)器傷之間隆交換掛的數(shù)桌據(jù)。Se雖rv小le輩t過濾廉器應(yīng)拿用非坊常廣筒泛,賢有攔鳴截的侍地方廉一般賭都可屠以用速到過周濾器夜。當(dāng)辜前We漢b應(yīng)用熟中過請濾器食已經(jīng)室是不腥可或值缺的廢部分瞧之一擇。5.途8.李1過濾挨器的袍方法胡和配切置與過素濾器窯相關(guān)勞的Se續(xù)rv讓le職t共包哀含3個(gè)簡館單的鄰接口體,分身別是Fi獅lt蛛er、Fi防lt貞er棚Ch億ai瞇n及Fi牽lt巨er愧Co成nf爬ig。要榜實(shí)現(xiàn)賭過濾背器功四能,包必須任先實(shí)娃現(xiàn)Fi值lt兆er接口口。Fi火lt埋er接口膛定義油了3個(gè)方歌法,栗如圖5.欣61所示眼。Se療rv贏le多ts過濾因器是筋一個(gè)We激b應(yīng)用歡組件乒,和Se桐rv艘le悔t類似呀,也丈需要享在We開b應(yīng)用絡(luò)配置糟文件爬(即we蛾b.滋xm表l)中冰進(jìn)行岔配置爆部署爬。5.膀8.稍1過濾恭器的父方法上和配涉置對于椅過濾惡器的診映射頭配置太,可拜以將線過濾藏器映酸射到膜一個(gè)符或多陷個(gè)Se幼rv輛le需t和JS疤P文件銅中。脫以Se冷rv值le喘t為例軌,我廟們來喇看其訴映射美配置輝,如爺圖5.釣63所示。注意昂:在we趣b.根xm盈l中配郵置Se若rv硬le冰t和Se足rv拋le圈t過濾喘器,泡應(yīng)該融先聲警明過節(jié)濾器毫元素邪,再倚聲明Se顫rv安le味t元素覆。5.蟻8.碰2過濾光器應(yīng)栽用實(shí)貓例——禁止凳未授邊權(quán)的IP訪問認(rèn)站點(diǎn)在實(shí)傳際的養(yǎng)應(yīng)用他中,全可能勇會(huì)遇適到這堵樣的于情況同,需繞要對汗某些IP進(jìn)行防訪問河限制參,不顯讓非平法的IP訪問望應(yīng)用統(tǒng)系統(tǒng)尋,這主個(gè)時(shí)糠候就炮需要漏用到歪過濾嘗器進(jìn)忌行限校制,杜當(dāng)一數(shù)個(gè)用閱戶發(fā)倦出訪斗問請?jiān)角蟮娜鯐r(shí)候取,首槳先通墻過過滿濾器旦進(jìn)行趙判斷薦,如注果用蘿戶的IP地址格被限嘆制,煤就禁低止訪遍問,霜只有富合法垮的IP才可肉以繼威續(xù)訪絹問。5.顏8.貪3過濾沫器應(yīng)顏用實(shí)吐例——版權(quán)緒過濾沉器現(xiàn)在掘的網(wǎng)穩(wěn)頁都加會(huì)在兇尾部駝加上怠版權(quán)米標(biāo)志攏,對饑于這鬼一操莖作,蘇我們手可以狀運(yùn)用絲式過濾逝器很箭方便蒼地實(shí)侵現(xiàn)它岸。5.鄙9長S境er屆vl汽et監(jiān)聽廁器Se科rv釀le劉t監(jiān)聽與器是嚷當(dāng)今We剝b應(yīng)用哄開發(fā)匙的一照個(gè)重起要組模成部辰分。Se斤rv慘le水t監(jiān)聽滑器主中要用收來對We趨b應(yīng)用畜進(jìn)行然監(jiān)聽作和控違制,型極大熄地增尖強(qiáng)了We休b應(yīng)用害的事避件處銳理能耕力。辨一般飛來說歇,Se孔rv棕le可t監(jiān)聽周就是執(zhí)指一呆些特兔殊的Se鴿rv碼le預(yù)t類,伶這些配類可棋以監(jiān)狹聽We進(jìn)b應(yīng)用膽的上政下文做信息胃、Se述rv再le職t會(huì)話猶信息置、Se副rv放le傍t請求際信息缺。在莫實(shí)際兇操作歸中,窮程序塵員需枕要繼功承或義實(shí)現(xiàn)印一些怕已定武義好港的類約或接占口,敲從而垮編寫收出自劈燕己用戲于監(jiān)胡聽的策類。燈這些漂類對紛特定牌的信古息進(jìn)擴(kuò)行監(jiān)圣聽。憂一旦梅被監(jiān)捉聽的總事件桂發(fā)生容,這遲些類困會(huì)自豈動(dòng)調(diào)劇用相禽應(yīng)的甲方法羞去執(zhí)衛(wèi)行指喚定的鞠操作逃。5.約9.嚇1監(jiān)聽Se丟rv篇le營t上下陵文信齡息Se泄rv縮慧le喊t上下詳文信待息主瓶要是訴指關(guān)味于Se川rv開le蠅tC怎on封te奇xt接口辜的一絨些信骨息,禽比如Se矛rv炸le胡tC憐on特te糞xt的創(chuàng)地建和伯刪除巷,Se古rv川le墓t屬性醒的增勾加、該刪除臣和修蔑改等縮慧。這天樣就黑可以沈?qū)崿F(xiàn)撒對Se棋rv域le舒t上下被文信歌息的賞跟蹤因和記鼓錄。故為了援實(shí)現(xiàn)扮這樣架的功貪能,俘程序鳥員需啄要實(shí)惕現(xiàn)Se鄙rv綢le回tC藝on抄te掩xt煤Li嚷st魚en屠er和Se杠rv渣le屑tC艙on渣te螺xt快At眾tr吊ib獨(dú)ut棗eL紀(jì)is計(jì)te到ne卻r接口妹,從犧而編踩寫出棄自己云的Se買rv捏le徑t類。Se搞rv望le艇tC喊on盯te銜xt接口怒的主機(jī)要方南法如記表5.席4所示波。方法名稱方法描述getAttribute(Stringname)返回Servlet環(huán)境對象中指定的屬性對象。如果該屬性對象不存在,返回空值getAttributeNames()返回一個(gè)Servlet環(huán)境對象中可用的屬性名的列表getContext(Stringuripath)返回一個(gè)Servlet環(huán)境對象,這個(gè)對象包括了特定URI路徑的Servlets和資源,如果該路徑不存在,則返回一個(gè)空值getRealPath(Stringpath)返回與一個(gè)符合該格式的虛擬路徑相對應(yīng)的真實(shí)路徑的StringgetResource(Stringuripath)返回一個(gè)URL對象,該對象反映位于給定的URL地址的Servlet環(huán)境對象已知的資源getServerInfo()返回一個(gè)String對象,該對象至少包括Servlet引擎的名字和版本號voidlog(Stringmsg,Throwablet)寫指定的信息到一個(gè)Servlet環(huán)境對象的log文件中setAttribute(Stringname,Objecto)給予Servlet環(huán)境對象中你所指定的對象一個(gè)名稱removeAttribute(Stringname)從指定的Servlet環(huán)境對象中刪除一個(gè)屬性5.境9.照1監(jiān)聽Se宣rv趁le于t上下槐文信晃息在使用勤這個(gè)果監(jiān)聽伸器之孫前還嶺需要霧對We尋b模塊漿中的we尾b.本xm惹l配置尚文件匠進(jìn)行晃配置杰,配需置代疊碼如謙圖5.聰75所示。然后萬我們吳就可胖以編左寫一啞個(gè)JS膨P程序te余st閥Li啞st膜en皂er鐮.j威sp來操蘆作Se峽rv肝le蘭tC卸on衫te揉xt的屬奴性,粉看監(jiān)況聽器垮程序好做出叼什么反應(yīng)胖。5.甘9.泡2監(jiān)聽HT恥TP會(huì)話鹿信息HT夢TP會(huì)話乖信息鈴指的號是Se俘ss飾io跳n對象來的創(chuàng)件建和尖銷毀叼、會(huì)吩話中矩屬性牽的設(shè)孫置請因求、靠會(huì)話填的狀木態(tài)和酷會(huì)話兔的綁擱定信緣瑞息等養(yǎng)。通識過對HT獸TP會(huì)話抖信息咽的監(jiān)屆聽,瓜可以荒進(jìn)行再一些兩很有按用的艘操作育,比母如,仔統(tǒng)計(jì)江當(dāng)前蠶會(huì)話摔的數(shù)宰目、痰設(shè)置咱某個(gè)柱對話驕的屬鄉(xiāng)豐性、緣瑞了解永某個(gè)談對話拆的狀賣態(tài)等撐。與Se尼rv問le馳tC彼on闊te阿xt監(jiān)聽痰的實(shí)款現(xiàn)方敲法類持似,丸對HT駁TP會(huì)話片的監(jiān)坑聽也鐮是通挪過實(shí)耗現(xiàn)特甜定的要接口呆來完喚成的催。監(jiān)稻聽HT究TP會(huì)話悉信息圈需要掙使用艷到三鮮個(gè)接卸口類誤:Ht旨tp肝Se冤ss夜io群nL舅is壁te巨ne企r、Ht墓tp喝Se絮ss氣io階nA晌ct所iv保at認(rèn)io擔(dān)nL惱is難te撞ne柿r和Ht鍬tp窩Se櫻ss技io釋nA雁tt到ri塘bu鋤te戶Li按st籮en頑er接口丸。5.老9.烈2監(jiān)聽HT播TP會(huì)話享信息這些蓄接口略的主敞要方猾法如楊表5.止5所示末。方法名方法描述sessionCreated(HttpSessionEventarg0)方法進(jìn)行Http會(huì)話創(chuàng)建的監(jiān)聽,如果Http會(huì)話被創(chuàng)建將調(diào)用該方法sessionDestroyed(HttpSessionEventarg0)方法對Http會(huì)話銷毀進(jìn)行監(jiān)聽,如果某個(gè)Http會(huì)話被釋放將調(diào)用該方法sessionDidActivate(HttpSessionEventarg0)方法對Http會(huì)話處于active情況進(jìn)行監(jiān)聽sess
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年阜陽市安徽君源綠化工程有限公司公開招聘勞務(wù)派遣人員考試參考題庫及答案解析
- 2026山東事業(yè)單位統(tǒng)考濱州經(jīng)濟(jì)技術(shù)開發(fā)區(qū)招聘4人備考考試題庫及答案解析
- 2026上半年云南事業(yè)單位聯(lián)考省水利廳部分直屬事業(yè)單位公開招聘人員參考考試題庫及答案解析
- 四級勞動(dòng)關(guān)系協(xié)調(diào)員模擬題(含參考答案解析)
- 安全員A證考試試題預(yù)測試卷及完整答案詳解【奪冠】
- 教師專技崗位招聘10人方案筆試模擬試題及參考答案詳解1套
- 商場雨棚施工方案(3篇)
- 女足線上活動(dòng)策劃方案(3篇)
- ffu吊頂施工方案(3篇)
- 學(xué)校理財(cái)活動(dòng)策劃方案(3篇)
- 肺含鐵血黃素沉著癥診療指南(2025年版)
- 湖口縣2026年第一批單位公開選調(diào)事業(yè)編制工作人員【32人】參考題庫附答案
- 統(tǒng)計(jì)分析培訓(xùn)課件
- 2025至2030中國乳鐵蛋白行業(yè)調(diào)研及市場前景預(yù)測評估報(bào)告
- 2026年人教版七年級英語上冊期末真題試卷含答案
- 高速公路bt合同范本
- 2026年《必背60題》酒店前廳接待經(jīng)理高頻面試題包含詳細(xì)解答
- 超聲波技術(shù)協(xié)議書
- 眼內(nèi)炎術(shù)后護(hù)理與康復(fù)
- GB/T 5784-2025緊固件六角頭螺栓細(xì)桿B級
- DB51-T 3313-2025 同步攤鋪超薄瀝青混凝土施工技術(shù)規(guī)程
評論
0/150
提交評論