您好,登錄后才能下訂單哦!
小編給大家分享一下面試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的問題案例的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。