1、javaBean就是一个用来封装数据的实体。
2、javaBean是一个遵循特定写法的Java类,它通常具有如下的特点
1、这个类必须具有一个无参的构造函数
2、属性必须私有化
3、私有化的属性必须通过public类型的方法暴露给其他程序,并且方法的命名也必须遵守一定的命名规范。
3、javaBean在J2EE开发中其起的作用:
JavaBean在J2EE开发中,通常用于封装数据,对于遵循以上写法的JavaBean组件,其他程序可以通过反射
技术实例化JavaBean对象,并且通过反射那鞋遵守命名规范的方法,从而获知JavaBean的属性
,进而调用其属性保存的数据。
4、javaBean的属性:
1、javaBean的属性可以是任意类型,并且一个JavaBean可以有多个属性。每个属性通常都需要具有相应的setter、getter
方法,setter方法称为属性修改器,getter方法称为属性访问器。
2、属性修改器必须以小写的set前缀开始,后跟属性名,切属性名的第一个最要大写,
例如:name属性的修改器名称为setName,password属性的修改器为setPassword。
3、属性访问器通常以小写的get前缀开始,后跟属性名,且属性名的第一个字母要大写。
例如:name属性的访问器是getName,password属性的访问器是:getPassword。
4、一个javaBean的某个属性页可以只有set方法或者get方法,这样的属性通常称为只写、只读属性。
5、在JSP中使用JavaBean
1、JSP提供了三个关于JavaBean组建的动作元素,即JSP标签,它,恶魔分别为:
1.<jsp:useBean>标签:用于在JSP页面中查找或者实例化一个javaBean组件
2.<jsp:setProperty>标签:用于在JSP页面中设置一个JavaBean组件的属性。
3.<jsp:getProperty>标签:用于在JSP页面中获取一个JavaBean组件的属性。
6、<jsp:useBean>标签
<jsp:useBean>标签用于正在指定域范围内查找指定名称的JavaBean对象。
如果存在则直接返回该JavaBean对象的引用。
如果不存在则实例化一个新的javaBean对象并将它以指定的名称存储到指定的域范围中。
7、<jsp:useBean>标签常用语法
<jsp:useBean id="beanName" class="package.class" scope="page|request|session|application" />
id:属性用于指定javaBean实例对象的引用名称和其存储在域范围中的名称
class:属性用于指定javaBean的完整类名(即必须带有包名)
scope:属性用于指定javabean实例对象所存储的域范围,其取值只能是page、request
session和application等四个值中的一个,其默认值是page。
在jsp中操作bean,首先要建立bean,在javaweb工程中建立:src文件夹中建立,bean是用来封装数据的实体,
我们习惯性的把它放在domain的包里面。
8、带表前体的<jsp:useBean>标签
语法:
<jsp:useBean ...>
Body
</jsp:useBean>
功能:Body部分的内容只在<jsp:useBean>标签创建javaBean的实例对象时才执行。
9、<jsp:setProperty>标签(一般用在手工为bean属性赋值)
语法格式:
<jsp:setProperty name="BeanName"{
property="porpertyName" value="{string|<%=expression%>}" |
property="propertyName" [param="parameterName"] |
property="*"
} />
name:属性用于指定JavaBean对象的名称
property:属性用于指定JavaBean对象的属性名
value:用于指定javaBean对象的某个属性的值,value的值可以是字符串,也可以是表达式。为
字符串时,该值会自动转换为javaBean属性相应的类型,如果value的值时一个表达式,
那么该表达式的计算结果必须与索要设置的javaBean属性的类型一致。
param:属性用于将javaBean实例对象的某个属性值设置为一个请求参数值,该属性值同样会自动
转换成要设置的javaBean属性的类型。
一般用在手工为bean属性赋值:例如:
<jsp:setProperty name="person" property="name" value="xxxx"/>
将name的值赋值为xxxx
10、<jsp:getProperty>标签用于读取javaBean对象的属性,也就是调用javaBean的getter方法,然后将
1.读取的属性值转换成字符串后插入进输出的响应正文中。
2.语法:
<jsp:getProperty name="beanInstanceName" property="PropertyName" />
name:属性用于指定javaBean实例对象的名称,其值应与<jsp:useBean>标签的id属性相同
property:属性用于指定javaBean实例对象的属性名。
2.jsp
2、javaBean是一个遵循特定写法的Java类,它通常具有如下的特点
1、这个类必须具有一个无参的构造函数
2、属性必须私有化
3、私有化的属性必须通过public类型的方法暴露给其他程序,并且方法的命名也必须遵守一定的命名规范。
3、javaBean在J2EE开发中其起的作用:
JavaBean在J2EE开发中,通常用于封装数据,对于遵循以上写法的JavaBean组件,其他程序可以通过反射
技术实例化JavaBean对象,并且通过反射那鞋遵守命名规范的方法,从而获知JavaBean的属性
,进而调用其属性保存的数据。
4、javaBean的属性:
1、javaBean的属性可以是任意类型,并且一个JavaBean可以有多个属性。每个属性通常都需要具有相应的setter、getter
方法,setter方法称为属性修改器,getter方法称为属性访问器。
2、属性修改器必须以小写的set前缀开始,后跟属性名,切属性名的第一个最要大写,
例如:name属性的修改器名称为setName,password属性的修改器为setPassword。
3、属性访问器通常以小写的get前缀开始,后跟属性名,且属性名的第一个字母要大写。
例如:name属性的访问器是getName,password属性的访问器是:getPassword。
4、一个javaBean的某个属性页可以只有set方法或者get方法,这样的属性通常称为只写、只读属性。
5、在JSP中使用JavaBean
1、JSP提供了三个关于JavaBean组建的动作元素,即JSP标签,它,恶魔分别为:
1.<jsp:useBean>标签:用于在JSP页面中查找或者实例化一个javaBean组件
2.<jsp:setProperty>标签:用于在JSP页面中设置一个JavaBean组件的属性。
3.<jsp:getProperty>标签:用于在JSP页面中获取一个JavaBean组件的属性。
6、<jsp:useBean>标签
<jsp:useBean>标签用于正在指定域范围内查找指定名称的JavaBean对象。
如果存在则直接返回该JavaBean对象的引用。
如果不存在则实例化一个新的javaBean对象并将它以指定的名称存储到指定的域范围中。
7、<jsp:useBean>标签常用语法
<jsp:useBean id="beanName" class="package.class" scope="page|request|session|application" />
id:属性用于指定javaBean实例对象的引用名称和其存储在域范围中的名称
class:属性用于指定javaBean的完整类名(即必须带有包名)
scope:属性用于指定javabean实例对象所存储的域范围,其取值只能是page、request
session和application等四个值中的一个,其默认值是page。
在jsp中操作bean,首先要建立bean,在javaweb工程中建立:src文件夹中建立,bean是用来封装数据的实体,
我们习惯性的把它放在domain的包里面。
8、带表前体的<jsp:useBean>标签
语法:
<jsp:useBean ...>
Body
</jsp:useBean>
功能:Body部分的内容只在<jsp:useBean>标签创建javaBean的实例对象时才执行。
9、<jsp:setProperty>标签(一般用在手工为bean属性赋值)
语法格式:
<jsp:setProperty name="BeanName"{
property="porpertyName" value="{string|<%=expression%>}" |
property="propertyName" [param="parameterName"] |
property="*"
} />
name:属性用于指定JavaBean对象的名称
property:属性用于指定JavaBean对象的属性名
value:用于指定javaBean对象的某个属性的值,value的值可以是字符串,也可以是表达式。为
字符串时,该值会自动转换为javaBean属性相应的类型,如果value的值时一个表达式,
那么该表达式的计算结果必须与索要设置的javaBean属性的类型一致。
param:属性用于将javaBean实例对象的某个属性值设置为一个请求参数值,该属性值同样会自动
转换成要设置的javaBean属性的类型。
一般用在手工为bean属性赋值:例如:
<jsp:setProperty name="person" property="name" value="xxxx"/>
将name的值赋值为xxxx
10、<jsp:getProperty>标签用于读取javaBean对象的属性,也就是调用javaBean的getter方法,然后将
1.读取的属性值转换成字符串后插入进输出的响应正文中。
2.语法:
<jsp:getProperty name="beanInstanceName" property="PropertyName" />
name:属性用于指定javaBean实例对象的名称,其值应与<jsp:useBean>标签的id属性相同
property:属性用于指定javaBean实例对象的属性名。
如果一个javaBean实例对象的某个属性的值为null,那么,使用<jsp:getProperty>标签输出该属性的结果将是一个内容为“null”的字符串。
Person.java
package cn.itcast.domain;
/*
* 步骤:
* 1.在src中建立bean,具体建立的是Person类
* 2.写一个1.jsp页面,用来操作建立的bean。
*
*/
/*
* 这个bean不仅仅只有name和age这两个属性,它还从Object类中继承了一个getClass方法,共有三个属性
*/
import java.util.Date;
public class Person {
private String name="aaa"; //getClass();
private int age=100;
private Date birthday;
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
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;
}
}
2.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>jsp:setProperty标签</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<!-- 实例化出一个person对象,提供给下面使用 -->
<jsp:useBean id="person" class="cn.itcast.domain.Person">
</jsp:useBean>
<!-- 手工为bean属性赋值 -->
<jsp:setProperty name="person" property="name" value="xxxx"/>
<%=person.getName() %><br />
<%=person.getAge() %><br />
<hr />
<!-- 用请求参数给bean的属性赋值 -->
<!-- http://localhost:8080/day09/2.jsp?name=dsfs -->
<jsp:setProperty name="person" property="name" param="name"/>
<!-- http://localhost:8080/day09/2.jsp?name=dsfs&age18
上面的age是字符型的,传递的过程中自动转换成了int类型。
-->
<jsp:setProperty name="person" property="age" param="age"/> <!-- 支持8中基本数据类型的转换(在这里将客户机提交的字符串age转换成了int类型的,并返回给Person类中age) -->
<%=person.getName() %>
<%=person.getAge() %>
<!-- http://localhost:8080/day09/2.jsp?name=dsfs&age=18&birthday=1989-03-25 -->
<%--
<jsp:setProperty name="person" property="birthday" value="<%=new Date() %>"/><!-- 要给birthd赋值,在此处不能使用param,要使用value才能给birthday赋值 -->
<%=person.getBirthday() %>
<hr />
--%>
<!-- 用所有的请求参数为bean赋值 -->
<!-- http://localhost:8080/day09/2.jsp?name=dsfs&age=18 -->
<jsp:setProperty name="person" property="*"/>
<%=person.getName() %>
<%=person.getAge() %>
<hr />
<jsp:getProperty name="person" property="name"/>
<jsp:getProperty name="person" property="age"/>
<jsp:getProperty name="person" property="birthday"/>
</body>
</html>