JavaBean技术之JavaBean工具、规范和属性

本文详细介绍了JavaBean的概念,强调其作为可重用组件的特性,可在不同平台和应用中使用。JavaBean分为可视化和不可视化两种,前者常用于GUI,后者在JSP中广泛使用。值JavaBean和工具JavaBean是不可视JavaBean的两类,前者封装数据,后者处理业务逻辑。文章还概述了JavaBean的规范,包括实现Serializable接口、公共类、无参构造函数和getter/setter方法。此外,讨论了简单属性和索引属性。最后,澄清了一些关于JavaBean的常见误解,如Bean的文件后缀、放置位置和引用方式等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、JavaBean概述
JavaBean组件就是利用Java语言编写的组件,它好比一个封装好的容器,使用者并不知道其内部是如何构造的,但它却具有适应用户要求的功能,每个JavaBean都实现了一个特定的功能,通过合理地组织不同功能的JavaBean,可以快速生成一个全新的应用程序。如果将一个应用程序比做一间空房间,那么这些JavaBean就好比房间中的家具。
JavaBean的技术特点:
1.一次性编写
一个成功的JavaBean组件重用时不需要重新编写,开发者只需要根据需求修改和升级代码即可。
2.任何地方执行
一个成功的JavaBean组件可以在任何平台上运行,由于JavaBean是基于Java语言编写的,所以它可以轻易移植到各种运行平台上。
3.任何地方重用
一个成功的JavaBean组件能够被在多种方案中使用,包括应用程序、其他组件、Web应用等。

二、JavaBean的种类
JavaBean按功能可分为可视化JavaBean和不可视化JavaBean两类。
(1)可视化JavaBean
可视化JavaBean就是具有GUI图形用户界面的JavaBean;不可视JavaBean就是没有GUI图形用户界面的JavaBean,最终对用户是不可见的,它更多地是被应用到JSP中。
(2)不可视JavaBean
不可视JavaBean又分为值JavaBean和工具JavaBean。值JavaBean严格遵循了JavaBean的命名规范,通常用来封装表单数据,作为信息的容器。 工具JavaBean则可以不遵循JavaBean规范,通常用于封装业务逻辑,数据操作等,例如连接数据库,对数据库进行增、删、改、查和解决中文乱码等操作。工具JavaBean可以实现业务逻辑与页面显示的分离,提高了代码的可读性与易维护性。
在 JSP 程序中所用的 JavaBean 一般以不可见的组件为主,可见的 JavaBean 一般用于编写 Applet 程序或者 Java 应用程序。
以下代码是我们在JSP中常用的值JavaBean用来封装用户登录时表单中的用户名和密码:

public class UserBean
{
    private String userName;
    private String userPassw;
    public String getUserName()
    {
        return userName;
    }
    public void setUserName(String userName)
    {
        this.userName=username;
    }
    public String getUserPassw()
    {
        return UserPass;
    }
    public void setUserPassw(String UserPass)
    {
        this.userPass=userPass
    }
}

三、JavaBean规范
与一般 Java 类不同的是,标准的 JavaBean —般需遵循以下规范:
(1)实现java.io.Serializable接口
(2)是一个公共(public)类,可供其他类实例化
(3)类中必须存在一个无参数的构造函数;(当我们没有编写时,系统会自动生成一个无参构造函数,但是当程序有属性的有参构造函数时,此时系统不会自动生成无参构造函数我们必须自己编写无参构造函数)
(4)提供对应的setXxx()和getXxx()方法来存取类中的属性,方法中的“Xxx”为属性名称,属性的第一个字母应大写。若属性为布尔类型,则可使用isXxx()方法代替getXxx()方法。(get和set方法都必须是public的;get和set方法并不一定非要成对出现,如果只有get方法,则对应的属性为只读属性)

四、JavaBean属性
通常JavaBean中的属性分为以下4种:
(1)简单属性(Simple)
(2)索引属性(Indexed)
(3)绑定属性(Bound)
(4)约束属性(Constrained)
其中绑定属性和约束属性通常在JavaBean的图形编程中使用,所以在这里不进行介绍。
1、简单属性
简单属性就是在JavaBean中对应了简单的setXxx()和getXxx()方法的变量,在创建JavaBean时,简单属性最为常用。若属性为布尔类型,则可使用isXXX()方法代替getXxx()方法。
2、索引属性
需要通过索引访问的属性通常称为索引属性。如存在一个大小为3的字符串数组,若要获取该字符串数组中指定位置中的元素,需要得知该元素的索引,则该字符串数组就被称为索引属性。在JavaBean中,索引属性的getXxx()与setXxx()方法如下:

public void setXxx(type[] value);
public type[] getXxx();
public void setXxx(int index,type value);
public type getXxx(int index);

其中type表示属性类型,第一个setXxx()方法为简单的setXxx()方法,用来为类型为数组的属性赋值,第二个setXxx()方法增加了一个表示索引的参数,用来为数组中索引为index的元素赋值为value指定的值;第一个getXxx()方法为简单getXxx()方法,用来返回一个数组,第二个getXxx()方法增加了一个表示索引的参数,用来返回数组中索引为index的元素值。

五、关于JavaBean的疑问解决
1、被引用的Bean文件的文件名后缀为.java 。 ×

Bean是用于Java的可重用软件组件到底惯用叫法,被引用的Bean是WEB-INF\classes目录下的class文件,其文件后缀名为.class。

2、Bean文件放在任何目录下都可以被引用。×

同第一个,Bean文件只有放在WEB-INF\classes目录下才可以被引用。

3、JavaBean最终是被保存到后缀名为jsp的文件中。×

JavaBean实质上就是一个Java类,则JavaBean最终是被保存到后缀名为java的文件中。

4、创建的JavaBean必须实现java.io.Serializable接口。×

因为不可视JavaBean又分为值JavaBean和工具JavaBean,其中值JavaBean严格遵循了JavaBean的命名规范,而工具JavaBean则可以不遵循JavaBean规范,则创建的JavaBean并不一定要实现java.io.Serializable接口。

5、在JSP页面中只有通过jsp:useBean动作标识才可以调用JavaBean。×

在JSP页面中既可以通过jsp:useBean动作标识才可以调用JavaBean,又可以通过import导入我们已经写好的JavaBean包来调用JavaBean。(jsp:useBean标识用来创建一个Bean实例,标识中的id属性用来指定一个变量,程序中将使用该变量名所创建的Bean实例进行引用,class属性指定了一个完整的类名)

<jsp:useBean id="user" class="com.wp.bean.UserBean">

<%@ page import="com.wp.bean.UserBean"%>

6、在JSP文件中引用Bean,其实就是用jsp:useBean语句。 ×

同第五个,在JSP文件中引用Bean,可以有两种方法,,并不一定就是使用jsp:useBean(仅为个人理解)

关于第6点疑问,感觉自己还没有找到合适的答案,希望大佬前来赐教。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值