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