1. 程式人生 > >JavaWeb面試題

JavaWeb面試題

3.Servlet相關技術路線(藍線)

此部分包括: Servlet, Filter, Listener和HTTP協議

    1. 解釋一下什麼是servlet?

答: 我們可以從下面二個方面去看Servlet:

  1.  API: 有一個介面Servlet, 它是Servlet規範中定義的用來處理客戶端請求的程式需要實現的頂級介面
  2. 元件: 伺服器端用來處理客戶端請求的元件, 需要在web.xml請求中配置
    1. 說一說Servlet的生命週期?

答: Servlet生命週期分為三個階段:

1,初始化階段  呼叫init()方法

2,響應客戶請求階段  呼叫service()方法-àdoGet/doPost()

3,終止階段  呼叫destroy()方法

    1. 區別請求的轉發與重定向?

答: 可以從以下三個方面進行比較

1.位址列:

轉發: 顯示的是請求的URL

重定向: 顯示的不是請求的URL, 而是重定向指向的新的URL

2.瀏覽器發了幾次請求?

轉發: 1次請求

重定向: 2次請求

3. 是否可以進行Request的資料共享?

轉發: 兩個資源之間是同一個request物件, 可以共享request中的資料

重定向: 兩個資源之間不是同一個request物件, 不可以共享

經典現實案例:

答: 可以從以下幾個方面去回答:

  1. 攜帶請求引數的方式

GET: 通過請求行攜帶引數, 引數會顯示在位址列

POST: 通過請求體來攜帶引數, 引數不會顯示在位址列

  1. 伺服器端處理請求的方法

GET: 會呼叫Servlet的doGet()來處理請求

POST: 會呼叫Servlet的doPost()來處理請求

  1. 資料大小與安全性

GET: 大小有限制(小於2k), 不安全

POST: 大小沒有限制, 安全

    1. 比較一下Servlet與Filter

1. Filter是一種特別的Servlet, 它們的作用是完全不一樣的. Servlet是用來處理請求的, 而Filter是用來過濾檢查請求的.

經典現實案例:

假如我們要去坐地鐵去天安門, 我們需要先在檢票機上刷票後才能進站坐上地鐵, 請求問: 在這個實際業務中, 哪個是Servlet?哪個是Filter呢?

本教程由尚矽谷教育大資料研究院出品,如需轉載請註明來源。