Servlet面試問題
Q1,什么是servlet?
- Java Servlet是服務器端技術,通過提供對動態回應和資料持久性的支持來擴展Web服務器的功能,
- javax.servlet和javax.servlet.http包提供用于撰寫我們自己的servlet的介面和類,
- 所有servlet必須實作javax.servlet.Servlet介面,該介面定義了servlet生命周期方法,在實作通用服務時,我們可以擴展Java Servlet API隨附的GenericServlet類,HttpServlet類提供用于處理特定于HTTP的服務的方法,例如doGet()和doPost(),
- 大多數時候,使用HTTP協議訪問Web應用程式,這就是為什么我們主要擴展HttpServlet類的原因,Servlet API層次結構如下圖所示,

Q2,Get和Post方法之間有什么區別?
| Get | Post |
|---|---|
| 可以發送的資料量有限,因為資料是在標頭中發送的, | 因為資料是在體內發送的,所以可以發送大量資料, |
| 不安全,因為資料顯示在URL欄中, | 由于資料未顯示在URL欄中而被保護, |
| 可以收藏 | 無法收藏 |
| 冪等 | 非等冪的 |
| 比Post更有效和使用 | 它效率較低且使用過 |
Q3,什么是請求分派器?
RequestDispatcher介面用于將請求轉發到另一個資源,該資源可以是HTML,JSP或同一應用程式中的另一個servlet,我們還可以使用它來將另一個資源的內容包括到回應中,
此介面中定義了兩種方法:
1.void forward()
2.void include()
Q4,forward()方法和sendRedirect()方法之間有什么區別?
| forward()方法 | SendRedirect()方法 |
|---|---|
| forward()將相同的請求發送到另一個資源, | sendRedirect()方法始終發送新請求,因為它使用瀏覽器的URL欄, |
| forward()方法在服務器端起作用, | sendRedirect()方法在客戶端起作用, |
| forward()方法僅在服務器內起作用, | sendRedirect()方法可在服務器內部和外部使用, |
Q5,Servlet的生命周期是什么?
Servlet的生命周期包括五個階段:
- Servlet已加載
- Servlet實體化
- Servlet已初始化
- 服務請求
- Servlet被銷毀
Q6,Cookies在Servlet中如何作業?
- Cookies是服務器發送到客戶端的文本資料,并保存在客戶端本地計算機上,
- Servlet API通過實作Serializable和Cloneable介面的javax.servlet.http.Cookie類提供cookie支持,
- 提供HttpServletRequest getCookies()方法可從請求中獲取Cookie陣列,因為沒有必要在請求中添加Cookie,所以沒有方法可以設定或向請求添加Cookie,
- 類似地,提供了HttpServletResponse addCookie(Cookie c)方法來在回應頭中附加cookie,沒有用于cookie的getter方法,
Q7,ServletContext與ServletConfig有什么區別?
Servlet JSP中的ServletContext和ServletConfig之間的區別在于以下表格格式,
| ServletConfig | ServletContext |
|---|---|
| Servlet配置物件代表單個Servlet | 它代表了在特定JVM上運行且對所有servlet通用的整個Web應用程式 |
| 與特定servlet相關的類似本地引數 | 與整個應用程式關聯的類似全域引數 |
| 這是在web.xml檔案的servlet部分內定義的名稱值對,因此它具有servlet范圍 | ServletContext具有廣泛的應用范圍,因此請在web.xml檔案的servlet標記之外定義, |
| getServletConfig()方法用于獲取配置物件 | getServletContext()方法用于獲取背景關系物件, |
| 例如用戶的購物車是特定于特定用戶的,因此在這里我們可以使用servlet config | 為了獲得檔案或應用程式會話的MIME型別,使用servlet背景關系物件存盤相關資訊, |
Q8,Servlet中的會話管理有哪些不同的方法?
會話是客戶端和服務器之間的會話狀態,它可以包含客戶端和服務器之間的多個請求和回應,由于HTTP和Web Server都是無狀態的,因此維護會話的唯一方法是在每次請求和回應中在服務器和客戶端之間傳遞有關會話的某些唯一資訊(會話ID)時,
Servlet中會話管理的一些常見方式是:
- 用戶認證
- HTML隱藏欄位
- Cookies
- URL重寫
- 會話管理API
歡迎關注 Java架構師社區公眾號.
本文轉載自Java架構師必看 ,更多內容點擊查看!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/168227.html
標籤:其他
下一篇:10月10日課前問題筆記



