jsp 的本質是什麼
jsp 頁面本質上是一個 Servlet 程序。
當我們第一次訪問 jsp 頁面的時候。Tomcat 服務器會幫我們把 jsp 頁面翻譯成爲一個 java 源文件。並且對它進行編譯成 爲.class 字節碼程序。我們可以通過idea運行部署到tomcat的路徑中找到源文件
訪問到這個文件夾後會發現這裏爲空
那我們去請求jsp頁面 這個時候裏面就會生成
我們打開 java 源文件不難發現其裏面的內容是:
我們跟蹤原代碼發現,HttpJspBase 類。它直接地繼承了 HttpServlet 類。也就是說。jsp 翻譯出來的 java 類,它間接了繼 承了 HttpServlet 類。也就是說,翻譯出來的是一個 Servlet 程序
通過翻譯的 java 源代碼我們就可以得到結果:jsp 就是 Servlet 程序
jsp 九大內置對象
jsp 中的內置對象,是指 Tomcat 在翻譯 jsp 頁面成爲 Servlet 源代碼後,內部提供的九大對象,叫內置對象。
jsp 四大域對象
四個域對象分別是:
pageContext (PageContextImpl 類) | 當前 jsp 頁面範圍內有效 |
request (HttpServletRequest 類) | 一次請求內有效 |
session (HttpSession 類) | 一個會話範圍內有效(打開瀏覽器訪問服務器,直到關閉瀏覽器) |
application (ServletContext 類) | 整個 web 工程範圍內都有效(只要 web 工程不停止,數據都在) |