您好,登錄后才能下訂單哦!
每個JSP 頁面在第一次被訪問時,WEB容器都會把請求交給JSP引擎(即一個Java程序)去處理。JSP引擎先將JSP翻譯成一個_jspServlet(實質上也是一個servlet) ,然后按照servlet的調用方式進行調用。
由于JSP第一次訪問時會翻譯成servlet,所以第一次訪問通常會比較慢,但第二次訪問,JSP引擎如果發現JSP沒有變化,就不再翻譯,而是直接調用,所以程序的執行效率不會受到影響。
JSP引擎在調用JSP對應的_jspServlet時,會傳遞或創建9個與web開發相關的對象供_jspServlet使用。JSP技術的設計者為便于開發人員在編寫JSP頁面時獲得這些web對象的引用,特意定義了9個相應的變量,開發人員在JSP頁面中通過這些變量就可以快速獲得這9大對象的引用。
1、page當前servlet對象
2、confingservletconfig對象
3、application servletcontext對象,當前web應用
4、response
5、request
6、session
7、out
8、exception在錯誤提示頁面的對象,表示上一頁頁面拋出的異常。
9、pageContext 代表整個JSP頁面對象
1、相當于是response.getWriter得到PrintWriter對象
2、out和response.getWriter獲取到的流,稍微有些不同,在于這個out對象本身就具有一個緩沖區。利用out寫出的內容,會先緩沖在out緩沖區中,直到out緩沖區滿了或者整個頁面結束時,out緩沖區中的內容才會被寫出到response緩沖區中,最終可以帶到瀏覽器頁面進行展示。
3、page指令中的
buffer="none | 8kb | sizekb" 可以用來禁用out緩沖區或設置out緩沖區的大小,默認8kb。
autoFlush="true | false"用來設置當out緩沖區滿了以后如果在寫入數據時out如何處理,如果是true,則先將滿了的數據自動刷新到response中后再接受新數據;如果是false,則滿了再寫入數據直接拋異常。
4、在jsp頁面中需要進行數據輸出時,不要自己獲取response.getWriter,而是要使用out進行輸出,防止即用out又用response.getWriter而導致輸出順序錯亂的問題
(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( name, value)
public java.lang.Object getAttribute( name)
public void removeAttribute( name)
public void setAttribute( name, value, int scope)
public java.lang.Object getAttribute( name, int scope)
public void removeAttribute( 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");
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。