Javabean
JavaBean 是一种JAVA语言写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。JavaBean 通过提供符合一致性设计模式的公共方法将内部域暴露成员属性。众所周知,属性名称符合这种模式,其他Java 类可以通过自身机制发现和操作这些JavaBean 属性。
概述[ ]
Javabean就是为了和JSP页面传数据化简交互过程而产生的,Javabean 就是一个类,这个类就定义一系列 get<Name> 和 set<Name> 方法。
最初,JavaBean的目的是为了将可以重复使用的软件代码打包标准。特别是用与帮助厂家开发在综合开发环境(IDE)下使用的java软件部件。这些包括如Grid控件,用户可以将该部件拖放到开发环境中。从此,JavaBean就可以扩展为一个java web 应用的标准部件,并且JavaBean部件框架已经扩展为企业版的 Bean(EJB)。
用户可以使用JavaBean将功能、处理、值、数据库访问和其他任何可以用java代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP页面、Servlet、其他JavaBean、Applet程序或者应用来使用这些对象。用户可以认为JavaBean提供了一种随时随地的复制和粘贴的功能,而不用关心任何改变。
JavaBean可分为两种:一种是有用户界面(UI,User Interface)的JavaBean;还有一种是没有用户界面,主要负责处理事务(如数据运算,操纵数据库)的JavaBean。JSP通常访问的是后一种JavaBean。
开发环境[ ]
普通JavaBean组件是要分布在各自环境中,所以它们应该能够适应各种环境。虽然我们无法事先预知JavaBean要运行的确切环境,但以下两点是可以确定的:
- bean必须能够在一个应用程序构造器工具中运行。
- bean必须可以在产生的应用程序的运行环境中使用。
设计环境[ ]
第一点说明的是bean必须可以在设计环境(design environment)中运行。在设计环境中,bean应该提供设计信息给应用程序构造器工具并允许终端用户制定bean的外观和行为。
在传统的软件构造活动中,必须通过编译、链接之后才能看到应用程序的最终运行结果;而利用JavaBean设计的软件中,则没有这种明确的界限。使用JavaBean,就可以非常直观地设计应用程序软件,在设计过程中赋予软件生机。而且,这个过程更加容易重复开发,设计思想更加容易变成原型。
运行环境[ ]
第二点说明的是bean必须可以在运行环境(run-time environment)中使用。在这个环境中,对设计信息和定制的需求并不重要。一个组件的设计环境信息和设计环境中编写的代码通常可能是非常巨大的。
因此,我们可能需要在bean的设计环境方面和运行环境方面作一个明确的区分,这样,就可能需要在运行环境中不使用bean的任何设计环境代码来配置这个bean。所以,JavaBean就必须分别支持运行环境接口的类库和设计环境接口的类库。
使用方法[ ]
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(); %>
jsp 页面之间传递和获取数据的两种方法:
获取数据:
法一:使用属性标记符:
<jsp:getProperty name="test" property="message" />
法二:直接嵌入 java 代码:(更简单)
<%=testBean.getName()%>
存数据:
法一:使用属性标记符:
设置单个元素值: <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 语句)。