1. 程式人生 > >Java基礎面試題(12)----JSP是什麼和內建物件介紹

Java基礎面試題(12)----JSP是什麼和內建物件介紹

問題

  • JSP和Servlet有什麼區別?
  • JSP有哪些內建物件,他們的作用是什麼?

解析1:JSP和Servlet又有什麼區別?

JSP和Servlet的關係

  • 我們上次講解Servlet的時候,去看了他的原始碼,最終實現的是Servlet介面。而JSP也是一樣,實現了Serlvet介面,他們的關係如下圖 在這裡插入圖片描述

  • JSP是Servlet技術的拓展,所有的.jsp檔案都會被翻譯成一個繼承了HttpServlet的類,也就是.jsp最終是一個Servlet,這個Servlet對外提供服務。

不同點

  • Servlet如果要實現html的功能,必須要使用write輸出對應的html.更加側重於業務邏輯程式碼的編寫。
  • 而JSP的情況是Java和HTML組合稱為一個拓展名為.jsp的檔案。更加側重於檢視的展示。

解析2:JSP有哪些內建物件,他們的作用是什麼?

九個內建物件

  • request 使用者請求,次請求會包含來自GET/POST請求的引數
  • response 頁面傳回給使用者端的響應
  • pageContext 網頁的屬性管理
  • session 與請求有關的會話器
  • application servlet 正在執行的內容
  • out用來傳送響應的輸出config servlet的架構部件
  • execption 針對錯誤頁面,未捕捉的例外

四大域物件,可以傳遞值

  • request 使用者請求,次請求會包含來自GET/POST請求的引數 request 物件是 javax.servlet.httpServletRequest型別的物件。 該物件代表了客戶端的請求資訊,主要用於接受通過HTTP協議傳送到伺服器的資料。(包括頭資訊、系統資訊、請求方式以及請求引數等)。request物件的作用域為一次請求。

  • pageContext pageContext 物件的作用是取得任何範圍的引數,通過它可以獲取 JSP頁面的out、request、reponse、session、application 等物件。pageContext物件的建立和初始化都是由容器來完成的,在JSP頁面中可以直接使用 pageContext物件。

  • session 與請求有關的會話器 session 物件是由伺服器自動建立的與使用者請求相關的物件。伺服器為每個使用者都生成一個session物件,用於儲存該使用者的資訊,跟蹤使用者的操作狀態。session物件內部使用Map類來儲存資料,因此儲存資料的格式為 “Key/value”。 session物件的value可以使複雜的物件型別,而不僅僅侷限於字串型別。

  • application application 物件可將資訊儲存在伺服器中,直到伺服器關閉,否則application物件中儲存的資訊會在整個應用中都有效。與session物件相比,application物件生命週期更長**,類似於系統的“全域性變數”。**