您的位置:首页 > 编程语言 > Java开发

J2EE学习笔记之JavaBean

2014-06-15 22:42 274 查看
J2EE学习笔记之JavaBean

JavaBean概述:

JavaBean是一个简单的Java类,具有Java类的一切特征。如封装、继承、多态等。JavaBean可分为两类,一类是有用户接口的JavaBean,另一类则是没有用户接口的JavaBean;一般在JSP中使用的是没有用户接口(UI)的JavaBean。

使用JavaBean主要是用来封装业务逻辑(如数据运算、数据库操作),从而实现业务逻辑与前后台程序的分离。

标准的JavaBean有以下三个特点:

(1)JavaBean必须是一个public的类,即JavaBean类的访问权限必为public。

(2)JavaBean必须具有一个无参数的构造方法。

(3)一般将JavaBean的属性设置为private的,通过使用getXXX()和setXXX()方法来对相应的属性进行读取和设置。

原因嘛,表示不清楚。

学习目标:

学会定义JavaBean

学会在JSP中调用JavaBean

学会设置并获得JavaBean属性

学会设置JavaBean的范围

学会移除JavaBean

(一)定义JavaBean

示例说明:

package javaweb.javaBean;

public class UserBean{ //public类

//设置private属性

private String name;

private String password;

//属性相应的get和set方法

public String getName(){

return name;

}

public void setName(String username){

this.name=username;

}

public String getPassword(){

return password;

}

public void setPassword(String passwd){

this.password=passwd;

}

//默认的构造方法即为无参数的构造方法。

}

(二)在JSP中调用JavaBean

将通常使用的业务逻辑代码封装到JavaBean中,实现了业务逻辑与显示代码的分离,同时也使得封装了业务逻辑的JavaBean可多次被调用,提高了代码的复用度,便于开发维护。

使用<jsp:useBean>动作指令即可实现在JSP中调用JavaBean,语法格式为:

<jsp:useBean id="JavaBean实例化后的对象的名称" scope="存储范围" class="JavaBean的类名"></jsp:useBean>

scope属性是指JavaBean实例化后的对象的存储范围,取值为page、request、session、application。

class属性指定JavaBean的类名,包括类名和包名。

示例说明用法:useBean.jsp

<%@ page language="java" contentType="text/html;charset=gb2312"%>

<html>

<head>

<title>JSP中调用JavaBean</title>

</head>

<body>

<%--通过useBean动作指令来调用JavaBean--%>

<jsp:useBean id="user" scope="page" class="javaweb.javaBean.UserBean"></jsp:useBean>

<%

user.setName("lee");

user.setPassword("hello");

out.println("用户名:"+user.getName()+"<br/>");

out.println("用户密码:"+user.getPassword());

%>

</body>

</html>

(三)设置JavaBean属性(与表单结合使用)

JSP提供了4中格式的动作指令来设置JavaBean属性,如下:

<jsp:setProperty name="JavaBean实例化后的对象名" property="*"/>

<jsp:setProperty name="JavaBean实例化后的对象名" property="属性名称"/>

<jsp:setProperty name="JavaBean实例化后的对象名" property="属性名称" param="参数名称"/>

<jsp:setProperty name="JavaBean实例化后的对象名" property="属性名称" value="属性值">

其实可用在JSP中用代码实现以上的功能,而不必非要用动作指令。

下面对其进行详细的介绍。

1.

<jsp:setProperty name="实例化对象名" property="*"/>

"*"是指根据表单发送过来的数据来对JavaBean的所有属性进行设置,当然这就要求表单发送过来的数据的参数的个数以及参数名都要与JavaBean的属性相一致。

2.

<jsp:setProperty name="实例化对象名" property="属性名">

使用此指令可以设置JavaBean中指定的属性,而不必设置全部的属性。

3.

<jsp:setProperty name="实例化对象名" property="属性名" param="参数名"/>

前两种<jsp:setProperty>动作指令均要求表单传过来的参数名与JavaBean中的属性名相一致,包括大小写,这样有点麻烦。而此动作指令没有这么一个要求,

只需使用property属性指定要设置的JavaBean属性,而用param属性指定使用传送过来的那个参数对property指定的属性进行设置。

4.

<jsp:setProperty name="实例化对象名" property="属性名" value="属性值">

可使用该动作指令动态设置JavaBean的属性,而不是根据从表单发送过来的数据进行设置。

(四)获得JavaBean属性

可以通过实例化对象调用相应的get和set方法获得属性,而这里介绍的是使用<jsp:getProperty>动作指令来获得JavaBean属性,语法格式为:

<jsp:getProperty name="实例化对象名" property="属性名"/>

name属性要和<jsp:useBean>中的id属性一致

(五)设置JavaBean的范围

JavaBean的存储范围与前面讲过得JSP属性存储范围相同,意义也一样。

(六)移除JavaBean

JavaBean会根据其设置的范围来决定自己的生命周期,当生命周期结束时,JavaBean将会被自动移除。

当然我们也可以手动的将其移除,移除不同范围的JavaBean就是移除不同范围的属性一样,调用pageContext、request、session、application的removeAttribute(String name)方法即可,从而将page、request、session、application范围内的JavaBean移除掉。

name应与<jsp:useBean>中的id属性一致。

完结
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: