JavaBean是一个可重复使用的软件组件,是用Java语言编写的、遵循一定标准的类。
JavaBean是Java Web的重要组件,它封装了数据和操作的功能类,供JSP和Servlet调用,完成数据封装和数据处理等功能。
既然JavaBean是一个遵循标准的类,那么标准是什么?
JavaBean的设计规则:
- JavaBean是一个公共类。
- JavaBean类具有一个公共无参的构造方法。
- JavaBean所有的属性定义为私有。
- JavaBean中,需要对每个属性提供两个公共方法,Set方法和Get方法。
- 定义JavaBean时,通常放在一个命名的包下。
毕竟公式,定义什么的都比较难懂,那就举个例子吧。
package beans //这一句表示JavaBean放在beans的包下
Public class User{
private String name;
private
int
age;
private String sex;
public String getName() {
return
name;
}
public
void setName(String name) {
this.name = name;
}
public
int getAge() {
return
age;
}
public
void setAge(int age) {
this.age = age;
}
public String getSex() {
return
sex;
}
public
void setSex(String sex) {
this.sex = sex;
}
}
在设计网站后台时,我们可能会用到用户的姓名,年龄,性别,我们如果使用JavaBean的类将用户的信息封装,使用的时候可以调用set,get方法来设置和获取他们的值。
Set,get方法的语法:
setxxx():用来设置属性xxx的值。
getxxx():用来获取属性xxx的值。
那如果你使用Eclipse来编辑的话,那就厉害了,有一个快捷生成set,get方法的途径。
我们介绍完JavaBean的定义,接下来我们介绍在JSP中怎么使用JavaBean。
JavaBean的使用
在jsp中我们可以使用动作标签来访问JavaBean,也可以使用脚本代码访问,在这里我们介绍第一种。
主要有三种动作标签
- <jsp:useBean>:声明并创建对象。
- <jsp:setProperty>:设置指定属性的值。
- <jsp:getProperty>:获取指定属性的值。
使用的时候,还要注意他们的声明格式:
<jsp:useBean id="对象名" class="类名" scope="有效范围"/>
<jsp:setProperty name=" 对象名" property="属性名" value="指定值"/>
<jsp:getProperty name=" 对象名" property=" 属性名"/>
我们接着上面的例子再接着举几个例子。
<jsp:useBean id="user1" class="beans.User" scope="session"/>
这句话的意思是,定义一个User类的对象user1,范围是session。
类名必须使用完全限定类名。
Scope属性有page, requese, session, application四个可选值,分别代表页面,请求,会话,应用4种范围。
<jsp:setProperty name="user1" property="name" value="苍井空"/>
这句话的意思是,设定user1对象的name属性值为"苍井空"。
<jsp:setProperty>还有几种变型:
- <jsp:setProperty name=" beanname " property=" propertyname" />
- <jsp:setProperty name=" beanname" property=" propertyname" param=" paramname"/>
- <jsp:setProperty name=" beanname" property="*" />
这几种变型主要处理form表单提交时的属性赋值。
- 将propertyname的值提交给beanname中的属性名称相同的属性。
- 将请求参数名称为paramname的值提交给propertyname属性。
- 将所有的属性与请求参数关联,实现自动复制并自动转换数据类型。
<jsp:getProperty name="user1" property="name"/>
这句话的意思是,将user1对象的name属性值显示在页面上。
注意,是直接显示在页面上!!!
JavaBean的安装部署
(如果使用Eclipse,软件会自动部署,这部分可跳过)
设计好的JavaBean类经过编译后还必须部署到Web应用程序中才能被JSP或者Servlet应用。
将单个JavaBean类部署到"../WEB-INF/classes/"下。
JavaBean的打包类Jar部署到"../WEB-INF/lib"下。