jsp九大內建物件與四大域物件(轉載)
阿新 • • 發佈:2019-01-26
一,什麼是內建物件?
在jsp開發中會頻繁使用到一些物件,如ServletContext HttpSession PageContext等.如果每次我們在jsp頁面中需要使用這些物件都要自己親自動手建立就會特別的繁瑣.SUN公司因此在設計jsp時,在jsp頁面載入完畢之後自動幫開發者建立好了這些物件,開發者只需要使用相應的物件呼叫相應的方法即可.這些系統建立好的物件就叫做內建物件.
在servlet程式中,如果開發者希望使用session物件,必須通過request.getSession()來得到session物件;而在jsp程式中,開發中可直接使用session(系統幫我們建立好的session物件的名字就叫session)呼叫相應的方法即可,如:session.getId().
二,九大內建物件到底是哪九大呢?
[plain] view plain copy print?- 內建物件名 型別
- request HttpServletRequest
- response HttpServletResponse
- config ServletConfig
- application ServletContext
- session HttpSession
- exception Throwable
- page Object(this)
-
out JspWriter
- pageContext PageContext
三,解析幾個內建物件
1)out物件物件,物件型別是JspWriter類,相當於帶快取的PrintWriter(不帶快取)
PrintWriter:write("內容") 直接向瀏覽器輸出內容
JspWriter:writer("內容") 向jsp緩衝區寫出內容
JspWriter當滿足以下條件時之一時,緩衝區的內容寫出:
a,緩衝區滿了
b,重新整理緩衝區
c,關閉緩衝區
d,jsp頁面執行完畢
2)pageContext物件
pageContext的物件型別是PageContext,叫jsp的上下文物件.
pageContext作用:可以獲取其他八個內建物件
[plain] view plain copy print?- //示例:
- pageContext.getOut();
- pageContext.getServletConfig()
四,JSP中四大域物件
分類:
[plain] view
plain copy
print?
- ServletContext context域
- HttpServletRequet request域
- HttpSession session域 --前三種在學習Servlet時就能接觸到
- PageContext page域 --jsp學習的
儲存資料:
[plain] view plain copy print?- pageContext.setAttribute("內容");//預設儲存到page域
- pageContext.setAttribute("內容",域範圍常量);//儲存到指定域中
- //四個域常量
- PageContext.PAGE_SCOPE
- PageContext.REQUEST_SCOPE
- PageContext..SESSION_SCOPE
- PageContext.APPLICATION_SCOPE
獲取資料:
[plain] view plain copy print?- pageContext.getAttribute("內容");
- <p>pageContext.getAttribute("name",<span style="font-family:宋體;">域範圍常量</span><span style="font-family:Calibri;">);</span></p>//自動在四個域中搜索資料
- pageContext.findAttribute("內容");//在四個域中自動搜尋資料,順序:page域->request域->session域->application域(context域)
域作用範圍:
[plain] view plain copy print?- page域: 只能在當前jsp頁面使用 (當前頁面)
- request域: 只能在同一個請求中使用 (轉發)
- session域: 只能在同一個會話(session物件)中使用 (私有的)
- context域: 只能在同一個web應用中使用 (全域性的)
五,總結
堅持每天學一點新技術,堅持寫寫部落格,這就是今天部落格的總結!Fighting,bighuan!