`

JavaBean

阅读更多
1JavaBean简介
1.JavaBean是一种特殊的 Java 类,它遵从一定的设计模式,开发工具和其他组件可以根据这种模式来调用JavaBean。
2.JavaBean可以设计得像Swing组件一样复杂,提供方法、属性、事件、以及供开发工具将它实例化到一个GUI容器中并对其属性和行为进行定制的特性。
3.JavaBean也可以设计得很简单,仅仅提供一些方法和属性供外部环境和其他组件调用。
4.用作JavaBean的类必须具有一个公共的、无参数的构造方法,这个方法可以是通过编译器自动产生的那个缺省构造方法。
5.JavaBean的属性通过遵循某种规范的公共方法暴露给外部,外部的其他程序可以通过Java 的反射API 来查找JavaBean中遵循这一规范的方法,从而发现JavaBean中的属性。

2.JavaBean的属性简介
1.JavaBean的属性与普通Java类的属性的概念不一样,JavaBean的属性是以方法定义的形式出现的。
2.用于对属性赋值的方法称为属性修改器或setter方法,用于读取属性值的方法称为属性访问器或getter方法。
3.属性修改器必须以小写的set 前缀开始,后跟属性名,且属性名的第一个字母要改为大写,例如,nickName属性的修改器名称为setNickName,password属性的修改器名称为setPassword。
4.属性访问器通常以小写的get 前缀开始,后跟属性名,且属性名的第一个字母要改为大写,例如,nickName属性的访问器名称为getNickName,password属性的访问器名称为getPassword。
5.JavaBean的属性名是根据setter方法与getter方法的名称来生成的, setter方法或getter方法中除去前缀“set”和“get”后的部分即为属性名,但属性名的首字母必须小写。
6。属性分类:只读/读写/只写,简单/复杂

3在JSP中如何使用JavaBean

1.JSP自身没有实现HTML代码与Java代码的完全分离,网页设计人员和Java编程人员需要操作同一个JSP文件,不易维护和管理。
2把JSP页面中的业务逻辑代码封装到一个JavaBean中,JSP页面再调用JavaBean,则可提供一种分离显示内容和业务逻辑的简单方式,并且有利于软件的组件化、模块化。
3JSP规范专门定义了三个JSP标签:<jsp:useBean>、<jsp:setProperty>和<jsp:getPropperty>,它们分别用于创建和查找JavaBean的实例对象、设置JavaBean对象的属性、读取JavaBean对象的属性。
4对于JSP页面来说,只要一个类具有一个公共的、无参数的构造方法,就可以把这个类当作JavaBean来使用,如果类中有不接受任何参数的getter方法或只接受一个参数的setter方法,就可以把前缀“get”或“set”后面的部分当着一个属性名来引用。
5.JSP页面可以像调用一个普通Java类的方式去调用JavaBean,即先使用Java代码创建JavaBean的实例对象,然后直接调用JavaBean对象的getter方法和setter方法。


4(1)<jsp:useBean>标签

<jsp:useBean>标签用于在某个指定的域范围(application、session、request、pageContext等)中查找一个指定名称的JavaBean对象,如果存在则直接返回该JavaBean对象的引用,如果不存在则实例化一个新的JavaBean对象并将它按指定的名称存储在指定的域范围中。
常见语法:
<jsp:useBean id="beanInstanceName " class="package.class"
    scope="page|request|session|application"/>

class属性用于指定JavaBean的完整类名(即必须带有包名)。
id属性用于指定JavaBean实例对象的引用名称和其存储在域范围中的名称。
scope属性用于指定JavaBean实例对象所存储的域范围,其取值只能是page、request、session和application等四个值中的一个,其默认值是page。

(2)<jsp:useBean>标签内部原理
JSP中的语句:
<jsp:useBean id="currentDate" class="java.util.Date"/>
翻译成的Servlet源码:
java.util.Date currentDate = null;
synchronized (_jspx_page_context) {
currentDate = (java.util.Date) _jspx_page_context.getAttribute(
    "currentDate", PageContext.PAGE_SCOPE);
if (currentDate == null){
  currentDate = new java.util.Date();
  _jspx_page_context.setAttribute("currentDate",
    currentDate, PageContext.PAGE_SCOPE);
}
}

(3)<jsp:useBean>标签完整语法

   完整语法:
<jsp:useBean id="beanInstanceName"
scope="page | request | session | application"
{
  class="package.class" |
  type="package.class" |
  class="package.class" type="package.class" |
  beanName="{package.class | <%= expression %>}" type="package.class"
} />

type属性用于指定JavaBean实例对象的引用变量的类型,它必须是JavaBean对象的类名称、超类名称和所实现的接口名称中的一个,其默认值为class属性的设置值。
beanName属性用于指定JavaBean的名称,这个名称不是JavaBean实例对象的引用名称,而是JavaBeans规范中定义的一种名称,它将被作为传递给java.beans.Beans类的instantiate方法的参数,例如,a.b.c。a.b.c可以代表一个类的完整名称,也可以代表a/b/c.ser这样的资源文件,java.beans.Beans类的instantiate方法可以从这个资源文件中产生出JavaBean的实例对象。beanName属性值还可以通过一个表达式来产生。


5<jsp:setProperty>标签

<jsp:setProperty>标签用于设置JavaBean对象的属性,也就是调用JavaBean对象的setter方法。
语法格式:
<jsp:setProperty name="beanInstanceName"
{
property="propertyName" value="{string | <%= expression %>}" |
property="propertyName" [ param="parameterName" ] |
property= "*"
}/>

name属性用于指定JavaBean实例对象的名称,其值应与<jsp:useBean>标签的id属性值相同。
property属性用于指定JavaBean实例对象的属性名。
value属性用于指定JavaBean实例对象的某个属性的值,其设置值可以是一个字符串,也可以是一个表达式。如果value属性的设置值是一个表达式,那么该表达式的结果类型必须与所要设置的JavaBean属性的类型一致。 
param属性用于将JavaBean实例对象的某个属性值设置为一个请求参数值,它可以将作为字符串类型返回的请求参数值自动转换成要设置的JavaBean属性的类型。

6。<jsp:getProperty>标签
<jsp:getProperty>标签用于读取JavaBean对象的属性,也就是调用JavaBean对象的getter方法,然后将读取的属性值转换成字符串后插入进输出的响应正文中。
语法:
<jsp:getProperty name="beanInstanceName" property="PropertyName" />

name属性用于指定JavaBean实例对象的名称,其值应与<jsp:useBean>标签的id属性值相同。
property属性用于指定JavaBean实例对象的属性名。
如果一个JavaBean实例对象的某个属性的值为null,那么,使用<jsp:getProperty>标签输出该属性的结果将是一个内容为“null”的字符串。

7使用JavaBean的注意事项

JavaBean应放置在JSP页面的类装载器或其父级类装载器所能装载的目录中,通常放置于WEB应用程序下的 WEB-INF/classes目录中。
有些版本的Tomcat不会自动重新加载修改过的JavaBean,如果JSP页面加载JavaBean以后又修改和重新编译了JavaBean程序,那么需要修改JSP页面或者重新启动Tomcat。
JavaBean必须带有包名,不能用缺省包名。
在选择存储JavaBean的域范围时,如果使用request域能够满足需求的话,则不要使用Session域。


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zhchzh1000/archive/2009/07/23/4375350.aspx
分享到:
评论

相关推荐

    JAVABEAN

    JavaBean是一种特殊的Java类,它是Java编程语言中的一个核心概念,尤其在开发企业级应用程序时极为常见。JavaBean遵循特定的规范,使它们能够被其他Java应用或开发工具(如IDEs)识别、可视化和操作。JavaBean的主要...

    JavaBean_Javabean增删改查_audiencevu9_

    JavaBean是Java编程中的一种重要概念,主要用于封装数据和业务逻辑,它遵循一定的规范,使得Java对象能够被方便地在Web应用中使用,特别是在Servlet和JSP之间传递数据。在这个项目"JavaBean_Javabean增删改查_...

    JavaBean技术应用实现购物车

    "JavaBean技术应用实现购物车" JavaBean是一种特殊的Java类,它遵循JavaBean的命名约定和设计模式,主要用于封装和 Exposure 数据。JavaBean技术广泛应用于Web应用开发,特别是在购物车系统中,JavaBean技术可以...

    简单身份验证JAVABEAN的设计

    简单身份验证 JAVABEAN 的设计 JavaBean 是 Java 语言中的一种组件模型,用于封装业务逻辑、数据和表现层逻辑。 JavaBean 可以在支持 Java 的任何平台下工作,而不需要重新编译。传统意义上的 JavaBean 支持的组件...

    javabean(DB)

    JavaBean是一种在Java编程语言中编写可重用组件的标准。它是Java类库的一部分,主要用于封装数据和业务逻辑,便于在Web应用、企业级应用或任何Java应用中进行数据表示和交换。JavaBean遵循一定的规范,使得它们易于...

    可用的jsp的MD5加密的javaBean

    在标签中,“jsp”指明了应用场景,“MD5”和“javaBean”是主要技术点,而“例子”意味着这个JavaBean是一个具体的实现,可以直接在项目中引用或作为学习的示例。 至于压缩包内的文件“md5”,很可能就是包含这个...

    javabean和xml互相转换工具类以及jar包

    JavaBean和XML之间的转换在软件开发中扮演着重要的角色,特别是在数据交换和接口通信中。当我们需要在不同的系统之间传递信息时,XML由于其结构化和可读性,经常被用作数据传输的标准格式。然而,JavaBean是Java中...

    实验四 JavaBean及Servlet使用

    《JavaBean及Servlet使用》实验详解 实验四的目的是让学生深入理解JavaBean和Servlet的开发流程,这二者是Java Web开发中的重要组成部分。JavaBean是一种符合特定规范的Java类,通常用于封装业务逻辑和数据,而...

    jasperReport自定义javabean数据源实例

    在实际开发中,我们经常会遇到需要自定义数据源的情况,这时JasperReport提供了使用JavaBean作为数据源的功能。本实例将详细介绍如何通过自定义JavaBean数据源来生成报表。 首先,理解JavaBean是一种符合特定规范的...

    JSP&javaBean写的简单用户验证

    **JSP(JavaServer Pages)与JavaBean是Java Web开发中的重要组成部分,它们共同构建了动态网页应用的基础架构。在“JSP&javaBean写的简单用户验证”这个示例中,我们将探讨如何利用这两者实现用户登录验证的功能。*...

    jsp+javabean 学生管理系统 sql数据库

    【标题】"jsp+javabean 学生管理系统 sql数据库"是一个典型的Web应用程序开发实例,主要涉及了Java服务器页面(JSP)、JavaBean以及SQL数据库技术。这个管理系统旨在实现对学生信息的有效管理和查询。 **JSP(Java...

    WEB应用技术 JavaBean技术应用

    JavaBean技术是Java Web开发中的一个重要组成部分,它主要用于封装数据和业务逻辑,使得代码更加模块化,便于重用和管理。在"WEB应用技术 JavaBean技术应用"的实验中,我们学习了如何利用JavaBean来处理用户登录的...

    JavaBean示例

    JavaBean是Java编程语言中的一种特定类,遵循特定的规范,用于封装数据并提供属性访问。这个"JavaBean示例"旨在帮助初学者理解和使用JavaBean。JavaBean主要用于构建Java应用程序的可重用组件,特别是在JavaServer ...

    学生信息管理系统(javabean)

    《基于JavaBean的学生信息管理系统详解》 学生信息管理系统是一个典型的数据库操作应用,它主要用于高校或教育机构对学生的个人信息进行管理。在这个系统中,我们利用JavaBean技术实现了对学生数据的增、删、改、查...

    javabean实现用户登录界面.docx

    JavaBean 实现用户登录界面 JavaBean 是一种轻量级的 Java 类,遵循 JavaBeans 规范,用于封装数据和业务逻辑。 JavaBean 可以实现用户登录验证,以下是 JavaBean 实现用户登录界面的知识点: 1. JavaBean 的定义...

    JSP+JavaBean+Servlet网上书店

    本文将深入探讨一个基于JSP、JavaBean和Servlet技术构建的网上书店应用程序。这个系统充分利用了这些技术的优势,为用户提供了一种便捷的在线购书体验,包括浏览书籍、添加到购物车、修改和删除订单,以及用户管理等...

    JSP程序设计JavaBean购物车

    在本实验中,我们将深入学习如何使用JavaBean技术来实现一个简单的购物车功能。JavaBean是一种遵循特定规范的Java类,通常用于封装数据和业务逻辑,使得这些组件可以在多个Java应用中重用,例如在JSP(JavaServer ...

    利用Javabean+JSP 实现文件的上传、显示、下载

    在Java Web开发中,利用Javabean和JSP可以构建一个完整的文件管理系统,包括文件的上传、显示和下载等功能。以下将详细介绍如何通过这些技术实现这些功能。 首先,我们要理解Javabean和JSP的角色。Javabean是一种...

    SqlToJavaBean_javabean_根据表结构生成javabean_生成javabean_

    "SqlToJavaBean_javabean_根据表结构生成javabean_生成javabean_"这个标题暗示了一个工具或库,它能够自动化地根据数据库中的表结构生成对应的JavaBean类,从而减少开发者的手动编码工作。 描述中提到"根据数据表...

    简单的jsp+servlet+javaBean访问mysql数据库

    在IT领域,尤其是在Web开发中,`JSP (JavaServer Pages)`、`Servlet`和`JavaBean`是构建动态网站的常用技术栈。本案例主要展示了如何利用这三种技术来实现对MySQL数据库的访问。接下来,我们将深入探讨这些知识点。 ...

Global site tag (gtag.js) - Google Analytics