JavaBean語法
1.導入JavaBean類
<%@page import="mypack.CounterBean" %>
2.聲明JavaBean對象
<jsp:useBean id="myBean" class="mypack.CounterBean" scope="session"/>
注意:1)JSP規範要求存放在所有範圍內的每個JavaBean對象都有唯一的ID
如:不允許在回話範圍內存在兩個ID爲myBean
也不允許在會話範圍和請求範圍內分別存在ID爲myBean的javaBean。
2)在<jsp:useBean>標籤中指定class屬性時,必須給出完整的JavaBean的類名(包括類所屬的包的名字)
<jsp:useBean id="myBean" class="CounterBean" scope="session"/>
否則JSP編輯器會找不到CounterBean類,從而拋出ClassNotFoundException錯誤。
JavaBean的幾個特性
- 是一個公共類(public)
- 有一個不帶參數的構造方法
- 通過get方法設置屬性,通過set方法獲取屬性
- 屬性名和get及set方法間存在固定的對應關係,屬性名中第一個字母在方法名中改爲大寫 如getXyz() ,setXyz().
- JAVABean持久化,需要實現java.io.Serializable接口。
JavaBean四種範圍
- 頁面範圍
共享數據的有效範圍是用戶請求訪問的當前頁面;
2. 請求範圍
共享數據的有效範圍爲用戶請求訪問的當前Web組件,以及和當前Web組件共享同一個用戶請求的其他Web組件。如果用戶請求訪問的是JSP網頁,那麼該 JSP網頁<%@include> 指令、<jsp:include> 標籤及<jsp:forward>標籤指向的其他JSP文件也能訪問共享數據。請求範圍內的共享數據實際上存放在HttpServletRequest對象中。
3. 會話範圍
共享數據存在於整個HTTP會話的生命週期內,同一個HTTP會話中的Web組件共享它。會話範圍內的共享數據實際上存放在HttpSession中。
4.Web應用範圍
共享數據存在於整個Web應用的生命週期內, Web應用中的所有Web組件都能共享它。共享數據實際上存放在ServletContext對象中。