JavaWeb面試題
阿新 • • 發佈:2018-12-17
3.Servlet相關技術路線(藍線)
此部分包括: Servlet, Filter, Listener和HTTP協議
-
- 解釋一下什麼是servlet?
答: 我們可以從下面二個方面去看Servlet:
- API: 有一個介面Servlet, 它是Servlet規範中定義的用來處理客戶端請求的程式需要實現的頂級介面
- 元件: 伺服器端用來處理客戶端請求的元件, 需要在web.xml請求中配置
- 說一說Servlet的生命週期?
答: Servlet生命週期分為三個階段:
1,初始化階段 呼叫init()方法
2,響應客戶請求階段 呼叫service()方法-àdoGet/doPost()
3,終止階段 呼叫destroy()方法
-
- 區別請求的轉發與重定向?
答: 可以從以下三個方面進行比較
1.位址列:
轉發: 顯示的是請求的URL
重定向: 顯示的不是請求的URL, 而是重定向指向的新的URL
2.瀏覽器發了幾次請求?
轉發: 1次請求
重定向: 2次請求
3. 是否可以進行Request的資料共享?
轉發: 兩個資源之間是同一個request物件, 可以共享request中的資料
重定向: 兩個資源之間不是同一個request物件, 不可以共享
經典現實案例:
答: 可以從以下幾個方面去回答:
- 攜帶請求引數的方式
GET: 通過請求行攜帶引數, 引數會顯示在位址列
POST: 通過請求體來攜帶引數, 引數不會顯示在位址列
- 伺服器端處理請求的方法
GET: 會呼叫Servlet的doGet()來處理請求
POST: 會呼叫Servlet的doPost()來處理請求
- 資料大小與安全性
GET: 大小有限制(小於2k), 不安全
POST: 大小沒有限制, 安全
-
- 比較一下Servlet與Filter
1. Filter是一種特別的Servlet, 它們的作用是完全不一樣的. Servlet是用來處理請求的, 而Filter是用來過濾檢查請求的.
經典現實案例:
假如我們要去坐地鐵去天安門, 我們需要先在檢票機上刷票後才能進站坐上地鐵, 請求問: 在這個實際業務中, 哪個是Servlet?哪個是Filter呢?
本教程由尚矽谷教育大資料研究院出品,如需轉載請註明來源。