配色: 字号:
JavaEE程序设计及实践 第六章
2016-06-21 | 阅:  转:  |  分享 
  
JavaEE程序设计及实践第六章java
BeanJavaBean概述JavaBeans是一个可重复使用的软件组件。实际上JavaBeans是一种Java类,通过封
装属性和方法成为具有某种功能或者处理某个业务的对象,简称beans。由于javabeans是基于java语言的,因此javabea
ns不依赖平台,具有以下特点(1)可以实现代码的重复利用(2)易编写、易维护、易使用(3)可以在任何安装了Java运行环境的
平台上的使用,而不需要重新编译。创建JavaBean编写javabeans就是编写一个java的类,所以
你只要会写类就能编写一个beans,这个类创建的一个对象称做一个beans。为了能让使用这个beans的应用程序构建工具,知道这个
beans的属性和方法,只需在类的方法命名上遵守以下规则:(1)如果类的成员变量的名字是xxx,那么为了更改或获取成员变量的值
,即更改或获取属性,在类中就需要有两个方法:getXxx():用来获取属性xxx。setXxx():用来修改属性xxx.。(
2)对于boolean类型的成员变量,即布尔逻辑类型的属性,允许使用“is”代替上面的“get”和“set”。(3)类中的普通方
法不适合上面的命名规则,但这个方法必须是public的。(4)类中如果有构造方法,那么这个构造方法也是public的并且是无参数
的。使用javaBean为了在JSP页面中使用benas,我们必须使用JSP动作标签:useBeanuseBean格式:
围”>建beans的类”scope=“bean有效范围”/>JavaBeanScope属性Page——JSP引擎分配给每个客
户的beans是互不相同的,也就是说,尽管每个客户的beans的功能相同,但它们占有不同的内存空间。该beans的有效范围是当前页
面,当客户离开这个页面时,JSP引擎取消分配给该客户的beans。Session——JSP引擎分配给每个客户的beans是互不相
同的,该beans的有效范围是客户的会话期间,也就是说,如果客户在多个页面中相互连接,每个页面都含有一个useBeans标签,这些
useBean标签中id的值相同,并且scope的值都是session,那么,该客户在这些页面得到的beans是相同的一个。如果客
户在某个页面更改了这个beans的属性,其它页面的这个beans的属性也将发生同样的变化。当客户关闭浏览器时,JSP引擎取消分配给
客户的beansRequest——JSP引擎分配给每个客户的beans是互不相同的,该beans的有效范围是request期间
。客户在网站的访问期间可能请求过多个页面,如果这些页面含有socope取值是request的useBeans标签,那么pageCo
tent对象在每个页面分配给客户的beans也是互不相同的。JSP引擎对请求作出响应之后,取消分配给客户的这个beans。App
lication——JSP引擎为每个客户分配一个共享的beans,也就是说,所有客户共享这个beans,如果一个客户改变这个bea
ns的某个属性的值,那么所有客户的这个beans的属性值都发生了变化。这个beans直到服务器关闭才被取消。案例分析1、当sc
ope=application时,我们浏览date.jsp,这时显示出了系统时间。可是不管我们怎么刷新,重新打开一次浏览器,甚至
换台机器,它显示的时间始终不变,都是当初的时间(即bean刚创建时得到的系统时间),因为scope=application,所以
Bean的实例在内存中只有一份,此时只要不重新启动WEB服务,输出不会变化。2、当scope=session时,浏览date.
jsp,刷新时显示也不会变化。可是当我们重新打开一浏览器,即一个新的session,系统便再次创建Bean的实例,取得当前系统时间
,这时将得到正确的时间。同样,再次刷新新打开的页面(新的session),显示也不会变化。3、当scope=page/reque
st(它们的区别只在于包含静态文件时,此处无区别)时,不断刷新页面将不断得到当前系统时间。以上可以看出不同的scope,Bean
有不同的作用域。使用时一定注意,不要将得到经常变动的Bean的scope设为application或session,那将得到不正确
的结果.获取和修改beans的属性getProperty动作标签ns的名字”property=“beans的属性”/>或的名字”property=“beans的属性”/>setProperty动作标签
(1)将benas属性的值设置为一个表达式的值或字符串。例如:"property=“sname"value="张小三"/>(2)通过HTTP表单的参数的值来设置beans的相应属性
的值,要求表单参数名字必须与beans属性的名字相同,JSP引擎会自动将字符串转换为beans属性的类型。例如:Propertyname="beans的名字"property=""/>(3)通过request的参数的值来设置
beans的相应属性的值,要求request参数名字必须与beans属性的名字相同,JSP引擎会自动将request获取的字符串数
据类型转换为beans相应的属性的类型。="属性名"param=“参数名”/>JavaBean应用案例——三角形beans编写一个javaBean,并且实
现从页面上表单上输入三角形三边的长度,计算周长和面积JavaBean应用案例——计数器beansCounter.java:
publicclassCounter{longcount=0;publicsynchronizedlong
getCount(){count++;returncount;}}d="people"class="Counter"scope="application">
<%if(session.isNew()){%>

您是第"people"property="count"/>位访问本站的人<%}else{ou
t.print("禁止通过刷新增加计数!");}%>通过javaBean访问数据库通过表单提交一个关键字值进行数据
库查询,连接数据库以及查询通过javaBean实现,显示结果提示使用StringBuffer西南财经大学天府学院—javaee
程序设计与实践Logo西南财经大学天府学院TianfuCollegeofSouthwesternUniversityofFinanceandEconomics郭进创建和使用JavaBean2JavaBean概述1JavaBeanScope属性3JavaBean应用案例4上机练习5西南财经大学天府学院—javaee程序设计与实践

献花(0)
+1
(本文系信检彭博海...首藏)