如果我們想在JSP頁面中使用標簽來操作java類,那么我們所寫的java類就必須遵守JavaBean規范,一個JavaBean,是由其屬性和方法組成的。
1. JavaBean 類必須是一個公共類,即使用關鍵字 public 聲明類。
2. JavaBean 類中必須有一個聲明為公共的無參構造函數。
JavaBean 本質還是一個java類,在不聲明任何構造器的情況下,系統會給它添加一個默認的無參構造器;
如果手動聲明了一個構造器,則系統不會添加默認的無參構造器,這時如果不手動添加無參構造器,當創建無參對象時,就會報錯,因為找不到無參構造器。
3. JavaBean 類中的實例變量必須為私有的,即所有的實例變量都使用關鍵字 private 聲明。
4. 必須為 JavaBean 類中的實例變量提供公共的 getter / setter 方法。
只提供 getter 方法的屬性,稱為只讀屬性;只提供 setter 方法的屬性,稱為只寫屬性。
使用 private 修飾實例變量,可以保證數據安全,其他類無法直接訪問這些變量。在 getter / setter 方法中,可以做一些權限控制,數據校驗等工作,以保證數據的安全,合法性。
5. JavaBean 類中實例屬性的命名規則: 實例屬性名前兩個字母要么都小寫,要么都大寫。
(3) 屬性名前兩個字母都小寫:將屬性名的首字母大寫,然后用作 getter / setter 方法中 get / set 的后部分,如屬性名為 name, 它的 getter / setter 方法為 getName / setName。
(2) 屬性名的第二個字母大寫: 將屬性名直接用作 getter / setter 方法中 get / set 的后部分,即屬性名大小寫不變。如屬性名為 uName,它的 getter / setter 方法為 getuName / setuName。
(3) 屬性名前兩個字母都大寫:將屬性名直接用作 getter / setter 方法中 get / set 的后部分,即屬性名大小寫不變。如屬性名為 IDcode, 它的 getter / setter 方法為 getIDcode / setIDcode。
(4) 屬性名首字母大寫:將屬性名直接用作 getter / setter 方法中 get / set 的后部分,即屬性名大小寫不變。如屬性名為 Ucode, 它的 getter / setter 方法為 getUcode / setUcode。但是這種情況,在應用中會出現找不到屬性的錯誤。