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