jsp使用JavaBean分离表示与实现.ppt
《jsp使用JavaBean分离表示与实现.ppt》由会员分享,可在线阅读,更多相关《jsp使用JavaBean分离表示与实现.ppt(78页珍藏版)》请在三一办公上搜索。
1、1,第6章 使用JavaBean分离表示与实现,Company Logo,2,在当今各类JSP网站开发标准中,有两种使用JSP的方式,他们分别被称为模式一和模式二。模式一是JSP+JavaBean的结合模式二是JSP+JavaBeanServlet的结合。这两种模式是当今大中型应用程序的基础,这两种模式中最重要的就是JavaBean的开发,JavaBean用来封装业务逻辑。,Company Logo,3,6.1 剖析JavaBean,什么是组件?独立的模块外界不了解其内部实现外界通过其提供的接口对组件进行访问可以重用目前有代表性的组件技术COM、COM+、JavaBeans、EJB等,Comp
2、any Logo,4,JavaBean 组件和企业级EJB(Enterprise JavaBean)组件EJB是J2EE的核心技术,它为开发服务器端应用程序组件提供了一个模型,利用这个模型来创建可移植性与分布式企业应用程序服务器或组件。EJB定义了一个用于开发基于组件的企业多重应用程序的标准。EJB是一个用来创建分布式、服务器端以及基于Java的企业应用程序组件的功能强大的组件模型。,Company Logo,5,6.1.1 什么是JavaBean,JavaBean是Java的可重用组件技术,实质是一种符合某些命名和设计规范的Java类JavaBean通常封装成为具有特定功能或者处理某个业务(
3、如连接数据库,访问数据库)应用:JSP页面内可以访问JavaBean的对象以及它的方法。在JSP的Web应用中集成JavaBean组件,由JavaBean中处理业务逻辑,然后在JSP中调用,而JSP页面着重网页界面的设计,可以实现业务逻辑和前台显示的部分分离。,Company Logo,6,JavaBean简介,使用JavaBean的好处:可以使得JSP页面变得清晰;节省软件开发时间(可以直接使用已经测试和可信的已有组件,避免了重复开发);降低系统维护的难度JavaBean的分类可视的JavaBean:传统的JavaBean应用于可视化界面(如java图形界面中使用的按钮、文本框或列表框等等)
4、。非可视化的JavaBean:封装逻辑、封装数据,与JSP搭配使用。,Company Logo,7,6.1.2 JavaBean的特征,通常一个标准的JavaBean有以下特征(编写规范):一定使用了package语句进行打包JavaBean是一个public类型的类有一个无参数的构造方法属性一般是私有的(即用private修饰)对属性值xxx的获取有相应的getXxx()方法,并且此方法是公有的(即用public修饰)若要获取的属性xxx为boolean类型则可以使用isXxx()方法对属性值xxx的设置有相应的setXxx()方法,并且此方法也是公有的(即用public修饰),Compan
5、y Logo,8,创建一个标准JavaBean的基本语法如下。(1)定义JavaBean类 JavaBean类定义的语法结构如下:package 包名;public class 类名 构造方法();属性(Property);方法(Method);分析:编写JavaBeans就是编写一个Java的类,这个类创建的一个对象称作一个beans。,Company Logo,9,注意:类名称与保存的文件名称必须一致,否则就会出现编译错误。类必须声明为公有类,即public。如:public class CarBean private String maker;.,Company Logo,10,(2)定
6、义JavaBean类的构造函数JavaBean是Jave类,JavaBean就有自己的构造函数,并且构造函数的名称必须与JavaBean类的名称一致。构造函数的主要作用是用来初始化,而且构造函数无参数输入,其语法结构如下:public JavaBean类名称/初始化.例如:public CarBean,Company Logo,11,(3)定义JavaBean属性JavaBean是Java类,那么它不但有自己的构造函数,还有自己的属性。JavaBean属性的定义的语法结构如下:private 数据类型 属性名称;例如:private String maker;,Company Logo,12,
7、JavaBean的属性简介1.JavaBean的属性与普通Java类的属性的概念不一样,JavaBean的属性是以方法定义的形式出现的。2.用于对属性赋值的方法称为属性修改器或setter方法,用于读取属性值的方法称为属性访问器或getter方法。3.属性修改器必须以小写的set 前缀开始,后跟属性名,且属性名的第一个字母要改为大写,例如,nickName属性的修改器名称为setNickName,password属性的修改器名称为setPassword。,Company Logo,13,4.属性访问器通常以小写的get 前缀开始,后跟属性名,且属性名的第一个字母要改为大写,例如,nickNam
8、e属性的访问器名称为getNickName,password属性的访问器名称为getPassword。5.JavaBean的属性名是根据setter方法与getter方法的名称来生成的,setter方法或getter方法中除去前缀“set”和“get”后的部分即为属性名,但属性名的首字母必须小写。6。属性分类:只读/读写/只写,简单/复杂,Company Logo,14,(4)设定JavaBean属性值的方法定义了JavaBean属性之后,还要对其属性值进行设定,其属性值设定的语法结构如下:public void set设定方法名称(数据类型 参数)this.变量=参数;例如:public v
9、oid setMaker(String maker)this.maker=maker;注意:JavaBean属性值的设定方法名称一般以set三个字母开头,后面跟上属性设定方法名称。,Company Logo,15,(5)读取JavaBean属性值的方法JavaBean属性值读取的语法结构如下:public 数据类型 get读取方法名称()return this.变量;例如:public String getMaker()return this.maker;,Company Logo,16,package bean;public class SimpleBean()private String
10、name;private int number;public SimpleBean()public void setName(String name)this.name=name;public void setNumber(int number)this.number=number;public String getName()return name;public int getNumber()return number;编写JavaBean时,需要将其放入某个包中,这样才能被JSP页面访问到,Company Logo,17,package MyBean;public class FisrtJ
11、avaBean private String firstProperty=“*”;public FirstJavaBean()public String getFirstProperty()return firstProperty;public void setProperty(String value)firstProperty=value;,JavaBean。,私有属性,构造函数,Company Logo,18,Eg.fbean.jsp:调用FirstJavaBean,Company Logo,19,6.2 开发部署JavaBean,6.2.1 开发JavaBean例 完成一个二元数学运算
12、。6.2.2 在Web服务器上部署JavaBean,Company Logo,20,直接在tomcat下部署如下图所示,Company Logo,21,JavaBean存放,在JavaBean的应用中:首先创建一个满足JavaBean规范的程序,并将其编译成一个class字节码文件,为了让JSP文件访问到JavaBean,需要考虑怎么存放JavaBean编译产生的字节码文件,假设在tomcat下已建立一个myweb的站点应用,那么我们在myweb站点中各文件保存位置如下:myweb*.jsp-JSP文件保存在站点下mywebWEB-INF-在myweb站点中建有WEB-INF文件夹mywebW
13、EB-INFclasses-该文件夹下面就是存放所有编译出来的class文件mywebWEB-INFlib-这个目录下存放所有jar文件,Company Logo,22,JavaBean本身就是满足JavaBean设计规范的java程序,因此我们在文本编辑器中编辑java程序,通过JDK环境中将它编译成有效的class或jar文件,并按前文所述保存到相应文件夹中,就成为可供JSP文件调用调用的JavaBean文件。现在编写JSP文件,其中包含动作标签,JSP网页通过该标签创建一个JavaBean对象,从而可以利用该JavaBean对象实现操作。注意:如果修改和重新编译了JavaBean程序,则
14、需要关闭和重新启动JSWDK的Web服务器以后修改的结果才会有效。如果仅仅修改JSP文件,则不用重新启动JSWDK的Web服务器。,Company Logo,23,calculate.jsp执行,Company Logo,24,输入3/0之后的执行结果如图,Company Logo,25,calculate.jsp先由调用SimpleCalculator类,使用设置JavaBean的属性:,Company Logo,26,6.3 在JSP中使用JavaBean,需要使用以下几个动作元素标签:在网页中创建一个Bean对象标签:用于为Bean对象中的属性赋值标签:用于获取Bean对象中属性的值,C
15、ompany Logo,27,SampleBean.javapackage bean;public class SampleBean private String sample=Hello,World;public void setSample(String s)if(s!=null)sample=s;public String getSample()return sample;,Test1.jsp属性sample的初始值:属性sample的新值:,Company Logo,28,6.3.1 调用JavaBean,该标签用来在JSP页面中创建一个JavaBean实例,并指定它的名字及作用范围。
16、语法如下:创建了“package.class”类的一个对象,对象的名字是“beanname”scope的值指定了该对象的作用范围,可能的取值有4个:page、request、session、application例:,Company Logo,29,因此与下面的脚本段等价,Company Logo,30,6.3.2 访问JavaBean,标签用来获取Bean对象的属性值,并显示在页面上,其语法如下:name指出了要获取哪个bean的属性值,取值与useBean中 id值相同;property指出要获取该bean的哪个属性值例:还可以使用表达式调用其属性,例如在计算器实例中,下面两种表达式是等价
17、的第二种方式比较灵活。在6.2节计算器实例中,属性值参与运算,只能用第二种方式。,Company Logo,31,package ch06a;import java.io.*;public class Circle2 double radius=1;double circleArea=0;double circleLength=0;public double getRadius()return radius;public void setRadius(double newRadius)radius=newRadius;public double getCircleArea()circleAre
18、a=Math.PI*radius*radius;return circleArea;public double getCircleLength()circleLength=2.0*Math.PI*radius;return circleLength;,Circle2.java,用Circle2类创建一个名字是apple的beans,在JSP页面中使用useBean标签。并使用getProperty获取apple的各个属性的值。把Circle2.java编译生成的字节码Circle2.class文件拷贝到JSP引擎的classes文件下,Company Logo,32,beansGetprope
19、rty.jsp:,圆的半径是:圆的面积是:圆的周长是:,Company Logo,33,图 获取beans的属性值,Company Logo,34,6.3.3 设置JavaBean的属性,标签用来设置Bean对象的属性。其语法有多种:(1).简单bean属性设置 用来为bean的属性赋值其中name指出是在操作哪个bean,property指出对该bean的哪个属性赋值,value用来指定给属性赋的值。例:,Company Logo,35,Eg.一个描述学生的beans,在一个JSP页面中获得一个这样的beans,其有效范围是page。在JSP页面中使用动作标签设置、获取该beans的属性。,
20、Company Logo,36,Student.java:创建beans的源文件,public class Student String name=null;long number;double height,weight;public String getName()return name;public void setName(String newName)name=newName;public long getNumber()return number;public void setNumber(long newNumber)number=newNumber;,public double
21、 getHeight()return height;public void setHeight(double newHeight)height=newHeight;public double getWeight()return weight;public void setWeight(double newWeight)weight=newWeight;,Company Logo,37,student.jsp,名字是:学号是:/身高是:米体重是:公斤,Company Logo,38,注意:如果将表达式的值设置为beans属性的值,表达式值的类型必须和beans的属性的类型一致。如果将字符串设置为
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- jsp 使用 JavaBean 分离 表示 实现
链接地址:https://www.31ppt.com/p-6510411.html