pageContext,request,session,application四大作用域的區別
一、 生命周期:
- page:存在page中的變量,只作用於當前的jsp頁面,當發生跳轉、重定向、定時刷新時,將隨之銷毀;
- request:存在request中的變量,作用於一次HTTP請求到服務器處理結束,返回響應的整個過程,該變量可以隨着forward的方式跳轉到多個jsp中,一但刷新頁面,它們將重新計算;
- session:存在Session中的變量,作用於一次會話中,從打開瀏覽器到關閉瀏覽器過程中,將一直累加;(若想在再次打開瀏覽器時,變量仍然存在,則可以將session的JSESSIONID存到Cookie中,在給cookie一個存活時間)
- application:存在application中的變量,作用於整個應用中,即從應用啟動到應用結束,如果不進行手工刪除,它們將一直可以使用,而且這些變量所有用戶均可使用。
二、 作用范圍:
- page:用戶請求的當前頁面;
- request:用戶請求訪問的當前組件,以及和當前web組件共享同一用戶請求的web組件;
- session:同一個Http會話中的web組件共享;
- application:整個web應用的所有web組件共享,即只要是同一個服務器下的均可使用。