《JavaBean技术(2学时).ppt》由会员分享,可在线阅读,更多相关《JavaBean技术(2学时).ppt(26页珍藏版)》请在三一办公上搜索。
1、Java与J2EE架构,计算机学院,第7章 JavaBean技术,7.1 基本概念7.2 JavaBean的设计7.3 JavaBean练习,7.1 基本概念,引例JSP脚本关于Java类的声明:,女朋友的姓名:,思考存在的主要问题,业务逻辑和表示层相混合可读性差,不易维护移植性和重用性差,JavaBean技术,JavaBean是一些可移植、可重用,并可以组装到应用程序中的Java类(属性+方法的封装体)。JavaBean可以较好地实现后台业务逻辑和前台表示逻辑的分离,使得JSP程序更加可读、易维护。JSP+JavaBeans(JSP Model 1)是一种常用的Web开发模式。,【Retur
2、n】,7.2 JavaBean的设计,设计JavaBean的关键:(1)如何定义JavaBean的属性和方法;(2)如何在JSP中调用JavaBean.,(1)JavaBean类中方法的命名规则,方法命名规则:如果属性(成员变量)的名字是xxxx,则相应的有用来设置和获得属性的两个方法,分别为:public void setXxxx(dataType data)public dataType getXxxx()如果有构造函数,则应为public型,且无参数。,一般类的属性应该是private,JavaBean示例,设计一个JavaBean(Box类):属性:length/width/heigh
3、t double类型方法:getXxxx和setXxxx(注:可自动生成)不带参数构造函数(初始化属性值)求体积函数getCV(),创建过程,新建Web项目(testBean)新建public class;(Box.java,package javaBean)输入属性变量:length/width/height double类型在代码编辑区右键SourceGenerate Getters and Setters select all 属性,public型自动生成getXxxx和setXxxx;不带参数构造函数和求体积函数手工输入:,public Box()length=0;width=0;he
4、ight=0;,public double getCV()return length*width*height;,创建过程(cont.),编译JavaBean:无错误后保存自动生成Box.class;部署JavaBean:此时会自动将javaBean包(box.class)放到Web-INF/classes中(当前项目下不可见),【return】,(2)JSP访问JavaBean,JSP动作组件 使用JavaBean 设置属性值 获取属性值,格式:或,JavaBean3个属性,例如,添加:,格式:/例如:/,直接设值或使用表达式,格式:例如:,返回属性的值在当前标签处显示,调用JavaBean
5、的其他方法,格式:Bean的id.方法名(参数)例如:,完整示例,在JSP中使用JavaBean长方体的长度为:长方体的宽度为:长方体的高度为:);%,index.jsp,直接设值,【Return】,补充:scope=“session”,在另一页面 2.jsp:长方体的长度为:,要重复一次,取出值看看:如果先前已赋值,则显示的是该值否则,将是初始化时的值0,7.3 JavaBean练习,练习1:设计一个Triangle的JavaBean,并测试。属性:三条边:a,b,c(double类型)方法:不带参数构造函数(使属性值均为0)是否构成三角形isTriangle()求周长函数getCir()求
6、面积函数getArea(),练习2-显示系统时间的JavaBean,秒钟能自动更新,参考,package javaBean;import java.util.*;public class DateTime public String getDateTime()Calendar now=Calendar.getInstance();String dateTime=now.get(Calendar.YEAR)+年+(now.get(Calendar.MONTH)+1)+月+now.get(Calendar.DATE)+日+now.get(Calendar.HOUR)+时+now.get(Calen
7、dar.MINUTE)+分+now.get(Calendar.SECOND)+秒;return dateTime;,DateTime.java,index.jsp,该JavaBean只有一个方法,练习3:JavaBean值传递,长 宽 高,a,b,c,如何实现JavaBean的参数传递?,JavaBean使用参数param,直接使用request对象中的参数名设置JavaBean属性值。但不使用 request.getParameter(参数名)形式。格式:,param和value属性不能同时使用,示例,在JSP中使用JavaBean 长方体的长度为:长方体的宽度为:长方体的高度为:);%,1
8、.jsp,不使用,更简化写法,长 宽 高,在满足前提下,1.jsp 可一句话搞定赋值:,前提:form提交数据的标签名称要与javaBean的类属性名称保持一致,练习4:JavaBean实现页面访问统计,设计思路:JSP页面引用JavaBean(定义int count计数)JavaBean作用域为application,package javaBean;public class counter int count=0;public void count()count+;/计数 public int getCount()return count;public void setCount(int count)this.count=count;,counter.java,当前页面访问次数:,【完】,jsp程序,