如果我们想在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。但是这种情况,在应用中会出现找不到属性的错误。