JAVA WEB 作用域 1、page屬性範圍(pageContext) a、在一個頁面設置的屬性,跳轉到其他頁面就無法訪問了(包括重定向和)。 示例:pageScopeDemo01.jsp <%@ page import="java.util.*" language="java" contentT ...
JAVA WEB 作用域
1、page屬性範圍(pageContext)
a、在一個頁面設置的屬性,跳轉到其他頁面就無法訪問了(包括重定向和)。
示例:pageScopeDemo01.jsp
<%@ page import="java.util.*" language="java" contentType="text/html; c harset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http:// www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>page屬性範圍(pageContext)</title>
</head>
<body>
<%
//此時設置的屬性只能夠在本頁中取得
pageContext.setAttribute("name","英雄聯盟");//設置屬性
pageContext.setAttribute("date",new Date()); //設置屬性
//註意:這裡設置的兩個屬性的名字分別為name和date,這兩個是字元串類型的數據,但對應的屬性值英雄聯盟和new Date這個兩個值卻不是字元串類型,而是兩個Object類型的數據 。
%>
<%
//取得設置的屬性
String refName = (String)pageContext.getAttribute("name");
//由於取得的值為Object類型,因此必須使用String強制向下轉型,轉換成String類型
Date refDate = (Date)pageContext.getAttribute("date");
%>
<h1>姓名:<%=refName%></h1>
<h1>⽇日期:<%=refDate%></h1>
</body>
</html>
b、這裡說一下,如果需要檢驗的,使⽤用jsp:forward標簽進行伺服器器端跳轉。
示例:<jsp:forward page="地址.jsp" />
c、這裡的跳轉頁面,包括重定向(客戶端的URL發生改變)和轉發(伺服器端的URL不發生改變,進行伺服器器端跳轉)。
2、request屬性範圍
a、request屬性範圍表示在一次伺服器跳轉中有效,只要是伺服器跳轉(轉發或派發),則設置的 request屬性可以一直傳遞下去。
3、session屬性範圍
a、session設置的屬性不管如何跳轉,都可以取得的。當然,session只針對一個用戶
b、在第一個頁面上設置的屬性,跳轉(伺服器跳轉/客戶端跳轉)到其他頁面之後,其他的頁面依然可以取得第一個頁面上設置的屬性。
c、這裡不管是客戶端跳轉還是伺服器端跳轉都可以訪問第一個頁面設置的session屬性,條件是只限制於當前用戶。如果,此時新開了一個瀏覽器,則無法訪問session的屬性值。
4、application屬性範圍
a、application屬性範圍是在伺服器上設置的一個屬性,所以一旦設置之後任何用戶 都可以瀏覽到此屬性。
b、如果把Tomcat伺服器先關閉後再重新啟動,打開瀏覽器視窗運行,直接去獲取 application屬性設置的值,是無法獲取的。
筆者:香草玥兒
2016-10-19 17:17:02