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物件生命週期更長**,類似於系統的“全域性變數”。**