JavaBean实际上是一种特殊的Java类,它具有统一的接口格式。JavaBean必须满足以下三个条件:
1.JavaBean类必须含一个公有的参数构造函数。
2.JavaBean类所有的属性最好定义为私有的。
3.JavaBean类中定义函数setXxx() 和getXxx()来对属性进行操作。其中Xxx是首字母大写的私有变量名称。
JavaBean是描述Java的软件组件模型,类似于Miscrosoft的COM组件概念。在Java模型中,通过JavaBean可以无限扩充Java程序的功能,通过JavaBean的组合可以快速的生成新的应用程序。最重要的是JavaBean可以实现代码的重复利用,且易维护。
JavaBean在JSP程序中常用来封装事务逻辑、进行数据库操作,实现业务逻辑和前台(如jsp)的分离,使系统更健壮灵活。在JSP中调用JavaBean三个标准标签,<jsp:useBean>,<jsp:setProperty>,<jsp:getProperty>。
<jsp:useBean>标签
<jsp:useBean id="name" class="classname" scope="page|request|session|application"/>
id:代表jsp页面中的实例对象,通过这个对象引用类中的成员,如,id="bean1", bean1.成员();
class: 代表JavaBean类,如: class="com.Test",引用com包中的Test类
scope:指明了javabean的生存时间
<jsp:setProperty>标签
<jsp:setProperty name="beanName" last_syntax />
1.name:表示 已经存在并且具有一定生存范围的JavaBean实例,例如上面的 wq。
2.last_syntax:表示了四种不同的语法:
(1)property="*"
(2)property="propertyName"
(3)property="propertyName" param="parameterName"
(4)property="propertyName" value="value"
property:是一个很重要的属性,它指定想要设定值的 JavaBean 中的成员名,不建议使用*。
param:页面请求的参数名字
value:代表了直接赋值给属性property的具体值。
<jsp:getProperty>标签
<jsp:getProperty name="name" property="propertyName" />
name:代表想要获得属性值的Bean的实例名
property:代表想要获得值的哪个属性名
JavaBean文件Counter.java
package count;
public class Counter {
private int count;
public Counter(){
//公有无参构造函数
count=0;
}
public int getCount() {
count++; //每次请求计数器加1
return count;
}
public void setCount(int count) {
this.count = count;
}
}
counter.jsp文件
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>JSP</title>
</head>
<body>
<jsp:useBean id="bean1" scope="application" class="count.Counter" />
<%--out.println("The Counter is:"+bean1.getCount()+"<br>"); --%>
The Counter is:<jsp:getProperty name="bean1" property="count"/><br>
</body>
</html>