JavaBeans是什么?
JavaBeans是一个可重用的组件,是特殊的类,这个类必须符合特定的规范。有一下特点:
1.它是一个pojo类。
2.要实现一个serilizable接口。
3.要提供一个无参构造器,便于实例化。
4.提供一些属性。
5.为属性提供相应的get、set方法。
6.可以加入一些事件的处理代码。
7.可以包含业务逻辑。
-------------------------------------------------------------------------------------------------------------------------------------
使用JavaBean的目的:
1.用来封装数据信息、业务、数据访问、事务控制逻辑的代码。
2.用来封装jsp的一些脚本,便于重用,可以减少jsp中脚本的使用。
3.作为一个可重用的组件来使用。
-------------------------------------------------------------------------------------------------------------------------------------
jsp中使用JavaBean
1.jsp中获得或创建JavaBean对象
语法:<jsp:useBean id="对象引用" class="包+类" scope="作用域"/>
例如:<jsp:useBean id="user" class="com.javabeans.User" scope="request"/>
执行流程:
a)User user=(User)request.getAttribute("user");
b)if(user==null){
user=new User();
request.setAttribute();
}
c)若user!=null,可以使用该对象,在页面上输出其属性值。
2.设置JavaBean对象中的属性值
方式一
语法:<jsp:setProperty name="对象引用" property="属性名"/>
例如:<jsp:setProperty name="user" property="name"/>
name:它的值与userBean中id的值对应。
property:它的值和方法setName()有关
执行流程:
a)String value=request.getParameter("name");
b)if(value!=null) user.setName(value);
c)若value==null,不能调用setName().
用途:将表单中提交的字段信息封装到JavaBean对象的属性中。
方式二
语法:<jsp:setProperty name="对象引用" property="属性名" param="参数名"/>
例 如:<jsp:setProperty name="user" property="name" param="username"/>
执行流程:
a)String value=request.getParameter("username");
b)if(value!=null) user.setName(value);
c)若value==null,不能调用setName().
方式三
语法:<jsp:setProperty name="对象引用" property="属性名" value="固定值"/>
例 如:<jsp:setProperty name="user" property="name" value="jack"/>
执行流程:
user.setName("jack");
方式四
语法:<jsp:setProperty name="对象引用" property="属性名" value="<%=expression%>"/>
例 如:<jsp:setProperty name="user" property="age" value="<%=30%>"/>
执行流程:
user.setName(30);
方式五
语法:<jsp:setProperty name="对象引用" property="*"/>
例 如:<jsp:setProperty name="user" property="*"/>
"*"匹配了id,name,password,age,gender, address
根据User中所有的set方法的property进行匹配
3.输出JavaBean对象中的属性值
语法:<jsp:getProperty name="对象引用" property="属性名"/>
例 如:<jsp:getProperty name="user" property="name"/>
执行流程:
a)Object o =user.getName();
b)String value=(String)o;
c)out.print(value).
4.使用标签<jsp:useBean>的四种方式
a)<jsp:useBean id="对象引用" class="包+类" scope="作用域"/>
特点:通过new来创建一个对象。
b)<jsp:useBean id="对象引用" type="JavaBean实现的接口或继承的父类" scope="作用域"/>
特点:如果从scope中找不到对象,不会去自动构造一个对象,这样会有可能产生空指针。
c)<jsp:useBean id="对象引用" class="包+类" type="JavaBean实现的接口或继承的父类" scope="作用域"/>
特点:通过new来创建一个对象。
d)<jsp:useBean id="对象引用" beanName="包+类" type="JavaBean实现的接口或继承的父类" scope="作用域"/>
特点:通过反射来创建一个对象,反射比new消耗更多内存。
-----------------------------------------------------------------------------------------------------------------------------------