JavaBean是一個可重復使用的軟件組件,是用Java語言編寫的、遵循一定標准的類。
JavaBean是Java Web的重要組件,它封裝了數據和操作的功能類,供JSP和Servlet調用,完成數據封裝和數據處理等功能。
既然JavaBean是一個遵循標准的類,那么標准是什么?
JavaBean的設計規則:
- JavaBean是一個公共類。
- JavaBean類具有一個公共無參的構造方法。
- JavaBean所有的屬性定義為私有。
- JavaBean中,需要對每個屬性提供兩個公共方法,Set方法和Get方法。
- 定義JavaBean時,通常放在一個命名的包下。
畢竟公式,定義什么的都比較難懂,那就舉個例子吧。
package beans //這一句表示JavaBean放在beans的包下
Public class User{
private String name;
private int age;
private String sex;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
在設計網站后台時,我們可能會用到用戶的姓名,年齡,性別,我們如果使用JavaBean的類將用戶的信息封裝,使用的時候可以調用set,get方法來設置和獲取他們的值。
Set,get方法的語法:
setxxx():用來設置屬性xxx的值。
getxxx():用來獲取屬性xxx的值。
那如果你使用Eclipse來編輯的話,那就厲害了,有一個快捷生成set,get方法的途徑。
我們介紹完JavaBean的定義,接下來我們介紹在JSP中怎么使用JavaBean。
JavaBean的使用
在jsp中我們可以使用動作標簽來訪問JavaBean,也可以使用腳本代碼訪問,在這里我們介紹第一種。
主要有三種動作標簽
- <jsp:useBean>:聲明並創建對象。
- <jsp:setProperty>:設置指定屬性的值。
- <jsp:getProperty>:獲取指定屬性的值。
使用的時候,還要注意他們的聲明格式:
<jsp:useBean id="對象名" class="類名" scope="有效范圍"/>
<jsp:setProperty name=" 對象名" property="屬性名" value="指定值"/>
<jsp:getProperty name=" 對象名" property=" 屬性名"/>
我們接着上面的例子再接着舉幾個例子。
<jsp:useBean id="user1" class="beans.User" scope="session"/>
這句話的意思是,定義一個User類的對象user1,范圍是session。
類名必須使用完全限定類名。
Scope屬性有page, requese, session, application四個可選值,分別代表頁面,請求,會話,應用4種范圍。
<jsp:setProperty name="user1" property="name" value="蒼井空"/>
這句話的意思是,設定user1對象的name屬性值為"蒼井空"。
<jsp:setProperty>還有幾種變型:
- <jsp:setProperty name=" beanname " property=" propertyname" />
- <jsp:setProperty name=" beanname" property=" propertyname" param=" paramname"/>
- <jsp:setProperty name=" beanname" property="*" />
這幾種變型主要處理form表單提交時的屬性賦值。
- 將propertyname的值提交給beanname中的屬性名稱相同的屬性。
- 將請求參數名稱為paramname的值提交給propertyname屬性。
- 將所有的屬性與請求參數關聯,實現自動復制並自動轉換數據類型。
<jsp:getProperty name="user1" property="name"/>
這句話的意思是,將user1對象的name屬性值顯示在頁面上。
注意,是直接顯示在頁面上!!!
JavaBean的安裝部署
(如果使用Eclipse,軟件會自動部署,這部分可跳過)
設計好的JavaBean類經過編譯后還必須部署到Web應用程序中才能被JSP或者Servlet應用。
將單個JavaBean類部署到"../WEB-INF/classes/"下。
JavaBean的打包類Jar部署到"../WEB-INF/lib"下。