1 JSP內建對象
在所有的JSP頁面中都能使用內建對象。所有的隱含對象只有對Scriptlet或者表達式有用,在JSP聲明中不可用。
(1)out
(2)request
(3)response
(4)session
session只能保存對象,不能保存原生類型。
(5)pageContext
(6)application
(7)config
(8)page
(9)exception
在JSP中提供了4種屬性的可見範圍:
(1)page:只在一個頁面中可見,跳轉之後無效;
(2)request:只在一次請求中可見,服務器跳轉後依然有效;
(3)session:在一次回話範圍中可見,無論何種跳轉都可見,但新開瀏覽器不可見;
(4)application:在整個應用中可見,所有用戶都可以使用。
pageContext ==> page
request, response ==> request
session ==> session
application ==> application
以上5個內置對象都支持以下的屬性操作方法:
setAttribute(String name, Object o);
getAttribute(String name);
removeAttribute(String name);
(1)pageContext的setAttribute()方法可以接收第三個參數(int型),設定屬性的範圍PageContext.PAGE_SCOPE,PageContext.REQUEST_SCOPE,PageContext.SESSION_SCOPE,PageContext.APPLICATION_SCOPE
(2)request對象常用方法
getParameter(String name)
getParameterValues(String name)
(3)response對象常用方法
response.sendRedirect()
使用該方法跳轉後,地址欄的頁面地址會改變,屬於客戶端跳轉。與<jsp:forward>的區別:
<jsp:forward>屬於服務器端跳轉,跳轉之後地址欄不變;而且在使用request屬性範圍時,只有服務器端跳轉才能夠將request屬性保存到跳轉頁;而如果是客戶端跳轉,則無法進行屬性的傳遞;如果使用的是服務器端跳轉,則執行到跳轉語句時會立刻進行跳轉;如果使用的是客戶端跳轉,則是在整個頁面執行完之後才執行跳轉。