1. 程式人生 > >JSP_九大隱式對象

JSP_九大隱式對象

null ati style 作用 使用 快捷 當前 move 一個

JSP九大隱式對象:在翻譯過來的Servlet中Service方法自動幫我們前置定義的九個對象,可以在jsp頁面中直接使用
page
confing
application
response
request
session
out
exception
pageContext


out
相當於是response.getWriter得到PrintWriter
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
(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");

JSP_九大隱式對象