一、8個內置對象
1.引入
我們爲什麼能直接在jsp裏面使用 out.print()
?
因爲: out 對象是一個 內置,對象(這裏一共有8個內置對象)
2. 九大內置對象
1.源碼分析,
(1)jsp的本質就是轉化爲 jsp.java ,我們看看源碼
final javax.servlet.jsp.PageContext pageContext;
javax.servlet.http.HttpSession session = null;
final javax.servlet.ServletContext application;
final javax.servlet.ServletConfig config;
javax.servlet.jsp.JspWriter out = null;
final java.lang.Object page = this;
javax.servlet.jsp.JspWriter _jspx_out = null;
javax.servlet.jsp.PageContext _jspx_page_context = null;
(2)怎麼只有8個??
還有一個是exception
2. 9大內置對象總結
內置對象 | 作用 | 類型 | 作用域 |
---|---|---|---|
request | 請求對象 | ServletRequest | Reqeust |
response | 響應對象 | ServletResponse | Page |
pageContext | 頁面上下文對象 | PageContext | Page |
application | 應用程序對象(ServletContext別稱) | ServletContext | Application |
out | 輸出對象 | JspWriter | Page |
comfig | 配置對象 | ServletConfig | Page |
page | 頁面對象(代表這個頁面this) | Object | Page |
exception | 異常對象 | Throwable | Page |
二、4種作用域(重點)
1.總結表格
名稱 | 描述 | 作用域 |
---|---|---|
Application | 等同於ServletContext(之前Servlet學過) | 不關閉服務器就有效 |
session | 等同於session(之前Servlet學過) | 不關閉瀏覽器有效(多個請求) |
request | 等同於request(之前Servlet學過)可以轉發 | page+可以轉發(針對同一個請求) |
page | 最小的等級,不能跳轉轉發頁面, | 當前頁面有效。 |
2.畫圖分析
1.page
2.request,可轉發
3.session可以多個請求
4.Application(和ServletContext別稱):不關閉服務器都行
三、遇到的問題與解決
無測試代碼,無問題。