JSP中九大內置對象和四種屬性范圍詳解
一般對象需要實例化才可以調用,而JSP的內置對象是不用實例化就可以直接調用的對象。
總共有9個,對應如下表:
序號 | 對象 | 類型 |
1 | pageContext | javax.servlet.jsp.PageContext |
2 | request | javax.servlet.http.HttpServletRequest |
3 | response | javax.servlet.http.HttpServletResponse |
4 | session | javax.servlet.http.HttpSession |
5 | application | javax.servlet.ServletContext |
6 | config | javax.servlet.ServletConfig |
7 | out | javax.servlet.jsp.jspWriter |
8 | page | Java.lang.Object |
9 | exception | java.lang.Throwable |
四種范圍介紹:在jsp頁面中的對象,包括用戶創建的對象(例如,javaBean對象)和JSP的隱含對象,都有一個范圍屬性。范圍定義了在什么時間內,在哪一個JSP頁面中可以訪問這些對象。例如,session對象在會話期間內,可以在多個頁面中被訪問。application對象在整個Web應用程序的生命周期中都可以被訪問。
1,page范圍
具有page范圍的對象被綁定到javax.servlet.jsp.PageContext對象中。在這個范圍內的對象,只能在創建對象的頁面中訪問。 可以調用pageContext這個隱含對象的getAttribute()方法來訪問具有這種范圍類型的對象(pageContext對象還提供了訪問 其他范圍對象的getAttribute方法),pageContext對象本身也屬于page范圍。當Servlet類的_jspService()方 法執行完畢,屬于page范圍的對象的引用將被丟棄。page范圍內的對象,在客戶端每次請求JSP頁面時創建,在頁面向客戶端發送回響應或請求被轉發 (forward)到其他的資源后被刪除。
例如:
<body> <%pageContext.setAttribute("page", "這是pageContext測試"); %> <%=pageContext.getAttribute("page") %> <jsp:forward page="two.jsp"></jsp:forward> </body>
在two.jsp接收頁面的代碼是:
<%=pageContext.getAttribute("page") %>
新聞熱點
疑難解答