JavaBean学习专题

1、首先我给大家解释一下JavaBean。

Javabean 就是一个类,这个类就定义一系列 get<Name> 和 set<Name> 方法。 So simple !

Javabean 就是为了和 jsp 页面传数据化简交互过程而产生的。

我想给大家分享一个适合初学者学习的视频课程,本套课程是由尚学堂高淇老师开讲的Java300集! 为初学者而著! 适合准备入行开发的零基础员学习Java,基于最新JDK13、IDEA平台讲解的,视频中穿插多个实战项目。每一个知识点都讲解的通俗易懂,由浅入深。不仅适用于零基础的初学者,有经验的程序员也可做巩固学习。 需要本套配套软件、源码、课件等资料,添加官方主页联系方式,或者微信15373105229备注 FX 即可,是免费领取哦!

【尚学堂】Java300集零基础适合初学者视频教程

2.      JavaBean与类库的区别:
(1)并不是所有有用的模块都必须转化成Bean.Bean主要是能被用来可视化操作去完成一些效果.
(2)类库是一个提供函数操作给编程者的一个有效操作,但是并不能从可视化操作中来获益.
(3)举个例子来说:提供JDBC数据库访问的API作为一个类库比作为一个bean要好,因为JDBC的核心是用一个可编程的API,并不是能够直接展现于可视化操作.然而,写一个数库库访问Bean在JDBC的顶层还是有意义的.例如,你可以写一个能定制的"Select"bean以助于用户去组成一个查询语句,并且程序运行时用JDBC去运行这个查询语句,并显示结果集.

3.      在可视化编程中,可以看出,组件是一段程序代码,通过被存为class内,关键在程序开发工具如何发现组件的属性和事件.VB和Delphi都是通过某种机制来实现这点的,而Java则通过JavaBeans将可视化组件开发带进了一个更高的境界,因为一个Bean就是一个Class.针对以上的内容,JavaBean有如下的规则

(1)针对一个名为xxx的属性,你通常要写两个函数,getXxx()和setXxx().
(2)你可以用get/set方式来处理boolean,可以用is来代替get.
(3)Bean的一般函数不需要遵守上述的命名规则,但是需要为public.
(4)对于事件,你可以使用Swing的监听器作法来处理.


一、JavaBean的优点:

A.不需要用到Java语法
B.对象的共享更简单
C.请求参数与对象属性之间可以方便地对应起来

二、JavaBean的特点:

A.bean类必须拥有一个零参数的(默认)构造函数:JSP元素创建bean时,会调用默认的构造函数。实际的应用中经常会由servlet创建bean,JSP页面只是从中查询数据。
B.bean类不应该有公开的实例变量(字段):要成为JSP可以访问的bean,相应的类应该使用访问器方法(access method)取代对实例变量的直接访问。
C.持续性的值应该通过getXxx和setXxx方法来访问:尽管我们可以使用JSP script或表达式访问类的任意方法,但是,访问bean的标准JSP只能使用那些遵循getXxx/setXxx或isXxx/setXxx命名约定的方法。

三、JavaBean的构建:


A.<jsp:useBean id = “name”class = “package.Class”/>
这个语句表示:实例化由Class指定的类,并将实例化后的对象绑定到_jspService中的变量,变量的名字由id指定。
B.一定要使用完全限定类名——包括包名的类名。不管你是否使用<%@ page import…%>引入包,都要满足这个要求。
C.jsp:useBean动作规定:仅当不存在相同id和scope的bean时才实例化新的对象

四、bean类的安装:

A.单个bean类的正确位置是WEB-INF/classes/subdirectoryMatchingPackageName
B.含有bean类的JAR文件应该放在WEB-INF/lib目录中

五、jsp:useBean中beanName、type选项的使用:

A.beanName:即可以指向类,也可以指定包含序列化bean对象的文件
B.type:    当希望所要声明的变量的类型是实际bean类的超类,或是bean实现的接口。应该使用type属性来控制这种声明。此时type中声明的类型是class中指明的类型的父类或者接口,即用子类的构造方法初始化一个父类对象-多态。例如:
    <jsp:useBean id = “thread1” class = “mypackage.MyClass”
type  = “java.lang.Runnable”>

六、jsp:useBean的语法规则:

A.属性名大小写敏感
B.单引号和双引号都可以使用(但必须使用其中的一种)
C.标签的结束标记为/>,不只是>


七、JavaBean属性的设置:

A.<jsp:setProperty name = “beanName”property = “beanProperty”value = “beanValue”/>
B.jsp:setProperty的value属性允许给出的值为请求期间的表达式


八、将单个属性与输入参数关联:

A.可以不使用value属性,而是使用param指定一个输入参数,被指定的请求参数的值字段用作bean属性的值,由String到基本类型和封装类的类型转换都自动执行。

B.如果请求中没有指定的参数,则不采用任何动作(系统并不传递null到相关联的属性),例如:
<jsp:setProperty name = “bean1”property = “property1”param = “property1”>

C.如果请求参数的名称和bean属性的名称相同,还可以更进一步地简化这段代码。这种情况下可以省略param


九、将所有的属性与请求参数关联:

A.JSP允许将所有的属性与同名的请求参数关联起来。我们所要做的只是以”*”作为property参数的值。例如:<jsp:setProperty name = “entry”property = “*”/>

B.系统从请求参数开始查找匹配的bean属性,而非采用相反的方式。因此,对于没有请求参数与之匹配的属性,则不采用任何动作。这种行为意味着:表单bean不必一次填充完毕,相反,一次提交可以填写bean的部分属性,另一个表单填写其他属性。以此类推。但要使用这项功能,需要将bean在多个页面中共享。


十、使用属性与请求参数自动关系方式的注意点:

A.输入参数缺失时不采取任何动作:系统不会提供null作为属性的值。因此在设计bean时,一般
要为其设置可以识别的默认值,以便可以确定某个属性是否修改过

B.自动类型转换不能像手动类型转换那样那个防止不合法的值:在使用自动类型转换时,应该考虑使错误处理页面或显示使用try/catch块来处理异常数据

C.bean属性的名称和请求参数大小写敏感:属性名和请求参数的名字必须精确匹配


十一、共享bean

使用scope时,系统首先检查指定的位置是否存在指定名称的bean。仅当系统找不倒现有的bean时,才会创建新的bean.scope属性有4个可选值:page、request、session、application


十二、bean的scpoe = “page”:

A.这个值表示:在处理当前请求期间,除了要将bean对象绑定到局部变量外,还应该将它放在PageContext对象中。

B.将此对象存储在此表示,servlet可以通过调用预定义变量pageContext的getAttribute方法访问它.由于每个页面和每个请求都有不同的PageContext对象,

C.所有scope = “page”表示不共享bean,也就是针对每个请求都创建新的bean


十三、bean的scope = “request”:

A.这个值表示:在处理当前请求期间,除了要将bean对象绑定到局部变量外,还应该将它放在
HttpServletRequest对象中,从而可以通过getAttribute方法访问它。

B.在使用jsp:include、jsp:forward、RequestDispatcher的include或forward方法时,两个JSP页面,或JSP页面和servlet将会共享请求对象。而scope = “page”的bean则无法共享请求对象


十四、bean的scope = “session”:

A.这个值表示:除了要将bean对象绑定到局部变量之外,还要将它存储到与当前请求相关联的HttpSession对象中,我们可以使用getAttribute获取存储在HttpSession中的对象
B.bean存储在HttpSession对象中,若该会话不失效(如超时)则bean的属性可跨请求持续

十五、bean的scope = “application”:


A.这个值表示:除了要将bean对象绑定到局部变量之外,还要将它存储在ServletContext中,通过预定义application变量或通过调用getServletContext获得。
B.ServletContext由Web应用中多个servlet和JSP页面共享。ServletContext中的值可以用getAttribute方法获得。

十六、根据条件构建bean:

A.根据条件构建bean:<jsp:useBean…>statements</jsp:useBean>
B.jsp:useBean的起始标签和结束标签之间的语句只在创建新的bean时执行,如果使用已有的bean,则不执行。由于jsp:useBean调用默认(零参数)构造函数,因此,我们经常需要在bean创建之后修改它的属性。为了模拟构造函数,应该在bean首次创建时执行这些修改,而不应该在访问现存(或更新后)的bean时执行。

C.多个页面都可以在jsp:useBean的起始标签和结束标签之间包含jsp:setProperty语句;只有被第一个访问的页面才会执行这些语句。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值