首頁  >  文章  >  Java  >  面試問servlet怎麼回答

面試問servlet怎麼回答

(*-*)浩
(*-*)浩原創
2019-05-17 14:19:312734瀏覽

面試官不同著重的方向也不同,不過問Servlet的話,以下內容由很大幾率都會被問到,可以作為參考,可以沒有說Servlet問題就這麼多哦。

面試問servlet怎麼回答

1、servlet生命週期

#初始化:web容器載入servlet,呼叫init()方法;

處理請求:允許service()方法,service()自動執行與請求對應的doXXX方法(doGet或doPost) 

銷毀:服務結束後,web容器呼叫servlet的distory()方法銷毀servlet

2、jsp與servlet 有什麼差別。

jsp本質上是servlet,但是兩者的創建方式不同,servlet都是java程式碼構成,用於流程控制和事務處理,而jsp由html和jsp標籤構成,可以方便地編寫動態網頁。 jsp和servlet主要有兩方面不同:編譯:jsp修改後就可立刻看到效果,不需要編譯,而servlet需要編譯。轉換:jsp是動態網頁開發技術是運行在服務端的腳本語言,而servlet是web伺服器的程式設計技術,所以jsp在運行時就是要轉換成servlet。

3、get和post有何區別

get參數傳遞通過url,post放在resquest body中;

get請求參數有長度限制,post沒有

get不安全,因為參數暴露在url中。

get請求只能進行url編碼。 post支援多種編碼

get請求參數會被完整保留在瀏覽歷史記錄,而post不會被保留。

get和post本質就是tcp鏈接,並無差別。但是由於HTTP的規定和瀏覽器/伺服器的限制,導致他們在應用過程中體現出一些不同。

get產生一個tcp封包;post產生兩個tcp封包。

4、doGet與doPost方法的兩個參數是什麼

HttpServletRequest:封裝與請求相關的資訊

HttpServletResponse:封裝了與回應相關的資訊 

5、jsp有哪些內建物件

request :包含用戶端請求的資訊

response:包含伺服器傳回客戶端的回應訊息

session:與請求有關的會話期

pageContext:管理網頁屬性

application:伺服器啟動創建,伺服器關閉停止,為多個應用程式保存訊息

out:傳送資料給客戶端

config:servlet的架構元件

#page:指網頁本身

exception:才可針對錯誤頁面使用

6、四大作用域

page:一個頁面

request:一次請求

session:一次會話

application:伺服器從啟動到停止

7、jsp中動態include和靜態include有什麼差別

動態include用jsp:include動作實作< ;jsp:include page="include.jsp" flush="true"/> 他總是會檢查所含文件中的變化,適合用於包含動態頁面並且可以帶參數。

靜態include以include偽代碼實現,決定不會檢查所含檔案的變化,適用於包含靜態介面<%@ include file="included.htm"%>

#8、forward和redirect的區別

轉送與重定向:

#第一點:從網址列來說forward是伺服器請求資源,伺服器直接存取目標位址的url,把目標url的回應內容讀取過來,然後發給瀏覽器,瀏覽器並不知道伺服器發送的內容從哪裡來的,所以網址列還是原來的url。 redirect是伺服器根據邏輯,發送狀態碼,告訴瀏覽器重新去請求那個位址,所以網址列會顯示新的url 。

第二點:從資料共享來說,forward轉送頁面和轉發到的頁面共享request裡面的數據,redirect不能共享數據。

第三點:從運行地方來說,forward一般用於登陸的時候,會根據角色轉送到相對於的模組。

redirect一般用於使用者登出登陸時返回主頁或跳到其他頁面時。

第四點:從效率來說forward高,redirect低。 

以上是面試問servlet怎麼回答的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn