javaBean的概念
JavaBean是遵循一定书写规范的Java类
JavaBean的规范
1.该Java必须有无参数的构造方法,该类必须是用public修饰的
2.该Java类的属性(字段)必须私有化,即用private修饰,字段名首字母小写
3.提供公开的set或者get方法,可以只有set或者get方法。
4.JavaBean一般需要实现序列化接口,以便在网络中传输
可序列化接口Java.io.Serializable
JavaBean最大的作用是通过反射机制创建对象,保存数据,即封装数据
JavaBean是所有JavaEE系统中最为核心的设计
在JSP中使用JavaBean
<jsp:useBean id="p" class="cn.test.javabeandemo.bean.Person" scope="page" >
id:对象的引用,域范围中存储的key值,创建的对象的名字与beanName作用相同
class:对应的JavaBean的全类名
scope:创建后的JavaBean存放的作用域,默认放在page中
</jsp:useBean>
以上JSP代码等价于
cn.test.javabeandemo.bean.Person p = (cn.test.javabeandemo.bean.Person)pageContext.getAttribute("p",pageContext.PAGE_SCOPE);
if(p == null){
p = new cn.test.javabeandemo.bean.Person();
pageContext.setAttribute("p",p);
}
作用:从指定的域范围中用id的名字查找,没有找到,则创建class指定的类的
实例,放到scope指定的作用域范围中
<jsp:getProperty property="name" name="p"/>
property:需要获取的属性的名称,对应属性的get方法
name:使用的对象,对应的是域范围中存储的key值
<jsp:setProperty property="name" name="p"/>
property:需要设置的属性的名称,对应属性的set方法
name:使用的对象 对应的是域范围中存储的key值
value:需要设置的值。
param:获取到的请求参数的名字
相当于setXXXX(request.getParamter(""))
在setProperty中,可以使用property=" "
在设值时,对于基本类型,会自动转换填充,非基本类型,会发生异常