EL隱式對(duì)象和JSP內(nèi)置對(duì)象_第1頁(yè)
EL隱式對(duì)象和JSP內(nèi)置對(duì)象_第2頁(yè)
EL隱式對(duì)象和JSP內(nèi)置對(duì)象_第3頁(yè)
EL隱式對(duì)象和JSP內(nèi)置對(duì)象_第4頁(yè)
EL隱式對(duì)象和JSP內(nèi)置對(duì)象_第5頁(yè)
已閱讀5頁(yè),還剩1頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、JSP共有九大內(nèi)置對(duì)象:(1) HttpSession 類的 session 對(duì)象作用:主要用于來分別保存每個(gè)用戶信息,與請(qǐng)求關(guān)聯(lián)的會(huì)話;會(huì)話狀態(tài)維持是Web 應(yīng)用開發(fā)者必須面對(duì)的問題。(2) HttpServletRequest 類的 request 對(duì)象作用:代表請(qǐng)求對(duì)象,主要用于接受客戶端通過HTTP 協(xié)議連接傳輸?shù)椒?wù)器端的數(shù)據(jù)。(3) HttpServletResponse 類的 respone 對(duì)象作用:代表響應(yīng)對(duì)象,主要用于向客戶端發(fā)送數(shù)據(jù)(4) JspWriter 類的 out 對(duì)象作用:主要用于向客戶端輸出數(shù)據(jù);Out 的基類是 JspWriter(5) ServletCon

2、tex 類的 application 對(duì)象作用:主要用于保存用戶信息,代碼片段的運(yùn)行環(huán)境;它是一個(gè)共享的內(nèi)置對(duì)象,即一個(gè)容器中的多個(gè)用戶共享一個(gè)application 對(duì)象,故其保存的信息被所有用戶所共享.(6) PageContext 類的 pageContext 對(duì)象作用:管理網(wǎng)頁(yè)屬性,為JSP頁(yè)面包裝頁(yè)面的上下文,管理對(duì)屬于JSP中特殊可見部分中已命名對(duì)象的訪問,它的創(chuàng)建和初始化都是由容器來完成的。(7) ServletConfig 類的 config 對(duì)象作用:代碼片段配置對(duì)象,表示Servlet 的配置。(8) Object 類的 page (相當(dāng)于 this )對(duì)象作用:處理JSP

3、網(wǎng)頁(yè),是Object類的一個(gè)實(shí)例,指的是 JSP實(shí)現(xiàn)類的實(shí)例,即它也是JSP本身,只有在JSP頁(yè)面范圍之內(nèi)才是合法的(9)Exception作用:處理JSP文件執(zhí)行時(shí)發(fā)生的錯(cuò)誤和異常EL共有11大內(nèi)置對(duì)象:JSP開發(fā)人員可以在EL表達(dá)式中使用EL隱式對(duì)象,而無須任何顯式的編碼活聲明。隱式對(duì)象就是設(shè)計(jì)用來為 JSP 編程提供方便的,通過隱式對(duì)象,用 EL 編寫的代碼就可以直接使用JSP頁(yè)面的一些最常用的地方。總共有 11個(gè)隱式對(duì)象,這11個(gè)隱式 對(duì)象可以分為 5 大類: JSP 隱式對(duì)象。作用域訪問隱式對(duì)象。參數(shù)訪問隱式對(duì)象。首部訪問隱式對(duì)象。初始化參數(shù)訪問隱式對(duì)象。JSP隱式對(duì)象類中只有一個(gè)E

4、L隱式對(duì)象,這就是 pageContext隱式對(duì)象。這與同名的JSP隱式對(duì)象實(shí)際上就是同一個(gè)對(duì)象。余下的EL隱式對(duì)象都是Java映射( map ),他們只是提供了更容易的途徑來訪問 pageContext 隱式對(duì)象的某些性質(zhì)。共有 4 個(gè)作用域隱式對(duì)象,分別為 pageScope, requestScope, sessionScope 和 applicationScope. 這些隱式對(duì)象都是映射,利用他們可以很容易的訪問作用域?qū)傩浴@纾焊郊拥?request 作用域的 username 屬性可以通過EL 表達(dá)式$ requestScope.username 來直接訪問。有兩個(gè)參數(shù)訪問隱式對(duì)象

5、,可以用來訪問 HTTP 請(qǐng)求參數(shù)(表單提交參數(shù)),即param 和 paramValues. param 是一個(gè)用于訪問單值參數(shù)的映射, paramValues 則可 用于訪問可能包含多個(gè)值的參數(shù)。接下來的實(shí)驗(yàn)會(huì)展示這將如何處理。有 3 個(gè)首部訪問隱式對(duì)象,可以用于訪問 HTTP 首部,分別是header,headerValues和cookie。如果想以原始的方式訪問HTTP首部或cookie,這些映射就很有用。另外還有一個(gè)初始化參數(shù)訪問隱式對(duì)象:initParam 。這個(gè)映射可以用于訪問初始化參數(shù)的值,初始化參數(shù)的值一般都在web.xml 中設(shè)置。類別 標(biāo)識(shí)符 描述JSPpageConte

6、xtPageContext 實(shí)例對(duì)應(yīng)于當(dāng)前頁(yè)面的處理作用域pageScope與頁(yè)面作用域?qū)傩缘拿Q和值相關(guān)聯(lián)的 Map 類requestScope與請(qǐng)求作用域?qū)傩缘拿Q和值相關(guān)聯(lián)的Map 類sessionScope與會(huì)話作用域?qū)傩缘拿Q和值相關(guān)聯(lián)的Map 類JSP 隱式對(duì)applicationScope與應(yīng)用程序作用域?qū)傩缘拿Q和值相關(guān)聯(lián)的 Map 類請(qǐng)求參數(shù) param按名稱存儲(chǔ)請(qǐng)求參數(shù)的主要值的 Map 類paramValues將請(qǐng)求參數(shù)的所有值作為 String 數(shù)組存儲(chǔ)的 Map 類請(qǐng)求頭 header按名稱存儲(chǔ)請(qǐng)求頭主要值的 Map 類headerValues將請(qǐng)求頭的所有值作為 S

7、tring 數(shù)組存儲(chǔ)的 Map 類Cookie cookie按名稱存儲(chǔ)請(qǐng)求附帶的 cookie 的 Map 類初始化參數(shù)initParam按名稱存儲(chǔ)Web 應(yīng)用程序上下文初始化參數(shù)的 Map 類其實(shí)我的主要目的是為了搞清楚pageContext 對(duì)象,如下:pageContext 隱含物件對(duì)應(yīng)於 javax.servlet.jsp.PageContext 型態(tài)之物件,隱含物件都自動(dòng)的被加入至pageContext中,您可以藉由它來取得與JSP相關(guān)的隱含物件對(duì)應(yīng)之Servlet 物件,像是getRequest() 可以取得ServletRequest , getServletConfig()可以

8、取得 ServletConfig , getSession() 可以取得 HttpSession 等等。提供取得隱含物件 對(duì)應(yīng)之Servlet 物件并不是pageContext 的主要作用,它的主要功能在提供一個(gè)單一個(gè)介面,以管理各種的公開物件(像是HttpSession 、 ServletContext 、 ServletConfig 、ServletRequest 、 ServletResponse 等等),提供一個(gè)單一的 API 來管理屬性作用范圍 等等。我們之前曾經(jīng)使用過session 的 setAttribute() 等方法設(shè)定一個(gè)進(jìn)程可以共用的屬性物件,使用 session 設(shè)定的

9、屬性在同一個(gè)進(jìn)程中可以共用,除了 session 之外,還有 pageContext 、 request 、 application 也都可以使用 setAttribute() 之類的方法(詳請(qǐng)查 閱 API 文件)來設(shè)定可以共用的屬性物件,只不過這四個(gè)物件所設(shè)定的屬性其共用范 圍各不相同。使用pageContext所設(shè)定的屬性物件,其共用范圍限於同一個(gè)JSP頁(yè)面,使用request 所設(shè)定的屬性物件,其在同一個(gè)request 處理期間可以共用(包括forward 給其它JSP頁(yè)面),session物件所設(shè)定的屬性物件則限於同一個(gè)進(jìn)程作用期間可以共 用,而application物件所設(shè)定的屬性

10、,則在整個(gè) Web應(yīng)用程式中的JSP頁(yè)面都可以共 用。以下舉 application 為例,您可以將一些物件當(dāng)作屬性設(shè)定給application ,則另一個(gè)JSP頁(yè)面就可以在適當(dāng)?shù)臅r(shí)候取得這個(gè)屬性物件,例如:<%String attr = " 字串物件 "out.println(" 設(shè)定屬性給application : " + attr);application.setAttribute("str", attr);%>JSP 網(wǎng)頁(yè):我們先連上這個(gè)JSP 網(wǎng)頁(yè)以執(zhí)行屬性設(shè)定,然后我們?cè)龠B上這個(gè)<%String attr

11、 = (String) application.getAttribute("str"); out.println(" 取得 application 屬性: " + attr); %>由於我們之前已經(jīng)將字串物件設(shè)定在application 中作為屬性,所以我們可以在上面這個(gè)頁(yè)面中取得之前設(shè)定的物件,同樣的道理,您也可以用相同的方式設(shè)定屬性給pageContext 、 request 、 session 等物件,只要在允許的作用范圍中,就可以取得所設(shè) 定的屬性物件。您可以使用 pageContext 物件來設(shè)定屬性,并指定屬性的作用范圍,而不用使用個(gè)別

12、的pageContext 、 request 、 session 、 application 來進(jìn)行設(shè)定,這就是之前所提的,以pageContext 提供一個(gè)單一的 API 來管理屬性作用范圍,您可以使用以下的方法來進(jìn)行設(shè)定:getAttribute(String name, int scope)setAttribute(String name, Object value, int scope)removeAttribute(String name, int scope)其中的 scope 可以使用以下的常數(shù)來進(jìn)行指定: pageContext.PAGE_SCOPE 、 pageContext.REQUEST_SCOPE 、 pageContext.SESSION_SCOPE 、pageContext.APPLICATION_SCOPE ,常數(shù)的名稱已經(jīng)直接指明屬性范圍,我們可以將 上面的兩個(gè)JSP頁(yè)面改為以下的形式: <%String attr = " 字串物件 "out.println(" 設(shè)定屬性給application : " + attr);pageContext.setAttribute("str", attr,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論