天天看點

jsp之九大内置對象與四大域對象

一,什麼是内置對象?

在jsp開發中會頻繁使用到一些對象,如ServletContext HttpSession PageContext等.如果每次我們在jsp頁面中需要使用這些對象都要自己親自動手建立就會特别的繁瑣.SUN公司是以在設計jsp時,在jsp頁面加載完畢之後自動幫開發者建立好了這些對象,開發者隻需要使用相應的對象調用相應的方法即可.這些系統建立好的對象就叫做内置對象.

在servlet程式中,如果開發者希望使用session對象,必須通過request.getSession()來得到session對象;而在jsp程式中,開發中可直接使用session(系統幫我們建立好的session對象的名字就叫session)調用相應的方法即可,如:session.getId().

内置對象名 類型

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作用:可以擷取其他八個内置對象

//示例:

pageContext.getOut();

pageContext.getServletConfig()

使用場景:在自定義标簽時會頻繁使用到PageContext對象;或者是定義一個方法需要用到多個對象時,傳一個pageContext對象就能解決問題.

四,JSP中四大域對象

分類:

ServletContext context域

HttpServletRequet request域

HttpSession session域 --前三種在學習Servlet時就能接觸到

PageContext page域 --jsp學習的

域對象的作用:儲存資料,擷取資料,共享資料.

儲存資料:

pageContext.setAttribute(“内容”);//預設儲存到page域

pageContext.setAttribute(“内容”,域範圍常量);//儲存到指定域中

//四個域常量

PageContext.PAGE_SCOPE

PageContext.REQUEST_SCOPE

PageContext…SESSION_SCOPE

PageContext.APPLICATION_SCOPE

擷取資料:

pageContext.getAttribute(“name”,域範圍常量);

//自動在四個域中搜尋資料 pageContext.findAttribute(“内容”);//在四個域中自動搜尋資料,順序:page域->request域->session域->application域(context域)

域作用範圍:

page域: 隻能在目前jsp頁面使用 (目前頁面)

request域: 隻能在同一個請求中使用 (轉發)

session域: 隻能在同一個會話(session對象)中使用 (私有的)

context域: 隻能在同一個web應用中使用 (全局的)

作者:bighuan

來源:CSDN

原文:https://blog.csdn.net/bighuan/article/details/68925746

版權聲明:本文為部落客原創文章,轉載請附上博文連結!

作者:bighuan

來源:CSDN

原文:https://blog.csdn.net/bighuan/article/details/68925746

版權聲明:本文為部落客原創文章,轉載請附上博文連結!

作者:bighuan

來源:CSDN

原文:https://blog.csdn.net/bighuan/article/details/68925746

版權聲明:本文為部落客原創文章,轉載請附上博文連結!

作者:bighuan

來源:CSDN

原文:https://blog.csdn.net/bighuan/article/details/68925746

版權聲明:本文為部落客原創文章,轉載請附上博文連結!

作者:bighuan

來源:CSDN

原文:https://blog.csdn.net/bighuan/article/details/68925746

版權聲明:本文為部落客原創文章,轉載請附上博文連結!