JavaBean在JSP中的应用.ppt_第1页
JavaBean在JSP中的应用.ppt_第2页
JavaBean在JSP中的应用.ppt_第3页
JavaBean在JSP中的应用.ppt_第4页
JavaBean在JSP中的应用.ppt_第5页
已阅读5页,还剩33页未读 继续免费阅读

VIP免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第7章JavaBean在JSP中的应用,7.1JavaBean简介7.2JavaBean的范围7.3JSP访问JavaBean的语法7.4在JSP中使用JavaBean7.5小结7.6习题,7.1JavaBean简介,7.1.1什么是JavaBean7.1.2编写JavaBean7.1.3编译JavaBean,7.1.1什么是JavaBean,JavaBean是一种Java语言写成的可重用组件。为成为JavaBean,类必须是具体的和公共的,并且具有无参数的构造函数。,7.1.1什么是JavaBean,一个Web应用系统包括数据层、业务逻辑层和表示层。一个基本的JSP页面包含了HTML标记和Java程序段,将表示层和业务逻辑层混杂在一起,使得页面显得混乱,不好维护。应用JavaBean可以将表示层和业务逻辑层分开,把业务处理过程交给JavaBean完成,再由JSP页面去调用JavaBean。JavaBean降低了JSP程序的复杂度,同时也增加了软件的可重用性。,7.1.2编写JavaBean,编写JavaBean实际上就是编写一个Java类,因此可以使用任何一个文本编辑器来编写,如记事本。设计JavaBean类就是要设计这个JavaBean的属性和方法,JavaBean方法的命名规则:,(1)如果成员变量的名字为Xx,则相应地有两个用来得到成员变量值和设置变量值的方法,它们分别命名为getXx()和setXx()。即如下的两种形式:publicdataTypegetXx()publicvoidsetXx(dataTypedata)其中,dataType是成员变量的数据类型,参数data是赋予成员变量的值。注意,方法名getXx和setXx中变量名第一个字母大写。,7.1.2编写JavaBean,(2)如果成员变量是boolean类数据,则有三个方法和该成员变量对应,分别是:publicbooleanisXx()publicbooleangetXx()publicvoidsetXx(booleandata)前两个可用来得到成员变量的值,第三个用于设置成员变量的值。(3)访问成员变量的方法都设为public,即公有方法;如果有构造函数,则必须有一个public类型且没有参数的构造函数。,7.1.2编写JavaBean,【例7.1】JavaBean的编写。此处以第四章的图书征订Bean为例。BookBean.java源代码如下:packagebean;importjava.io.*;publicclassBookBeanprivateStringBookName=;privateintBookNum=1;publicBookBean()publicvoidsetBookName(StringBookName)this.BookName=BookName;,7.1.2编写JavaBean,publicStringgetBookName()returnthis.BookName;publicvoidsetBookNum(intBookNum)this.BookNum=BookNum;publicintgetBookNum()returnthis.BookNum;需要注意的是,文件名必须要和类的名字相同,否则编译时会出错。,7.1.3编译JavaBean,JavaBean必须经过编译成class字节码文件才能供JSP文件调用。在许多的集成开发环境中,能够自动完成编译工作,如在Eclipse集成开发环境中编译JavaBean类的方法很简单,只需要保存源文件,就会自动编译,7.2JavaBean的范围,JavaBean存在四种作用范围,或者叫生命周期:页面范围请求范围会话范围应用范围具体取值是通过scope属性来指定的。,7.2.1页面范围,page范围的JavaBean只在当前页面有效常用于进行一次性操作的JavaBean,这样的Bean用的最多,比如:大部分表单提交bean的一些计算处理,7.2.2请求范围,此JavaBean对象保存在request对象中有request范围的JavaBean实例可以在处理请求的所有JSP页面中都存在,这个对象只有在请求全部处理完毕后才会被释放掉。比如判断用户登录功能,如果用户输入的用户名和密码合法就可以用forward动作转到一个合法输入的处理页面,否则就转到一个出错的处理页面,这时,所转到的页面仍然可以得到用户的输入。,7.2.3会话范围,是保存在session里的,它的生存周期是整个session,只有当session过期后才能释放掉。通常用于共享同一session的JSP页面,比如购物车登录后的用户信息,7.2.4应用范围,是保存在application对象里的,它的生存周期是整个application。只有当WebServer关闭才会消失。通常用于共享同一application的JSP程序中,比如:程序中一些经常用到的数据库连接URL全局计数器聊天室中的人员统计,7.3JSP访问JavaBean的语法,在JSP页面中要使用JavaBean,应首先在文件头部导入这个JavaBean对应的类,如:或,7.3JSP使用JavaBean的四个步骤,1编写JavaBean类(成员、构造函数、get方法(is方法)、set方法)2JSP页面使用page指令中的import导入Bean3动作定义一个Bean实例4和设置和访问Bean属性,7.4在JSP中使用JavaBean,【例7.2】JavaBean的使用及其作用范围。用Java编写的Box类可以设置立方体的长、宽、高求立方体的表面积和体积在JSP页面中使用JavaBean,并显示不同scope属性值JavaBean的使用范围。page作用域session作用域application作用域,7.4在JSP中使用JavaBean,本例在Tomcat的发布目录webapps下建立了一个文件夹JavaBeans,使用beans的所有JSP页面文件存放在Tomcat5.5webappsJavaBean目录下用Java编写的立方体类Box.java编译生成的字节码文件Box.class存放路径为Tomcat5.5webappsJavaBeansWEB-INFclassesbean目录下。,Box.java源代码,packagebean;importjava.io.*;publicclassBoxintlength,width,height;publicBox()length=1;width=1;height=1;publicvoidsetlength(intnewlength)length=newlength;,7.4在JSP中使用JavaBean,publicvoidsetwidth(intnewwidth)width=newwidth;publicvoidsetheight(intnewheight)height=newheight;publicintgetlength()returnlength;publicintgetwidth()returnwidth;publicintgetheight(),7.4在JSP中使用JavaBean,returnheight;publicintBoxVolume()intvolume;volume=length*width*height;returnvolume;publicintBoxArea()intarea;area=2*(length*width+width*height+length*height);returnarea;,7.4在JSP中使用JavaBean,(1)scope=”page”,JavaBean的有效范围是当前页在boxBean_page.jsp页面中,获得一个id为Mybox,作用域是page的JavaBean,该JavaBean的生命期为当前页。boxBean_page.jsp代码清单如下:,Box的长是:Box的宽是:Box的高是:,Box的体积是:Box的表面积是:在浏览器中显示效果如图7.2所示。图7.2作用域为page的JavaBean页面,7.4在JSP中使用JavaBean,(2)scope=”session”,用户在不同页面共享JavaBean用户在boxBean_session1.jsp和boxBean_session2.jsp页面间共享一个立方体JavaBean,如果用户在一个页面中更新了立方体的数据,那么刷新另一个页面,则可见到更新后的数据。boxBean_session1.jsp代码清单如下:,Box的长是:Box的宽是:Box的高是:Box的体积是:Box的表面积是:boxBean_session2.jsp,boxBean_session2.jsp代码清单如下:Box的长是:Box的宽是:Box的高是:Box的体积是:,Box的表面积是:修改后Box的长是:修改后Box的宽是:,修改后Box的高是:修改后Box的体积是:修改后Box的表面积是:boxBean_session1.jsp,boxBean_session1.jsp在浏览器中的执行结果如图7.3所示。单击超链接跳转到boxBean_session2.jsp,显示立方体的初始数据并将其数值更新,显示效果如图7.4所示。单击超链接返回页面boxBean_session1.jsp,会发现立方体的数据已经修改,说明用户在两个页面间共享了一个JavaBean。图7.3页面1运行结果图7.4页面2运行结果图7.5再次运行页面1,(3)scope=”application”,不同用户共享JavaBean在boxBean_app.jsp文件中创建了一个id为MyBox的JavaBean,作用域为application,该JavaBean由所有用户共享,直到服务器关闭。boxBean_app.jsp代码如下:,Box的长是:修改后Box的长是:Box的宽是:修改后Box的宽是:,Box的高是:修改后Box的高是:修改后Box的体积是:修改后Box的表面积是:,第一个用户运行boxBean_app.jsp显示立方体的数据,然后更新数据并显示,结果如

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论