Jsp 九大隱式對象

Jsp 九大隱式對象

  1. page
  2. config
  3. application
  4. response
  5. request
  6. session
  7. out
  8. exception
  9. pageContext

1) out
相當於response。getWriter得到PrintWriter

不同點

1.out和response.getWriter獲取到的流不同在於out這個對象本身就是一個緩衝區。利用out寫出來
的內容,會先緩衝到out緩衝區內,直到out緩衝區充滿了整個頁面結束時out緩衝區內容纔會被寫出到
response緩衝區中,最終可以帶到瀏覽器展示。

-----------------------------------------------------------------------------

page指令中的
         [buffer="none | 8kb | sizekb" ]可以用來禁用out緩衝區或設置out緩衝區的大小,默認
         8kb  [ autoFlush="true | false"]用來設置當out緩衝區滿了以後如果在寫入數據時out
         如何處理,如果是true,則先將滿了的數據寫到response中後再接受新數據,如果是false,則滿
         了再寫入數據直接拋異常 在jsp頁面中需要進行數據輸出時,不要自己獲取response.getWriter,             
         而是要使用out進行輸出,防止即用out又用response.getWriter而 導致輸出順序錯亂的問題

關鍵字 pageContext

pageContext
(1)可以作爲入口對象獲取其他八大隱式對象的引用
getException方法返回exception隱式對象
getPage方法返回page隱式對象
getRequest方法返回request隱式對象
getResponse方法返回response隱式對象
getServletConfig方法返回config隱式對象
getServletContext方法返回application隱式對象
getSession方法返回session隱式對象
getOut方法返回out隱式對象
(2)域對象,四大作用域的入口,可以操作四大作用域中的域屬性

            作用範圍: 當前jsp頁面
            生命週期: 當對jsp頁面的訪問開始時,創建代表當前jsp的PageContext,  
                          當對當前jsp頁面訪問結束時銷燬代表當前jsp的pageContext
            作用:在當前jsp中共享數據

                public void setAttribute(java.lang.String name,java.lang.Object value)
                public java.lang.Object getAttribute(java.lang.String name)
                public void removeAttribute(java.lang.String name)

                public void setAttribute(java.lang.String name, java.lang.Object value,int scope)
                public java.lang.Object getAttribute(java.lang.String name,int scope)
                public void removeAttribute(java.lang.String name,int scope)

                PageContext.APPLICATION_SCOPE
                PageContext.SESSION_SCOPE
                PageContext.REQUEST_SCOPE
                PageContext.PAGE_SCOPE 

                findAttribute方法 -- 搜尋四大作用域中的屬性,如果找到則返回該值,如果四大

                作用域中都找不到則返回一個null,搜尋的順序是從最小的域開始向最大的域開始尋找

        (3)提供了請求轉發和請求包含的快捷方法
            pageContext.include("/index.jsp");
            pageContext.forward("/index.jsp");
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章