更新時(shí)間:2023-02-06 16:01:40 來源:動(dòng)力節(jié)點(diǎn) 瀏覽1600次
1.servlet的生命周期
2.請(qǐng)求轉(zhuǎn)發(fā)與重定向的區(qū)別
1)轉(zhuǎn)發(fā)使用的是req.getRequestDispatcher()方法;重定向使用的是res.sendRedirect();
2)轉(zhuǎn)發(fā)︰瀏覽器URL的地址欄不變;重定向:瀏覽器URL的地址欄改變;
3)轉(zhuǎn)發(fā)是服務(wù)器行為,重定向是客戶端行為;
4)轉(zhuǎn)發(fā)是瀏覽器只做了一次訪問請(qǐng)求。重定向是瀏覽器做了至少兩次的訪問請(qǐng)求;
5)轉(zhuǎn)發(fā)兩次跳轉(zhuǎn)之間傳輸?shù)男畔⒉粫?huì)丟失,重定向兩次跳轉(zhuǎn)之間傳輸?shù)男畔?huì)丟失(request范圍)。
1 請(qǐng)求轉(zhuǎn)發(fā)之后不能創(chuàng)建響應(yīng)類的輸出流
2 請(qǐng)求轉(zhuǎn)發(fā)之后不能重定向
3.請(qǐng)求轉(zhuǎn)發(fā)和重定向不能同時(shí)用
請(qǐng)求轉(zhuǎn)發(fā)或者重定向后面,不能再寫新的代碼
要訪問jsp頁面必須通過servlet請(qǐng)求轉(zhuǎn)發(fā)到頁面
4.如何設(shè)置session失效
客戶端和服務(wù)端如果不斷開連接 Session有一個(gè)方法可以設(shè)置session失效的時(shí)間
客戶端和服務(wù)端斷開連接,session將會(huì)失效
getSession()方法
getSession()會(huì)在請(qǐng)求范圍內(nèi)查找是否存在session對(duì)象,如果存在則返回該對(duì)象;否則創(chuàng)建一個(gè)新的session對(duì)象
5.session與cookie的區(qū)別
存儲(chǔ)位置不同
Cookie的數(shù)據(jù)信息存放在客戶端瀏覽器上。
Session的數(shù)據(jù)信息存放在服務(wù)器內(nèi)存中。
存儲(chǔ)容量不同
單個(gè)Cookie保存的數(shù)據(jù)≤4KB,一個(gè)站點(diǎn)最多保存20個(gè)Cookie。
存取方式不同
隱私策略不同
有效期不同
服務(wù)器壓力不同
瀏覽器支持不同
(有些瀏覽器會(huì)禁用Cookie,造成數(shù)據(jù)丟失)
跨域支持上的不同
Cookie 支持跨域名訪問
6.Filter過濾器和listener監(jiān)聽器的區(qū)別
filter: 過濾器,用于攔截請(qǐng)求或者響應(yīng)對(duì)象。filter是一個(gè)可以復(fù)用的代碼片段,可以用來轉(zhuǎn)換HTTP請(qǐng)求、響應(yīng)和頭信息。Filter不像Servet,它不能產(chǎn)生一個(gè)請(qǐng)求或者響應(yīng),它只是修改對(duì)某一資源的請(qǐng)求,或者修改到某―資源的響應(yīng)。
過濾非登錄請(qǐng)求
listener:監(jiān)聽器,用于監(jiān)聽web對(duì)象的創(chuàng)建和銷毀。從字面上可以看出 listener主要用來監(jiān)聽。通過 listener 可以監(jiān)聽web 服務(wù)器中某一個(gè)執(zhí)行動(dòng)作,并根據(jù)其要求作出相應(yīng)的響應(yīng)。通俗的語言說就是在application,session,request三個(gè)對(duì)象創(chuàng)建或者消亡時(shí),自動(dòng)執(zhí)行相應(yīng)的監(jiān)聽方法。
7.WEB-INF目錄
WEB-INF是Java的 WEB應(yīng)用的安全目錄,特點(diǎn)是客戶端無法訪問
8.ServletContext接口
Servletcontext官方叫servlet 上下文。
定義:
web容器在啟動(dòng)時(shí),服務(wù)器tomcat 會(huì)為每一個(gè)工程創(chuàng)建一個(gè)對(duì)象,這個(gè)對(duì)象就是ServletContext對(duì)象,它代表當(dāng)前 web應(yīng)用程序。這個(gè)對(duì)象全局唯一,而且工程內(nèi)部的所有servlet 都共享這個(gè)對(duì)象,所以也叫全局 應(yīng)用程序 共享對(duì)象。
由于一個(gè)WEB應(yīng)用中的所有Servlet共享同一個(gè)ServletContext對(duì)象,因此Servlet對(duì)象之間可以通過servletcontext對(duì)象來實(shí)現(xiàn)通訊。因此,servletContext對(duì)象通常也被稱之為context域?qū)ο蟆?/p>
9.ServletContext的應(yīng)用:
1.做為域?qū)ο罂梢栽谡麄€(gè)web應(yīng)用范圍內(nèi)共享數(shù)據(jù)。
域?qū)ο螅涸谝粋€(gè)可以被看見的范圍內(nèi)共享數(shù)據(jù)用的對(duì)象
作用范圍:整個(gè)web應(yīng)用范圍內(nèi)共享數(shù)據(jù)
生命周期:當(dāng)服務(wù)器啟動(dòng)web應(yīng)用加載后創(chuàng)建出 ServletContext對(duì)象后,域?qū)ο螽a(chǎn)生。
當(dāng)web應(yīng)用被移除出容器或服務(wù)器關(guān)閉,隨著web應(yīng)用的銷毀,域?qū)ο箐N毀。
2. 獲取 web應(yīng)用的初始化參數(shù)
使用標(biāo)簽(與Servlet標(biāo)簽并列)為整個(gè)web應(yīng)用配置屬性,ServeltContext對(duì)象通過getInitParameter()方法獲得全局初始化參數(shù):
ServletContext對(duì)象是在 Web 應(yīng)用程序裝載時(shí)初始化的。
ServletContext實(shí)例是通過getServletContext()方法獲得的
ServletContext,是一個(gè)全局的儲(chǔ)存信息的空間,服務(wù)器開始,其就存在,服務(wù)器關(guān)閉,其才釋放。
10.GET與POST 請(qǐng)求方式的區(qū)別:
1 GET請(qǐng)求業(yè)務(wù)參數(shù)以鍵值對(duì)的形式拼接在URL后面;
POST請(qǐng)求業(yè)務(wù)參數(shù)存放在HTTP頭信息中;
2 GET請(qǐng)求URL長度是受限制的,URL的最大長度是1024個(gè)字符,即2KB;
POST請(qǐng)求理論上數(shù)據(jù)長度無限制,但是數(shù)據(jù)受web服務(wù)器限制;
3 GET請(qǐng)求安全性較差,因?yàn)閰?shù)是URL的一部分,對(duì)用戶可見;
POST請(qǐng)求相對(duì)更安全.因?yàn)閰?shù)不會(huì)被保存在瀏覽器歷史或web服務(wù)器日志中
4 GET請(qǐng)求只允許ASCII字符;POST請(qǐng)求沒有限制。也允許二進(jìn)制數(shù)據(jù).所以提交多媒體文件用POST方式提交。
以上就是“求職常見的servlet高級(jí)面試題”,你能回答上來嗎?如果想要了解更多的Java面試題相關(guān)內(nèi)容,可以關(guān)注動(dòng)力節(jié)點(diǎn)Java官網(wǎng)。
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)