session 屬性範圍
在一次會話範圍內,無論何種跳轉都可以使用,但新開瀏覽器就無法使用
設定session屬性範圍 session_scope_01.jsp
代碼如下 |
複製代碼 |
<% session.setAttribute("name","小明"); session.setAttribute("birthday",new Date()); %> <a href="session_scope_02.jsp">session跳轉</a> 跳轉後的頁面 session_scope_02.jsp <% String username=(String)session.getAttribute("name"); Date birthday=(Date)session.getAttribute("birthday"); %> <h1><%=username%></h1> <h2><%=birthday%></h2>
|
無論使用者先調用session_scope_01.jsp還是session_scope_02.jsp, java bean UserEnv總是先初始化一次, 由於這個bean存在周期是seesion,因此該使用者第二次以後只要在seesion有效期間內再調用,myenv.getUserdir()將直接從bean記憶體中讀取變數,不必再初始化.這樣提高速度,又減少資料庫訪問量.
注在兩個jsp檔案頭部加上
<%@ page language="java" contentType="text/html" pageEncoding="UTF-8"%>
<%@ page import="java.util.*"%>
session對象指的是用戶端與伺服器的一次會話,從客戶連到伺服器的一個WebApplication開始,直到用戶端與伺服器中斷連線為止。它是HttpSession類的執行個體.
序號 方 法 說 明
1 long getCreationTime() 返回SESSION建立時間
2 public String getId() 返回SESSION建立時JSP引擎為它設的惟一ID號
3 long getLastAccessedTime() 返回此SESSION裡用戶端最近一次請求時間
4 int getMaxInactiveInterval() 返回兩次請求間隔多長時間此SESSION被取消(ms)
5 String[] getValueNames() 返回一個包含此SESSION中所有可用屬性的數組
6 void invalidate() 取消SESSION,使SESSION不可用
7 boolean isNew() 返回伺服器建立的一個SESSION,用戶端是否已經加入
8 void removeValue(String name) 刪除SESSION中指定的屬性
9 void setMaxInactiveInterval() 設定兩次請求間隔多長時間此SESSION被取消(ms)