欢迎来到Java学习网!
设为首页 | 加入收藏
当前位置: 首页 > Java架构 > JavaBean >

一、 javabean 是什么?

Javabean 就是一个类,这个类就定义一系列 get<Name> 和 set<Name> 方法。 So simple !

Javabean 就是为了和 jsp 页面传数据化简交互过程而产生的。

使用 javabean 和不用 javabean 的区别:

一个 javabean 就是为 jsp 页面上的元素一一开辟一个空间,然后根据需要赋值、读值。而如果不用 javabean ,就直接使用 HttpServlet 的 request 对象:

只在 jsp 页面间传递获取数据:

String name=req.getParameter(“name”);

显示数据: out.println(name);

存数据入 DB :在 jsp 中直接嵌入 java 代码,用 insert 语句存入。

感觉就像当年自己毕设做的 asp 代码一样。 .asp 页面中一系列的 req.getParameter 代码和嵌入一大堆的 sql 语句,代码很乱,很难维护。

而使用 javabean 之后,优势也就是 java 的优势:组件技术,代码重用,易于维护。(在 jsp 页面中数据的显示很清晰。)

1. JavaBean与EJB
(1)JavaBean与EJB规范在以下方面有共同的目标:通过标准的设计模式推广Java程序代码,提升开发过程和开发工具之间的重复运用性可携性.但是这两种规格的原始问题却是为了解决不同的问题.
定义于JavaBean组件模型中的标准规范,被设计来产生可重复运用的组件,而这些组件通常被用于IDE开发工具,而且通常是可视化组件,当然并不一定是可视化组件.
(2)EJB规范所定义的组件模弄,刚是用来开发服务端的Java程序,由于EJB可能执行在不同的服务器平台上,包括无图形的大型主机上,所以EJB无法使用类似AWT或SWING之类的图形化程序库.

2. JavaBean与类库的区别:
(1)并不是所有有用的模块都必须转化成Bean.Bean主要是能被用来可视化操作去完成一些效果.
(2)类库是一个提供函数操作给编程者的一个有效操作,但是并不能从可视化操作中来获益.
(3)举个例子来说:提供JDBC数据库访问的API作为一个类库比作为一个bean要好,因为JDBC的核心是用一个可编程的API,并不是能够直接展现于可视化操作.然而,写一个数库库访问Bean在JDBC的顶层还是有意义的.例如,你可以写一个能定制的"Select"bean以助于用户去组成一个查询语句,并且程序运行时用JDBC去运行这个查询语句,并显示结果集.

3. 在可视化编程中,可以看出,组件是一段程序代码,通过被存为class内,关键在程序开发工具如何发现组件的属性和事件.VB和Delphi都是通过某种机制来实现这点的,而Java则通过JavaBeans将可视化组件开发带进了一个更高的境界,因为一个Bean就是一个Class.针对以上的内容,JavaBean有如下的规则:

(1)针对一个名为xxx的属性,你通常要写两个函数,getXxx()和setXxx().
(2)你可以用get/set方式来处理boolean,可以用is来代替get.
(3)Bean的一般函数不需要遵守上述的命名规则,但是需要为public.
(4)对于事件,你可以使用Swing的监听器作法来处理.

1. javabean是一种软件组件,所谓组件也就是一个 java类而已。就像一个机械零件一样,可以重复的用它来组装形成产品。但是并不是每个java类都是javabean组件。软件组件是有一定的概念和体系结构的。自己的理解是,javabean组件是定义了需要get和set方法等规则的组件,通过定义这些规则,可以实现发现组件属性和事件的机制。

2. 软件组件的作用:只需编写一回,各处都可执行。

对于程序员来说,最好的一点就是 JavaBean 可以实现代码的重复利用,另外对于程序的易维护性等等也有很重大的意义。

3. javabean 的特点:

1. 执行 java.io.Serializable 接口
2. 提供无参数的构造器
3. 提供 get 和 set 方法访问它的属性 .

二、 javabean 的两种使用方式:(嵌入 java 代码方式和使用 jsp 标记符方式)【也就是当作普通的类来使用或者在 jsp 中 页面处理时有特殊的标记符处理方式】

以下是使用 javabean 的每个功能的两者不同方式比较:(用了 javabean 只是方便一点,并且可以实现组件重用而已。)

a ) jsp 中使用 javabean 的类的两种方法:(这两行代码的作用是一样的)

法一: jsp 中使用 <jsp:useBean> 标记符访问 javabean :

<jsp:useBean id="test" class="test.TestBean" />

法二: jsp 中嵌入 java 代码方式访问 javabean :

首行导入 javabean :

<%@ page import="com.javaBean.TestBean" %>

下边就可以像在 java 语言中那样用了:

<% TestBean testBean=new TestBean(); %>

b)jsp 页面之间传递和获取数据的两种方法:

l 获取数据:

法一:使用属性标记符:

<jsp:getProperty name="test" property="message" />

法二:直接嵌入 java 代码:(更简单)

<%=testBean.getName()%>

l 存数据:

法一:使用属性标记符:

设置单个元素值:

<jsp:setProperty name="test" property="name" value="jcm" />

设置 jsp 页面中所有元素的值:

<jsp:setProperty name="test" property="*" />

注:这个方法特别方便,只需要在接收数据并负责显示的 jsp 页面使用 <jsp:useBean> 之后加上这一行代码,所有数据就自动赋值了。然后在接下来的 jsp 代码中就可以使用 get 方法显示出数据了。

法二:直接嵌入 java 代码:

<%

String name=req.getParameter(“name”);

testBean.setName(name)

String pwd=req.getParameter(“password”);

testBean.setName(pwd)

%>

注:

通常 javabean 函数中除了 get 和 set 方法外,还有一个把数据存入 DB 中的方法(也就是和 DB 连接并实现 insert 语句)。

问题:

1. 一个 javabean 当作一个普通的类来使用,( import 类,通过 new 方法构造一个对象,然后通过对象调用方法),和通过 jsp 标记符 <jsp:useBean> 来使用有区别吗?它和普通的类有什么区别呢? javabean 也可以通过普通类的使用方式来访问呀。上面总结的内容就是这样的呀。

2. 是不是只有通过标记符 <jsp:useBean> 来使用才能真正体检 javabean 组件的优势:自动赋值?如果不使用标记符 <jsp:useBean> 可以实现自动赋值吗?

    相关教程
    推荐内容