JSP運行原理和九大隱式對象說明

來源:互聯網
上載者:User

每個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大對象的引用。

這9個對象分別是哪些,以及作用也是筆試經常考察的知識點。

Jsp九大隱式對象

request //代表request對象

response //代表response對象

config //代表servletConfig對象

application //代表servletContext對象

exception

Session

page

out //代表response.getWriter() ,字元輸出資料流對象

pageContext

pageContext對象

pageContext對象是JSP技術中最重要的一個對象,它代表JSP頁面的運行環境.

這個對象不僅封裝了對其它8大隱式對象的引用,

它自身還是一個域對象,可以用來儲存資料。

並且,這個對象還封裝了web開發中經常涉及到的一些常用操作,例如引入和跳轉其它資源、檢索其它域對象中的屬性等。

通過pageContext獲得其他對象

getException方法返回exception隱式對象

getPage方法返回page隱式對象

getRequest方法返回request隱式對象

getResponse方法返回response隱式對象

getServletConfig方法返回config隱式對象

getServletContext方法返回application隱式對象

getSession方法返回session隱式對象

getOut方法返回out隱式對象

pageContext封裝其它8大內建對象的意義,思考:如果在編程過程中,把pageContext對象傳遞給一個普通java對象,那麼這個java對象將具有什麼功能?

pageContext作為域對象

pageContext對象的方法

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)

pageContext對象中還封裝了訪問其它域的方法

public java.lang.Object getAttribute(java.lang.String name,int scope)

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

public void removeAttribute(java.lang.String name,int scope)

代表各個域的常量

PageContext.APPLICATION_SCOPE

PageContext.SESSION_SCOPE

PageContext.REQUEST_SCOPE

PageContext.PAGE_SCOPE

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.