Java Web 回顾总结(七) - JavaBean - 简介及基本使用

本文介绍了JavaBean的设计规范及其在J2EE开发中的应用。详细解释了JavaBean的属性及方法命名规则,并展示了如何在JSP中使用<jsp:useBean>、<jsp:setProperty>和<jsp:getProperty>标签实例化和操作JavaBean。

JavaBean简介

  JavaBean是一个遵循特定写法的Java类,属于一种java中很常见的设计规范

一般具有如下特点:
这个Java类必须具有一个无参(或默认)的构造函数
属性一般都以私有化形式展现。
私有化的属性可以通过public类型的get方法暴露给其它程序
方法的命名遵守一定的命名规范。

javaBean范例:

package com.java.bean;

public class Roll {
    /* ---  数据定义   ----  */
    private Integer roll_r = new Integer(10);
    private Float roll_area = new Float(0.0);

    /* ---- 方法定义   ----*/ 
    /* ----- 无参构造函数  ------*/
    public Roll() {
        this.roll_r = 0 ;
        this.roll_area = (float) 0.0 ;
    }
    /*------- setter , getter ----- */
    public void setR(Integer integer) {
        this.roll_r = integer;
        this.roll_area = (float) (integer*integer*3.14);
    }
    public Integer getR() {
        return this.roll_r;
    }
    public Float getArea() {
        return this.roll_area ;
    }

}

  JavaBeanJ2EE开发中,通常用于封装数据

对于遵循以上写法的JavaBean组件,可以通过反射技术实例化JavaBean对象
并且通过反射那些遵守命名规范的方法,从而获知JavaBean的属性,进而调用其属性保存数据。

JavaBean的属性规范

  JavaBean的属性可以是任意类型,并且一个JavaBean可以有多个属性。
  每个属性通常都需要具有相应的settergetter方法
  setter方法称为属性修改器,getter方法称为属性访问器。

属性修改器必须以小写的set前缀开始,后跟属性名,且属性名的第一个字母要改为大写 例:
name属性的修改器名称为setNamepassword属性的修改器名称为setPassword
属性访问器通常以小写的get前缀开始,后跟属性名,且属性名的第一个字母也要改为大写 例:
name属性的访问器名称为getNamepassword属性的访问器名称为getPassword

注:

一个JavaBean的某个属性也可以只有set方法或get方法,这样的属性通常也称之为只写、只读属性。


JSP中使用JavaBean

  JSP技术提供了三个关于JavaBean组件的动作元素
  JavaBean本质上是一个是一个通用格式,所有Bean都以固定格式编写

JSP 标签:

<jsp:useBean>标签
用于在JSP页面中 查找 或 实例化一个JavaBean组件。
<jsp:setProperty>标签
用于在JSP页面中设置一个JavaBean组件的属性。
<jsp:getProperty>标签
用于在JSP页面中获取一个JavaBean组件的属性。

<jsp:useBean>标签

  <jsp:useBean>标签用于在指定的域范围内查找指定名称的JavaBean对象
  如果存在则直接返回该JavaBean对象的引用
  如果不存在则实例化一个新JavaBean对象并将它以指定的名称存储到指定的域范围中。

常用语法:

<jsp:useBean id="beanName" class="package.class" scope="page|request|session|application"/>

属性作用
id用于指定JavaBean实例对象的 引用名称 和 其存储在域范围中的名称。
class用于指定JavaBean的完整类名(即必须带有包名)。
scope用于指定JavaBean实例对象所存储的域范围,其取值只能是page、request、session和application 等四个值中的一个,其默认值是page

<jsp:useBean>标签使用范例:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

<%--
在 jsp 中使用 jsp:useBean 标签来实例化一个Java类的对象
<jsp:useBean id="person" class="gacl.javabean.study.Person" scope="page"/>
    ┝<jsp:useBean>:表示在JSP中要使用JavaBean。
    ┝id:表示生成的实例化对象,凡是在标签中看见了id,则肯定表示一个实例对象。
    ┝class:此对象对应的包.类名称
    ┝scope:此javaBean的保存范围,四种范围:page、request、session、application
--%>

<jsp:useBean id="roll" class="com.java.bean.Roll" scope="page"/>
<%
// roll对象已经在package中的"com.java.bean.Roll"实例化了,在这里直接调用,
// 若无实例化,不需要写
// scope 指定在该页面起作用

    roll.setR(10);
// 设置roll对象的 半径
%>

<!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=UTF-8">
<title>Insert title here</title>
</head>
<body>
<h2>半径为:<%= roll.getR() %></h2>
<h2>面积为:<%= roll.getArea() %></h2>

</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值