`
i_am_birdman
  • 浏览: 279926 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

JSP使用JavaBean之JavaBean的概念

阅读更多

 JavaBean的基本概念[/size]
      JSP最强有力的一个方面就是能够使用JavaBean组件体系。JavaBean往往封装了程序的页面逻辑,它是可重用的组件。通过使用JavaBean,可以减少在JSP中脚本代码的使用,这样使得JSP易于维护,易于被非编程人员接受。

      JavaBean体系结构是第一个全面地基于组件的标准模型之一。JavaBean是描述Java的软件组件模型,有点类似于Microsoft的COM组件概念。JavaBean组件是Java类,这些类遵循一个接口格式,以便于使方法命名、底层行为及继承或实现的行为能够把类看做标准的JavaBeans组件进行构造。

     JavaBean具有以下特性:

  • 可以实现代码的重复利用。
  • 易维护,易使用,易编写
  • 可以在支持Java的任何平台上工作,而不需要重新编译
  • 可以在内部网内或者网络之间进行传输
  • 可以以其他部件的模式进行工作。










JavaBean传统的应用在于可视化领域。如AWT(窗口抽象工具集)下的应用。现在,JavaBean更多的应用在于不可视化领域,它在服务器端应用方面表现了越来越强的生命力。不可视化的JavaBean和可视化JavaBean同样使用属性和事件。不可视化的JavaBean在JSP程序中常用来封装事务逻辑、数据库操作等,可以很好地实现业务逻辑和前台程序的分离,使得系统具有更好的健壮性和灵活性。

  注意:JavaBean组件和企业级JavaBean(Enterprise JavaBean,EJB)组件的概念是完全不同的。EJB是J2EE的核心技术,它为开发服务器端应用程序组件提供了一个模型,利用这个模型来创建可移植与分布式企业应用程序服务器或组件。Enterprise JavaBean是一个用来创建分布式、服务器端及基于Java的企业应用程序组件的功能强大的组件模型。


JavaBean的属性

   属性是Bean组件内部状态的抽象表示。JavaBean的属性可以分为以下4类:

  • Simple(简单的)
  • Indexed(索引的)
  • Bound(绑定的)
  • Constrained(约束的)










   1.Simple(简单的)

          一个简单属性表示一个伴随有get/set方法的变量,它依赖于标准命名约定来定义getter方法和setter方法

   它的使用语法如下:

   public void set(value);

   public get();

   public boolean is();

对于Boolean类型的属性,除了可以使用getter方法外,还可以使用isXXX方法来获得这个属性

例如,对于“userName”属性,假如这个属性的类型是String,我们可以采用下面的方法:

  public void setUserName(String value);

  public String getuserName();

可以设置的属性是读写、只读或者只写。getter方法和setter方法可以使之具有读写属性;

getter方法将允许你指具有读属性;setter方法将允许你只具有写属性。


例如:

Java代码 复制代码
  1. public class SimpleBean{    
  2.   private String type;    
  3.   private Boolean debug=false;    
  4.   
  5.   public String getType(){    
  6.      return this.type;    
  7.       }    
  8.   public void setType(String type){    
  9.       this.type=type;    
  10.      }    
  11.   public boolean isDebug(){    
  12.       return this.debug;    
  13.      }    
  14.    public void setDebug(boolean debug){    
  15.        this.debug=debug;    
  16.        }    
  17.  }   
  public class SimpleBean{ 
    private String type; 
    private Boolean debug=false; 
  
    public String getType(){ 
       return this.type; 
        } 
    public void setType(String type){ 
        this.type=type; 
       } 
    public boolean isDebug(){ 
        return this.debug; 
       } 
     public void setDebug(boolean debug){ 
         this.debug=debug; 
         } 
   } 



在上面的代码中,由于debug的类型是Boolean,那么可以使用isDebug方法来获得这个属性。在这里isDebug和getDebug是一样的。它们之间可以进行内部转换。


2.Indexed(索引的)

  一个indexed索引属性表示一个数组值,同上所述的Simple简单属性一样,可以使用get/set方法取得数组中的值。

   它的使用语法如下:

Java代码 复制代码
  1. public void set(int index,value);    
  2.  public void set(value);    
  3.  public get();    
  4.  public get();    
  5.  publicget(int index);   
 public void set(int index,value); 
  public void set(value); 
  public get(); 
  public get(); 
  publicget(int index); 



例如:

Java代码 复制代码
  1.      
  2. public class IndexBean{    
  3.    private String[] type=new String[]{"jsp","ejb","servlet","javamail","jca";,"jdbc"};    
  4.   
  5. public String getType(){    
  6.    return this.type;    
  7.    }    
  8.   
  9. public void setType(String[] type){    
  10.   this.type=type;    
  11.    }    
  12.      
  13. public void setType(int index,String value){    
  14.   type[index]=value;    
  15. }    
  16.   public String getType(int index){    
  17.   return type[index]    
  18.   }    
  19.    }   
  
public class IndexBean{ 
   private String[] type=new String[]{"jsp","ejb","servlet","javamail","jca";,"jdbc"}; 

public String getType(){ 
   return this.type; 
   } 

public void setType(String[] type){ 
  this.type=type; 
   } 
  
public void setType(int index,String value){ 
  type[index]=value; 
} 
  public String getType(int index){ 
  return type[index] 
  } 
   } 



有了以上的Bean,我们就可以这样使用它了:

Java代码 复制代码
  1.     
  2. setType(4,"JavaBean");    
  3. String type=getType(5);    
  4. String[]s=getType();   
 
setType(4,"JavaBean"); 
String type=getType(5); 
String[]s=getType(); 




3. Bound(绑定的)
  绑定属性提供一种机制,即通知监听器一个JavaBean组件的属性发生了改变。监听器实现了PropertyChangeListener接口并接收由JavaBean组件产生的PropertyChangeEvent对象。PropertyChangeEvent对象包括一个属性名字、旧的属性值,以及每一个监听器可能要访问的新属性值。
   JavaBean实现了addPropertyChangeListener()和removePropertyChangeListener()方法,以便加入和删除属性变化监听器。PropertyChangeSupport.firePropertyChange()方法可以被使用,并传递属性姓名、旧值及新值等信息。
  这些属性在JavaBean图形编程中大量使用,而我们的目的是怎么在JSP中使用JavaBean。
4. Constrained(约束的)
  约束属性和绑定属性类似,但是属性值的变化首先要被所有的监听器验证之后,值的变化才能由JavaBean组件发生作用。一个JavaBean的约束属性是指当这个属性的值要发生变化时,与这个属性已经建立了某种连接的其他Java对象可否决属性值的改变。任何一个监听器都可以否决属性变化,JavaBean组件同意不使属性变化才能生效。
   监听器实现了VetoableChangeListener接口,并接收由JavaBean组件产生的PropertyChangeEvent对象。JavaBean组件可以使用VetoableChangeSupport辅助程序类激活由监听器接收的实际事件。
  使用一个JavaBean组件实例的引用构造VetoableChangeSupport对象,JavaBean实现了用addVetoableChangeLister()方法和removeVetoableChangeLister()方法加入或者删除可否决属性变化监听器。VetoableChangeSupport.fireVetoableChange()方法可以用来传递属性的名字、旧属性值和新的属性值等信息。
和绑定的属性一样,这里只介绍它的概念,在JSP开发中很少使用这种属性

分享到:
评论

相关推荐

    jsp+javabean 分页程序

    jsp+javabean 分页程序jsp+javabean 分页程序jsp+javabean 分页程序jsp+javabean 分页程序jsp+javabean 分页程序jsp+javabean 分页程序jsp+javabean 分页程序 简单实用供初学者参考

    JSP+JavaBean+Servlet网上书店

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

    通过jsp+javabean实现猜数字游戏

    通过这个项目,开发者可以学习到如何在JSP中使用Java表达式语言(EL)来访问JavaBean的属性,如何在Servlet或JSP中调用JavaBean的方法,以及如何在MyEclipse这样的IDE中进行项目管理和调试。此外,还可以了解到组件化...

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

    4. **连接数据库**:在JSP或JavaBean中配置数据库连接,使用JDBC(Java Database Connectivity)接口与数据库交互。 5. **实现功能**:实现注册、登录、查询、添加、修改和删除学生信息等功能。 6. **测试**:最后,...

    JSP+javaBean 博客网

    通过在JSP中使用`<jsp:useBean>`标签,可以实例化和引用JavaBean。例如: ```jsp <jsp:useBean id="blogBean" class="com.example.BlogBean" /> ``` 然后,通过`<jsp:setProperty>`标签设置JavaBean的属性,或者...

    自己写的一个购物车(jsp+javabean)

    在这个项目中,开发者使用了JSP(JavaServer Pages)和JavaBean两种核心组件来构建功能。 JSP是Java的一种动态网页技术,它允许开发人员在HTML页面中嵌入Java代码,使得网页具有服务器端的处理能力。在本项目中,`...

    (Servlet+JSP+JavaBean实现)用户注册和登陆

    Servlet+JSP+JavaBean(MVC)模式适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp负责数据显示,javabean负责封装数据。 Servlet+JSP、JavaBean模式程序各个模块之间层次清晰,web开发推荐采用此...

    jsp+javabean 用户登录模块

    这个模块使用了MyEclipse作为集成开发环境,JSP(JavaServer Pages)作为动态网页技术,javabean作为业务逻辑处理组件,以及MySQL数据库来存储用户信息。 【描述】中提到的实现过程包括以下几个关键步骤: 1. **...

    jsp+javabean 密码输入数据库

    【描述】"jsp+javabean+access 编写的适合初学者的简单入库操作"意味着这个项目使用了Microsoft Access作为后端数据库,它是一个轻量级的关系型数据库管理系统,适合小型项目或学习用途。这里的“入库操作”是指将...

    Jsp+JavaBean教程

    Jsp+JavaBean教程讲述了jsp+javaBean的开发

    JSP+JavaBean+Servlet技术实现某网站用户注册和登录功能( 源码打包)

    在IT行业中,Web开发是一项核心技能,而JSP(JavaServer Pages)、JavaBean和Servlet是构建动态网站的重要技术。这个项目“JSP+JavaBean+Servlet技术实现某网站用户注册和登录功能”提供了完整的源码,帮助我们深入...

    jsp调用javabean的问题

    在JSP页面中,我们通常使用`<jsp:useBean>`标签来实例化或查找JavaBean。例如: ```jsp <jsp:useBean id="myBean" class="com.example.MyBean" scope="session"/> ``` 这里的`id`属性定义了JavaBean在页面作用域内...

    使用JSP、JavaBean和Servlet实现一个简单的留言板设计.zip

    在本项目中,我们主要探讨如何使用JSP(JavaServer Pages)、JavaBean和Servlet技术来构建一个简单的在线留言板系统。这个系统将允许用户提交留言,并将这些数据持久化存储,以便其他用户可以查看和交互。以下是对每...

    图书管理系统(jsp+javaBean)

    通过这个项目,学习者能够了解到Web应用的基本架构,如何使用JavaBean封装数据,以及如何在JSP页面中与JavaBean交互,进而加深对Model1架构的理解。同时,它也提供了实践数据库操作和用户认证的机会,对于提升实际...

    运用JSP与JavaBean实现的BBS

    JavaBean可以通过JSP的`<jsp:useBean>`标签在JSP页面中实例化和使用。 3. MVC架构:在BBS项目中,JSP作为View,负责展示用户界面;JavaBean作为Model,处理业务逻辑和数据管理;控制器可能通过Servlet实现,协调...

    留言簿(jsp+javabean)

    【标题】:“留言簿(jsp+javabean)”是一个基于Web的应用程序,它采用经典的Java...通过理解这个项目的结构和实现方式,开发者可以深入学习到Java Web开发的基本原理,以及如何使用JSP、JavaBean和数据库进行有效协作。

    一个jsp+javabean 设计的新闻发布系统

    在这个系统中,"jsp+javabean"是核心技术架构,它结合了Java的强类型特性和动态网页的能力,提供了高效、灵活的后端开发方案。 **1. JSP(JavaServer Pages)** JSP是Java平台上的服务器端脚本语言,主要用于生成...

    jsp + javabean个人博客

    【标题】"jsp + javabean个人博客"是基于Java技术栈实现的一个简易个人博客系统。这个项目利用了JavaServer Pages(JSP)技术和JavaBean组件来构建动态网页和处理业务逻辑,为用户提供了一个发布、浏览和管理博客...

    机票预订{(JSP+JavaBean)和(JSP+JavaBean+servlet)}

    这里我们关注的是使用JSP(JavaServer Pages)结合JavaBean和Servlet实现的两种开发模式。以下是这两种模式的详细解释: 1. JSP+JavaBean模式: 这种模式中,JSP主要负责展示用户界面,JavaBean则作为业务逻辑层。...

Global site tag (gtag.js) - Google Analytics