欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    javabean组件程序设计.ppt

    • 资源ID:5435948       资源大小:259KB        全文页数:52页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    javabean组件程序设计.ppt

    第6章 JavaBean组件程序设计,6,内容提要,理解JavaBean。掌握操作JavaBean的相关标记理解JavaBean的生存期JavaBean的属性掌握jsp+javabean的开发模式,组件技术概述,现在软件开发都已经转向了基于组件的开发,目前具备代表性的组件技术有微软的COM、COM+,有Sun的JavaBean和EJB(Enterprise Java Bean),另外还有CORBA(Common Object Request Broker Architecture,公共对象请求代理结构)。,组件和容器,容器是包含其它组件的组件。它们被用作组件的框架。例如,可视化的开发工具使你能拖放组件到容器中,这些容器能调整大小和位置。软件组件模型描述了如何开发和使用组件。软件组件模型包括以下元素:创造和使用组件的规范;软件实现规范,为建造和使用组件提供一种具体的机制。JavaBean规范将“软件组件”的概念引入到Java编程的领域。组件是自包含的、可重用的软件单元;而JavaBean组件,则可以使用可视的应用程序开发工具,可视地将它们编写到Java程序中。JavaBean规范为Java开发人员提供了一种“组件化”其Java类的方法。,Bean开发工具,JavaSoft,开发Java系列开发工具的公司,开发了BDK(Bean开发工具)。BDK可供开发者自由地使用,适用于Windows 2000、XP、2003、以及Solaris 2.4和2.5。其它用于Bean开发的各种工具,常用的有7个。Sun MicroSystems公司的JavaPlan;Sun MicroSystems公司的Java Studio;Sun MicroSystems公司的Java Workshop;IBM的Visual Age for Java;Symantec的Visual Caf for Java;微软公司的Visual J+;Boland公司的Jbuilder。,JavaBean简介,JavaBean是一种软件组件模型。它与其它软件对象相互作用,决定如何建立和重用软件组件。这些可重用软件组件被称之为Bean。Bean使用现有的Bean帮助开发新的计划,进而,建立它们之间的关系。在Sun公司的Java Bean规范的定义中,Bean的正式说法是:“Bean是一个基于Sun公司的JavaBean规范的、可在编程工具中被可视化处理的可复用的软件组件”。JavaBean是基于Sun公司的JavaBean规范的,可在编程工具中被可视化处理的可复用的软件组件。因此JavaBean具有4个基本特性:(1)独立性(2)可重用性(3)在可视化开发工具中使用(4)状态可以保存,进一步认识JavaBean,从根本上说,一个javabean就是放置在jsp 服务器后台的一个javabean类,它封装了一些私有的数据和方法,这些私有数据可以用javabean类中的方法来存取。通过使用javabean,可以最大限度地扩充java程序的功能,还可以很快生成许多新的应用程序。可以说,javabean最大的优点是实现代码的重复利用,使程序易于维护。JavaBean的工作过程:,JSP,JavaBean,调用javaBean的方法,返回处理的结果,JavaBean的特点,编写JavaBean就是编写一个Java类,所以只要会写类就能编写一个Bean,一个完整JavaBean在类的命名上需要遵守4点。1、如果类的成员变量的名字是xxx,那么为了更改或获取成员变量的值,在类中使用两个方法:getXxx(),用来获取属性xxx。setXxx(),用来修改属性xxx。2、对于boolean类型的成员变量,允许使用is代替get和set。3、类中方法的访问属性必须是public的。4、类中如果有构造方法,那么这个构造方法也是public的,并且是无参数的。,JavaBean页面指令,在JSP中专门提供三个页面指令来和JavaBean交互,分别是jsp:useBean指令、jsp:setProperty指令和jsp:getProperty指令。jsp:useBean指令指定JSP页面中包括的JavaBean,具体的语法格式为:,例如:注意:用于从一个javabean中获得某个变量的值,无论原先这个变量是什么类型的,都将被转换为一个String类型的值,JavaBean页面指令,其中,id是当前页面中引用JavaBean的名字,JSP页面中的Java代码将使用这个名字来访问JavaBean。scope:指定JavaBean的作用范围,可以取4个值(缺省为:page)。page:JavaBean只能在当前页面中使用。在JSP页面执行完毕后,该JavaBean将会被进行垃圾回收。request:JavaBean仅用于当前客户端的请求,它在同一个请求范围内有效。session:JavaBean在整个用户会话过程中都有效。application:JavaBean在当前整个Web应用的范围内有效。jsp:setProperty指令功能是设置JavaBean的属性。jsp:getProperty操作指令功能是得到某个JavaBean的属性值。,编写JavaBean,package test;public class MyBeanprivate String str;private int num;public MyBean()/初始化str=This is the initial value.;num=0;public void setvalue(String avalue)/设置strstr=avalue;public String getvalue()/得到strreturn str;public void setnumber(int Number)/设置number num=Number;public int getnumber()/得到numberreturn num;,案例名称:简单的JavaBean程序名称:mybean.java,编译JavaBean文件,将mybean.java文件编译成class类文件mybean.class.由于mybean.java 中导入了包test,因此编译后生成的mybean.class文件将自动存放在与mybean.java同级目录的文件夹test的下面。通常,jsp文件存放在目录“c:Tomcat 4.1webappsROOT”中,要想在这些jsp文件中使用javabean,就必须把javabean源文件编译后生成的class类文件存放在目录“c:Tomcat 4.1webappsROOTWEB-INFclasses”中,否则Tomcat将无法找到javanean。这里,我们把mybean.class这个文件存放在目录“c:Tomcat 4.1webappsROOTWEB-INFclassestest”中。,在JSP也页面中使用JavaBean,案例名称:在JSP中使用JavaBean程序名称:05_01.jsp,编写使用上面这个javabean(mybean)的JSP页面。,使用Javabean 相关标记的综合示例,我们来看一个例子,这个例子要求浏览者提交一个表单,在处理表单的jsp程序中综合使用了、这三个标记来存取javabean对象中的变量。(使用前面的javabean:mybean.java)提交表单的页面:05_02.htmlJsp处理页面:05_03.jsp,等价于:注:使用request.getParameter方法得到的值是一个字符串,Javabean 的生存期,scope:指定JavaBean的作用范围,可以取4个值(缺省为:page)。page:JavaBean只能在当前页面中使用。在JSP页面执行完毕后,该JavaBean将会被进行垃圾回收。request:JavaBean仅用于当前客户端的请求,它在同一个请求范围内有效。session:JavaBean在整个用户会话过程中都有效。application:JavaBean在当前整个Web应用的范围内有效,Javabean生存期示例:,Javabean生存期:05_04.jspPage:05_05.jspRequest:05_06.jspSession:05_07.jspApplication:05_08.jsp,利用外部的Bean,JSP之所以强大,很大程度上依赖于外部组件的使用。有很多著名的公司开发外部Bean组件,比如SUN公司和IBM公司等。本节介绍最常用的组件:Email组件、图形组件和文件上传组件,Email组件,JavaMail API 是一个用于阅读、编写和发送电子邮件的可选包(标准扩展)。在JSP中要想发送Email,需要实用JavaMail组件。这里需要两个组件“activation.jar”和“mail.jar”,,发送Email,需要根据实际修改五个参数,程序才可以正确执行,目前的SMTP邮件发送服务器都需要验证。验证需要设置三个参数,发送邮件的服务器地址strHost、验证用户名strUserName和strPassWord密码String strHost=;String strUserName=szg;String strPassWord=szg;,案例名称:发送Email程序名称:mail.jsp,发送Email,还需要修改两个参数就是发送人地址和收信人地址。String strFrom=;String strToList=;比如现在张三有一个邮箱是,邮箱密码是mamahao,现在他要给周润发发邮件,周润发的邮箱是。改完的五个参数如下面的代码段。String strHost=;int nPort=0;String strUserName=zhangsan;String strPassWord=mamahao;String strFrom=;String strToList=;,常见邮箱的SMTP地址,发送Email,绘制图形,在Java图形编程领域中,最著名的组件是JGraph组件,该组件在绘制二维和三维方面功能非常优秀。最新的JGraph组件可以从“http:/,使用JGraph绘图,案例名称:使用JGraph绘图程序名称:j6_09.java,文件上传,在Web开发中,文件上传是一项非常实用的功能在Java开发体系中,文件上传功能的实现主要依赖于JavaBean,常用的上传组件是jspsmart,以jspsmart组件为例进行介绍文件上传,使用jspsmart组件实现文件上传,案例名称:文件上传功能的实现程序名称:selectfile.html文件名称:存储到服务器上的路径:,使用jspsmart组件实现文件上传,案例名称:处理文件上传的Servlet程序程序名称:servletUpload.java,面向对象设计模式,面向对象软件开发领域中,设计模式包括一些规则来完成一定任务。设计模式针对一些特定的问题,提出一种解决方案。常用的面向对象设计模式有4种:Factory模式、Singleton模式、Faade模式和MVC架构模式。,Factory模式,如果想要通过Email发送一些新产品的信息,目标用户的类型不同,所以需要发送不同内容的邮件。除此之外,用户的类型还可能会不断的增加。一般这种需求利用Factory模式设计。定义一个EmailSender类。,class EmailSendervoid sendEMail(SeniorClientType client)SeniorClientEmail email=new SeniorClientEmail();email.createEmailBody();email.createEmailSubject();email.send();void sendEMail(RichClientType client)RichClientEmail email=new RichClientEmail();email.createEmailBody();email.createEmailSubject();email.send();void sendEMail(FemaleClientType client)FemalClientEmail email=new FemaleClientEmail();email.createEmailBody();email.createEmailSubject();email.send();,Factory模式,根据sendEMail传递的参数类型,创建不同的发送Email的对象,然后利用该对象的方法进行处理。创建的Email类为:,class SeniorClientEmailvoid createEmailBody()void createEmailSubject()void send()class RichClientEmailvoid createEmailBody()void createEmailSubject()void send(),Factory模式,如果要添加新的客户类型。只要修改EmailSender类,添加一种新的客户类型方法就可以。Factory模式建立的系统扩充性非常好。进一步抽象,利用接口或者抽象类,将公共的一些特征抽象成接口或者抽象类,将一些细节留给派生类处理。设计的Email类为,class EmailSenderVoid sendEmail(IClientType client)Iemail email=client.createEmail();email.createEmailBody();email.createEmailSubject();email.send();,Factory模式,不同的客户类型利用不同的类进行处理,抽象这些客户的一些共同特征,建立接口IClientType,具体的客户类型处理类都通过这个接口创建。,Interface IClientTypeIEmail createEmail();class SeniorClientType implements IClientTypeIEmail createEmail()return new SeniorClientEmail();class RichClientType implements IClientTypeIEmail createEmail()return new RichClientEmail();,Factory模式,同时提取不同的Email类型的一些共同特征,建立接口IEmail,具体的类都通过这个接口创建。,interface IEmailvoid createEmailBody();void createEmailSubject();void send();class SeniorClientType implements IEmailvoid createEmailBody()void createEmailSubject()void send();class RichClientType implements IEmailvoid createEmailBody()void createEmailSubject()void send();,Singleton模式,数据库管理系统DB2和Oracle有连接数目的限制,在默认的情况下,DB2是50用户,Oracle是100用户,如果超过这个数据的话,程序就会出现异常。利用类ConnectionPoolManager来保证连接数不被超过。,Singleton模式,class ConnectionPoolManagerstatic ConnectionPoolManager instance=null;int numberofConnection=0;int maxConnection=50;private ConnectionPoolManager();public static ConnectionPoolManager getConnectionPoolManager()if(instance=null)instance=new ConnectionPoolManager();return instancepublic DBConnection getConnection()if(numberOfConnection maxConnection)return createNewConnection();elsesleep(3000);getConnection();,Faade模式,比如要保存一个帐户的信息,第一步需要得到数据连接对象,第二步需要解析客户信息和帐户信息,第三步根据需要存储的内容生成不同的SQL语句,第四步执行SQL语句。过程比较繁杂。利用Faade模式:将所有的处理流程进行封装,只向外提供一个方法,实现所有的功能。,MVC架构模式,Model-View-Controller架构模式是80年代中期在Smalltalk-80 GUI(一种经典的面向对象程序设计语言)实验室发明的。根据MVC模式,一个软件应该将商务逻辑(Model)和显示(View)分开。分开有许多好处,最主要的有两个方面:1、同一的商务逻辑层(Model)可能会对应多个显示层(View),如果商务逻辑层和显示层放在一起的话,再添加一个显示层的时候就会极大的增加组件的复杂性。一个商务逻辑对着两个显示层的例子是:银行的帐户的商务逻辑层对应ATM和Internet两个显示层。2、通常情况下,每次修改显示层的时候一般并不需要修改商务逻辑层。,MVC架构模式,Model层一般利用Faade模式进行设计,在复杂的商务逻辑上,提供简单并且统一的应用程序接口。这一层负责管理应用程序应用程序的行为和状态,来响应状态的请求和改变状态的指令。View层:从Model层和Controler层获取数据,并按照某种方式显示给用户。Controller层的功能是捕捉用户的一些事件,并根据用户和应用程序的状态来决定响应的类型。Controller层的响应会同时影响到View层和Model层。,MVC中三层的关系,JSP设计模式,JSP设计模式包括两个:(1)Model1,JSP+JavaBean设计模式(2)Model2,MVC设计模式,模式一JSP+JavaBean模式,在这种模式中,JSP页面独自响应请求并将处理结果返回客户,所有的数据库操作通过JavaBean来实现。大量地使用这种模式,常会导致在JSP页面中嵌入大量的Java代码,当需要处理的商业逻辑非常复杂时,这种情况就会变得很糟糕。大量的Java代码使得JSP页面变得非常臃肿。前端的页面设计人员稍有不慎,就有可能破坏关系到商业逻辑的代码。这种情况在大型项目中经常出现,造成了代码开发和维护的困难,同时会导致项目管理的困难。因此这种模式只适用于中小规模的项目。,模式二MVC模式,“MVC”模式即是:“Model-View-Controller”模式。在这种模式中,通过JSP技术来表现页面,通过Servlet技术来完成大量的事务处理工作,实现用户的商业逻辑。在这种模式中,Servlet用来处理请求的事务,充当了控制器(Controller即“C”)的角色,Servlet负责响应客户对业务逻辑的请求并根据用户的请求行为,决定将哪个JSP页面发送给客户。JSP页面处于表现层,也就是视图(View即“V”)的角色。JavaBean则负责数据的处理,也就是模型(Model即“M”)的角色,模式二MVC模式,MVC在JSP中的实现模型,目前有两种实现模型:(1)基于Bean的MVC模型。(2)基于Stucts的MVC模型。,基于Bean的MVC模型,Bean可以利用JavaBean实现,也可以利用EJB来实现,分别构成的系统是:JavaBean(M)+JSP(V)+ServletEJB(M)+JSP(V)+Servlet(C)实现。,MVC模型案例,用户首先请求页面login.html,login.html会要求用户输入用户名和密码。输入的用户名和密码会POST到validate.jsp,validate.jsp使用bean:mypackage.validate,来验证用户名和密码是否正确。如果验证没有通过,则显示error.jsp页面,显示错误信息。如果验证通过,则转到servlet:mypackage.forky。mypackage.forky根据用户名转到不同的页面。如果用户名为teacher,则转到teacher.jsp;否则转到student.jsp文件。,目录结构,基于Struts的MVC模型,Struts是Apache组织的一个项目,像其他的Apache组织的项目一样,它也是开放源码项目。Struts是一个比较好的MVC框架提供了对开发MVC系统的底层支持,它采用的主要技术是Servlet,JSP和custom tag library。,基于Struts的MVC模型,Struts 是一组相互协作的类、Servlet 和 JSP 标记,它们组成一个可重用的MVC设计。这个定义表示Struts是一个框架,而不是一个库,但Struts也包含了丰富的标记库和独立于该框架工作的实用程序类。Struts的基本结构如图所示。,小结,本章介绍组件开发技术。简要介绍组件的基本概念JavaBean的编写以及调用方法JavaBean的属性介绍常用的外部组件:发送Email组件文件上传图形组件。介绍JSP标记库的编写以及使用介绍Java设计模式以及JSP设计模式。,本章习题,6-1 什么是组件?使用组件有什么优点?6-2 编写JavaBean的时候,要注意哪些?6-3 使用Email组件发送Email。(上机完成)6-4 使用上传组件编写照片上传程序。(上机完成)6-5 编写标记库显示系统时间。(上机完成,提示:修改案例6-3实现)6-6 简述常用的面向对象设计模式。(企业笔试题)6-7 简述JSP的设计模式。(企业笔试题)6-8 画出MVC模式中各部分的依赖关系以及实现方法(企业笔试题)6-9 图示基于Struts的MVC模型目录结构。(企业笔试题),

    注意事项

    本文(javabean组件程序设计.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开