###細節java
##9大對象是什麼web
##out隱式對象 1.out隱式對象用戶向客戶端發送文本數據。 2.out對象是經過調用pageContext對象的getOut方法返回,其做用和用法與ServletResponse.getWriter方法返回的PrintWriter對象很是類似。 3.JSP頁面中的out隱式對象的類型爲JspWriter,JspWriter至關於一種帶緩存功能的PrintWriter,設置JSP頁面的page指令的buffer屬性能夠調整它的緩存大小,設置關閉它的緩存 4.只有向out對象中寫入了內容,且知足以下任何一個條件時,out對象纔去調用ServletResponse.getWriter方法,並經過該方法返回的PrintWriter對象將out對象緩衝區的內容真正寫入到Servlet引擎提供的緩衝區中: (1). 設置page指令的buffer屬性關閉了out對象的緩存功能 (2). out對象的緩衝區已滿 (3). 整個JSP頁面結束編程
question:緩存
<body> aaaaa <% out.write("bbbbb"); response.getWriter().write("ccccc") %>
輸出結果是什麼?session
answer:app
ccccc aaaaa bbbbb
##pageContext對象 pageContext對象是JSP技術中最重要的一個對象,它表明JSP頁面的運行環境。jsp
1. 這個對象不只分裝了對其它8大隱式對象的引用, 2. 它自身仍是一個域對象,能夠用來保存數據 3. 而且,這個對象還封裝了web開發中常常涉及到一些經常使用操做,例如引入和跳轉其它資源,檢索其它域對象中的屬性等。
###經過pageContext得到其它對象 1.getException : 得到exception 2.getPage : 得到page 3.getRequest : 得到request 4.getResponse : 得到response 5.getServletConfig : 得到config 6.getServletContext : 得到application 7.getSession : 得到session 8.getOut : 得到out 9.pageContext封裝其它8大內置對象的意義,思考:若是在編程過程當中,把pageContext對象傳遞給一個普通java對象,那麼這個對象將具備什麼功能。 pageContext主要用在 自定義標籤開發技術裏面 ###四個域對象 application>session>request>pageContext ###pageContext對象的方法this
1.public void setAttribute(name,value) 2.public Object getAttribute(name) 3.public void remoteAttribute(name)
###pageContext對象還封裝了訪問其它域的方法spa
1.public Object getAttribute(name,scope) 2.public void setAttribute(name,value,scope) 3.public void remoteAttribute(name,scope)
###表明各個域的常量翻譯
1.PageContext.APPLICATION_SCOPE 2.PageContext.SESSION_SCOPE 3.PageContext.REQUEST_SCOPE 4.PageContext.PAGE_SCOPE
###findAttribute 查找各個域中的屬性 按照域範圍的從小到大的順序查找: pageContext --> request --> session --> application ###引入和跳轉到其它資源 1.PateContext類中定義了一個forward方法和兩個include方法分別簡化和替代RequestDispatcher.forward方法和include方法 2.方法接收的資源若是以"/"開頭,"/"表明當前web應用。