JAVA WEB 作用域之間的區別


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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM