栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JavaBean技术

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JavaBean技术

JavaBean技术 一、什么是JavaBean

JavaBean 是一种 JAVA 语言写成的可重用组件。JavaBean 是一种特殊的 Java 类,通 过封装属性和方法成为具有某种功能或者处理某个业务的对象,简称 Bean。

JavaBean 具有以下特点:

  • JavaBean 的类必须是具体的和公共的(public)。JavaBean 必须具有一个无参 数的 构造方法 。如果在 JavaBean 中自定义了有参构造方法,就必须再添加一个无参构造 方法,否则将无法设置属性。这个无参构造方法也必须是 public
  • 类中的属性是私有的(private),访问属性的方法都必须是 public。
  • 如果类的属性名是 xxx,那么为了更改或获取属性,在类中可以使用两个 public 的 getXxx 和 setXxx 方法,在这些 get 和 set 方法中,属性名的首字母应为大写。
  • 对于 boolean类型 的成员变量,即 布尔逻辑 类型的属性,允许使用 is 方法代替 上面的 get 方法。
  • JavaBean 处理表单方便,只要 JavaBean 属性和表单控件名称吻合,采用 标记就可以直接得到表单提交的参数。

JavaBean 从应用形式或功能上一般可以分为封装数据的 JavaBean 和封装业务的 JavaBean。

1、封装数据的JavaBean

封装数据的 JavaBean 负责数据的存取,需要设置多个属性(类的成员变量)及其值的 存取方法。

如果属性名字是 xxx,则 getXxx 方法用户获取属性值;setXxx 用于设置或更改属性值。类中属性名第一 个字符应当是小写的,其访问属性应当是 private 的,而方法的访问属性都必须是 public 的。

get方法和set方法在设置属性后都可以自动补全

举例:


id 属性指定 JavaBean 对象的名称,因为同一个 JSP 页面中可能会引入多个 JavaBean 对象,因此,必须给引入的 JavaBean 对象命名,以便在 JSP 页面中使用该对象。

class 属性指定引入的 JavaBean 对象的带路径类名,Scope 属性设置 JavaBean 对象 的生命期。

2、封装业务的JavaBean

封装业务的 JavaBean 是完成一定运算和操作功能的业务类,主要包含一些特定的方 法,进行业务处理。

在 Java 中提倡面向接口编程,这样的程序将来有很大的灵活性,特别是在多层体系 结构中。当一个类实现了一个接口时,必须实现接口中的所有的方法。

二、在JSP中使用JavaBean

使用 JavaBean的最大好处之一就是可以实现代码的复用,因此,在编写 JSP 文件时,对于一些常用的复杂功能,通常将它们的共同功能抽象出 来,组织为 JavaBean。

在 JSP 页面中,通常使用 这三个 JSP 动作元素使用 JavaBean。

1、

动作用于在 JSP 页面中实例化一个或多个 JavaBean 组件,这些被实例 化的 JavaBean 对象可以在 JSP 页面中被调用。

语法格式:


  • id:用来声明所创建的 JavaBean 实例的名称,在页面中可以通过 id 的值来引用 JavaBean;

  • class:指定需要实例化的 JavaBean 的完整路径和类名;

  • scope:指定 JavaBean 实例对象的生命周期。其值可以是 page、request、session 和 application 之一。

    (1)page 范围的 Bean 仅仅在创建它们的页中才能访问。一个 page 范围的 Bean 经 常用于单一实例计算和事务,而不需要进行跨页计算的情况。

    (2)request 范围的 JavaBean 在客户端的一次请求响应过程中均有效。在这个请求 过程中,并不一定只能处理一个页面,当一个页面提交以后,响应它的过程可以经过一个 或者一系列页面,也就是说,可以由响应它的页面再 forward 或者 include 其他页面进行 处理,最后所有页面都处理完返回客户端,整个过程都是在一个 request 里进行处理的。 因此,只要是在一个请求过程中的页面,都可以共享 request 范围的 JavaBean。

    (3)session 范围的 JavaBean 在客户端的同一个 session 过程中均有效,服务器会 为新访问的用户创建 HttpSession 对象,这也是在其中存储 session 范围的 JavaBean 的 地方。

    (4)application 范围内的 JavaBean 一旦建立,除非调用代码将其撤销,或者服务 器重新启动,否则此 JavaBean 的实例将一直驻留在服务器内存中。

2、

以使用 JSP 动作指令和来设置和获取 JavaBean 的属性值,特别是在接收表单参数时尤为方便.

语法有三种形式

(1)当表单对象中的参数名称与 Bean 的属性名称一致时,可采用如下简便的形式,将表单对象中的参数值赋给 JavaBean 的同名属性:

 

name="title"的意思是 JavaBean 对象的名称,它指明了将对哪个 JavaBean 对象的属 性设值,因为有时在一个 JSP 页面中可能有多个 JavaBean 存在。JavaBean 对象的名称是 由动作指令的 id 属性确定的。

property = "*"的意思是接收来自表单输入的所有与属性名相同的参数值,它会自动 匹配 Bean 中的属性,要保证 JavaBean 的属性名必须和 Request 对象的参数名一致。如果 Request 对象的参数值中有空值,那么对应的 JavaBean 属性将不会设定任何值。同样, 如果 JavaBean 中有某些属性没有与之对应的 Request 参数值,那么这些属性同样也不会 设定,这种方式简称“一一映射”。

(2))当表单对象中的参数名称与 Bean 的属性名称不一致时,则需要逐个设定属性值, 而且,还要通过 param 指明属性值来自表单的哪个参数:

 

由于表 单参数与 JavaBean 的属性名不一 致,这句话 表示将表单 参 数 “parameterIsbn"的值赋给名称为"title"的 JavaBean 的属性"isbn”。

(3)使用动作指令,用 value 指定的任意值给 JavaBean 的属性 赋值

 
 
 

使用 value 指定的属性值可以是字符串,也可以是表达式。如果是字符串,那么它就 会被转换成 Bean 属性的类型。如果它是一个表达式,那么它的类型就必须和它将要设定 的属性值的类型一致。如果参数值为空,那么对应的属性也不会被设定。

3、

与相对应,用于从 JavaBean 中获取指定的属 性值。

语法结构:

 

name 即为 在动作指令中定义的表示 JavaBean 对象名称的 id 属性,property 属性指 定了想要获取的 JavaBean 的属性名。

在使用 动作指令之前,要务必保证已经存在指定的 JavaBean 实例,而且要保证该实例对象中存在 property 指定的属性,否则,如果在该 Bean 中不存在 property 指定的属性,则会抛出 NullPointerException 异常。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/871942.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号