天天看點

JSP内置對象(引)

常見對象及作用域:

對象名 類型 作用域

request javax.servlet.ServletRequest的子類 Request

response javax.servlet.ServletResponse的子類 Page

pageContext javax.servlet.jsp.PageContext Page

session javax.servlet.http.HttpSession Session

application javax.servlet.ServletContext Application

out javax.servlet.jsp.JspWriter Page

config javax.servlet.ServletConfig Page

page java.lang.Object Page

exception java.lang.Throwable Page

!!最重要的概念:四種屬性的儲存範圍

設定屬性:Public abstract Void setAttribute(java.lang.String name,java.lang.Object attribute)  屬性名稱為字元串、屬性值可以為任意對象

取得屬性:Public abstract Void setAttribute(java.lang.String name)

四種屬性儲存範圍:

在一個頁面範圍内 :page

在一次伺服器請求範圍内:request

在一次會話範圍内:session

在一個應用伺服器範圍内:application

page範圍:

在jsp中設定一個頁的屬性範圍必須通過pageContext完成

pageContext屬性範圍是最為重要的JSP屬性之一,但是如果使用純粹的JSP代碼開發,則此屬性顯示不出用處

request範圍:

将屬性儲存在一次請求範圍内的前提是,必須使用伺服器端跳轉

應用點:MVC設計模式、Struts、Webwork

session範圍:

隻保留一個使用者的資訊

隻要設定了屬性,則不管是什麼跳轉都可以取得屬性

與session有關的任何打開頁面都可以取得session

session的主要功能:用于驗證使用者是否登陸

application範圍:

隻要設定一次則所有的網頁視窗都可以取得資料

如果要釋放application資源隻能重新啟動伺服器

應用點:線上人員統計、線上人員名單清單

application、session、request都需要跨多個頁

保持性能不降低的原則:若能用request就不不要使用session,能使用session就不要使用application

重要概念:

pageContext預設情況下表示一個頁面的儲存範圍

另一種設定屬性的方法Public abstract Void setAttribute(java.lang.String name,java.lang.Object attribute,int scope)

scope可以取:Public Static final int APPLICATION_SCOPE、Public Static final int SESSION_SCOPE、Public Static final int REQUEST_SCOPE、Public Static final int PAGE_SCOPE

總結:四種屬性範圍都是依靠pageContext展開的,但是在開發中,往往使用session、request範圍最多。

四種屬性範圍是整個J2EE WEB端開發必須深刻記住的概念,包括設定屬性和取得屬性的參數類型,傳回值類型。

[原文請看:

http://blog.csdn.net/roader2046/archive/2008/01/29/2072282.aspx

]

部落格園大道至簡

http://www.cnblogs.com/jams742003/

轉載請注明:部落格園