- 浏览: 275340 次
- 性别:
- 来自: 厦门
文章分类
最新评论
-
chenxliang:
2016年10月26、27日,上海浦东,Postgres中国用 ...
用JDBC连接Postgres(Postgres学习笔记1) -
cuiran:
不错,讲的很详细。
web.xml 中的listener、 filter、servlet 加载顺序及其详解 -
i_am_birdman:
PostgreSQL的管理启动服务pg_ctl -D /pat ...
PostgreSql 数据库备份恢复 删除 建立 -
i_am_birdman:
songshuang 写道现在觉悟也不晚!加油!
加油呵呵
人生规划啊 -
songshuang:
现在觉悟也不晚!加油!
人生规划啊
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方法将允许你只具有写属性。
例如:
- 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;
- }
- }
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方法取得数组中的值。
它的使用语法如下:
- public void set(int index,value);
- public void set(value);
- public get();
- public get();
- publicget(int index);
public void set(int index,value); public void set(value); public get(); public get(); publicget(int index);
例如:
- 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]
- }
- }
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,我们就可以这样使用它了:
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开发中很少使用这种属性
发表评论
-
JSTL
2015-03-18 10:01 0<td width="20%" al ... -
struts-bean.tld,struts-html.tld,struts-logic.tld 这几个东西是干什么用的?
2013-08-02 10:51 844struts-html标签库。这个库可以被用来生成动态HTML ... -
2011_11_14(svn提交失败,唯一约束)
2011-11-14 16:43 10781) ALTER TABLE stat.stat ... -
开发中备忘
2011-08-02 15:50 811之前版本用数组处理,现在为了赶进度,仍然用list转换为数组传 ... -
xml文档
2011-07-31 11:51 596用dom4j处理时,当一个节点是空时,显示为<***** ... -
《重构》读书笔记
2011-07-24 16:01 812如果你发现自己需要为程序添加一个特性,而代码结构使你无法很方便 ... -
state模式
2011-06-20 21:02 762待续。。。。。 -
javax.servlet.jsp.PageContext.getELContext()Ljavax/el/ELContext;
2011-06-19 21:12 4098问题: HTTP ERROR 500 Problem ac ... -
Deployment failure on Tomcat 6.x. Could not copy all resources to
2011-06-19 10:15 1194Deployment failure on Tomcat 6. ... -
Resin Configuration summary:And Resin make install 's output
2011-05-09 16:08 1208./configure --prefix=/usr/l ... -
最近松懈了。。。
2011-05-04 22:53 667最近因为没什么活,整个人一下松懈了,不应该放这么多的时间在没用 ... -
最近两天总结
2011-03-18 23:14 9141.openOffice,一个挺牛逼的软件,不过现在是orac ... -
关于最近项目生活的体会
2011-03-14 18:58 8111.学习了聚合函数array_accum的运用,http:// ... -
junit 4 中的Before After Ignore Test BeforeClass AfterClass
2011-01-21 20:26 1597JUnit 4 使用 Java 5 中的注解(annota ... -
Junit 4
2011-01-11 18:57 1118近期写单元测试计划,公司准备把junit3.8升级到jun ... -
HIBERNATE 文档
2010-12-14 10:48 944找了一些关于Hibernate的资料,发现还是官网的最好... ... -
FCKEditor: Remove & prevent <p> tags from wrapping your content
2010-12-11 17:25 1076For some reason, FCKEditor ... -
difference between request.getParameter() and request.getAttribute()
2010-12-08 13:50 823What is the difference between ... -
session详解 -转(作者:郎云鹏)
2010-12-07 13:42 869目录: 一、术语sess ... -
获得网页来访者IP;操作系统版本;浏览器版本
2010-12-05 14:34 3679一,获得网页来访者IP ...
相关推荐
jsp+javabean 分页程序jsp+javabean 分页程序jsp+javabean 分页程序jsp+javabean 分页程序jsp+javabean 分页程序jsp+javabean 分页程序jsp+javabean 分页程序 简单实用供初学者参考
基于JSP+JavaBean+Servlet开发的网上书店应用程序 使用MySQL数据库 实现基本的购物车、更改、删除订单内容;用户管理等内容
Servlet+JSP+JavaBean(MVC)模式适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp负责数据显示,javabean负责封装数据。 Servlet+JSP、JavaBean模式程序各个模块之间层次清晰,web开发推荐采用此...
Jsp+JavaBean教程讲述了jsp+javaBean的开发
使用JSP、JavaBean和Servlet实现一个简单的留言板设计,包含用户管理和信息永久化保存。
JSP+JavaBean+Servlet技术实现某网站用户注册和登录功能 JSP+JavaBean+Servlet技术实现某网站用户注册和登录功能
通过jsp+javabean实现猜数字游戏 ,里面有可以运行在MyEclipse10运行的源代码
用myeclipse+jsp+javabean+mysql实现的用户登录,登录时需要输入验证码。
Jsp+JavaBean+Servlet(MVC设计模式)的寝室管理系统 Jsp+JavaBean+Servlet(MVC设计模式)的寝室管理系统 Jsp+JavaBean+Servlet(MVC设计模式)的寝室管理系统
jsp+javabean+access 编写的适合初学者的简单入库操作
jsp+javabean的模式,有sql关系图,还有sql源码,仅供初学者参考下
jsp_使用JavaBean分离表示与实现1.ppt
简单的JSP+JavaBean+Servlet的使用
jsp+javaBean的计数器,初学者可以学习参考
jsp调用javabean的问题
jsp+javabean+servlet
JSP之访问JavaBean的一个简单例子 使用useBean,jsp:setProperty,jsp:getProperty使用的一个简单例子 博客参考地址:https://blog.csdn.net/qq_36631076/article/details/79693890
我自己写的一个简单的购物车,采用jsp+javabean实现,doGet提交方式,解压完了之后,自己配置一下包就可以用了
Jsp中利用JavaBean技术实现分页功能 Jsp中利用JavaBean技术实现分页功能
java图书管理系统(jsp+javabean),很适合初学者 实现了对数据库操作的各个功能