您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 第5章-JavaBean技术
动态网站设计第5章JavaBean技术2/47第5章JavaBean技术5.1JavaBean概述5.2JavaBean中的属性5.3JavaBean的应用5.4JavaBean的应用实例3/475.1JavaBean概述JavaBean组件:利用Java语言编写的组件。JavaBean实质:Java的类技术。JavaBean功能:实现一个特定的功能,通过合理地组织不同功能的JavaBean,可以快速生成一个全新的应用程序。4/475.1JavaBean概述5.1.1JavaBean的种类5.1.2JavaBean规范5.1.3JavaBean特点5/475.1.1JavaBean的种类JavaBean分为两类:(1)可视化JavaBean:具有GUI图形用户界面的JavaBean;(2)不可视JavaBean:没有GUI图形用户界面的JavaBean,对用户是不可见的,它更多地是被应用到JSP中。6/475.1.1JavaBean的种类不可视JavaBean分为:值JavaBean和工具JavaBean【例】值JavaBean示例值JavaBean:通常用来封装表单数据,作为信息的容器。publicclassUserInfo{privateStringuserName;privateStringuserPass;publicStringgetUserName(){returnuserName;}publicvoidsetUserName(StringuserName){this.userName=userName;}publicStringgetUserPass(){returnuserPass;}publicvoidsetUserPass(StringuserPass){this.userPass=userPass;}}7/475.1.1JavaBean的种类工具JavaBean:通常用于封装业务逻辑,数据操作等,例如连接数据库,对数据库进行增、删、改、查和解决中文乱码等操作。【例】工具JavaBean示例publicclassMyTools{publicstaticStringchange(Stringstr){str=str.replace(,<);str=str.replace(,>);returnstr;}}8/475.1.2JavaBean规范通常一个标准的JavaBean需遵循以下规范:(1)实现java.io.Serializable接口;序列化机制可以弥补网络传输中不同操作系统的差异。(2)是一个公共类;(3)类中必须存在一个无参数的构造函数;(4)提供对应的setXxx()和getXxx()方法来存取类中的属性,方法中的“Xxx”为属性名称,属性的第一个字母应大写。若属性为布尔类型,则可使用isXxx()方法代替getXxx()方法。9/475.1.2JavaBean规范【例】JavaBean规范示例publicclassSimpleJavaBeanimplementsjava.io.Serializable{publicSimpleJavaBean(){}privateStringname;privateStringpassword;publicStringgetName(){returnname;}publicvoidsetName(Stringname){this.name=name;}publicStringgetPassword(){returnPassword;}publicvoidsetPassWord(Stringpassword){this.userPass=password;}}10/475.1.3JavaBean特点1、一次性编写JavaBean组件重用时不需要重新编写,开发者只需要根据需求修改和升级代码即可。2、任何地方执行JavaBean组件可以在任何平台上运行,由于JavaBean是基于Java语言编写的,所以它可以轻易移植到各种运行平台上。3、任何地方重用JavaBean组件能够被在多种方案中使用,包括应用程序、其他组件、Web应用等。11/475.2JavaBean中的属性JavaBean中的属性分为:(1)简单属性(Simple)(2)索引属性(Indexed)(3)绑定属性(Bound)(4)约束属性(Constrained)12/475.2JavaBean中的属性1、简单属性(Simple)对应了setXxx()方法和getXxx()方法的成员变量。publicvoidsetXxx(typevalue);publictypegetXxx();注意:若属性为布尔类型,则可使用isXXX()方法代替getXxx()方法。getXxx()与setXxx()方法:例:publicbooleanisModified()13/475.2JavaBean中的属性Stringname;booleanmarried=false;publicvoidsetName(Stringname){this.name=name;}publicStringgetName(){returnthis.name;}publicvoidsetMarrid(booleanmarrid){this.marrid=marrid;}publicbooleanisMarrid(){returnthis.marrid;}【例】简单属性示例14/475.2JavaBean中的属性2、索引属性(Indexed)需要通过索引访问的属性通常称为索引属性。publicvoidsetXxx(type[]value);publictype[]getXxx();publicvoidsetXxx(intindex,typevalue);publictypegetXxx(intindex);注意:索引属性的getXxx()与setXxx()方法如下:15/475.2JavaBean中的属性【例】索引属性示例privateString[]select={A,B,C,D};publicvoidsetSelect(String[]mySelect){this.select=mySelect;}publicString[]getSelect(){returnthis.select();}publicvoidsetSelect(intindex,Stringsingle){this.select[index]=single;}publicStringgetSelect(intindex){returnthis.select[index];}16/475.3JavaBean的应用5.3.1创建JavaBean5.3.2在JSP页面中应用JavaBean17/475.3.1创建JavaBeanJavaBean实质:遵循JavaBean规范的Java类。JavaBean源代码文件:*.java。使用MyEclipse创建“包”及“JavaBean”:18/475.3.1创建JavaBean使用MyEclipse填写“JavaBean”信息:19/475.3.1创建JavaBean使用MyEclipse自动生成属性的getXxx()与setXxx()方法:20/47在值JavaBean中,JavaBean可以作为信息的容器,通常用来封装表单数据。5.3.2在JSP页面中应用JavaBean1、在JSP页面中应用值JavaBeanJavaBean被编译成Class文件后,Eclipse自动将字节码文件“*.class”放在WEB-INF\classes目录下。21/475.3.2在JSP页面中应用JavaBean【例】使用值JavaBean封装表单“Form”传来的数据。登录页面获取用户信息页面22/475.3.2在JSP页面中应用JavaBean登录页面index.jsp代码%@pagecontentType=text/html;charset=gb2312%formaction=doLogon.jsph2用户登录/h2用户名:inputtype=textname=userNamebr密 码:inputtype=passwordname=userPassbrinputtype=submitvalue=登录inputtype=resetvalue=重置/form23/475.3.2在JSP页面中应用JavaBean(1)使用常规方法获取表单参数:doLogon.jsp代码%@pagecontentType=text/html;charset=gb2312%%Stringname=request.getParameter(userName);if(name==null)name=;Stringpassword=request.getParameter(userPass);if(password==null)password=;%centerb用户名:/b%=name%b密码:/b%=password%/center24/475.3.2在JSP页面中应用JavaBean(2)使用值JavaBean获取表单参数:User.java代码packagecom.yxq.bean;publicclassUser{privateStringuserName;privateStringuserPass;publicStringgetUserName(){returnuserName;}publicvoidsetUserName(StringuserName){this.userName=userName;}publicStringgetUserPass(){returnuserPass;}publicvoidsetUserPass(StringuserPass){this.userPass=userPass;}}25/475.3.2在JSP页面中应用JavaBean(2)使用值JavaBean获取表单参数:doLogon.jsp代码%@pagecontentType=text/html;charset=gb2312%jsp:useBeanid=userclass=com.yxq.bean.Userjsp:setPropertyname=userproperty=*//jsp:useBeancenterb用户名:/bjsp:getPropertyname=userproperty=userName/b密码:/bjsp:getPropertyname=userproperty=userPass//center26/47【例】使用工具JavaBean处理特殊字符“”和“”。5.3.2在JSP页面中应用JavaBean2、在JSP页面中应用工具JavaBean(1)“”和“”字符是HTML标记的开始和结束标识,是特殊的字符。(2)如果用户向Web服务器提交以上特殊字符,服务器不做特殊处理,会造成一些意外问题。27/475.3.2在JSP页面中应用JavaBean例如,对于以下的JSP页面。28/475.3.2在JSP页面中应用JavaBean注意:未将提交内容中的“”和“”等HTML中特殊字符进行转换,JSP按原字符处理,浏览器仍然按HTML代码识别。输入inputtype=“text”,提交到输出到页面后,会显示一个文本框,如下图所示;29/475.3.2在JSP页面中应用JavaBean注意:利用JSP将“”转换为“<”,将“”转换为“>”,浏览器在遇到“<”和“>”时,不再将其识别为HTML标记特殊字符,如下图所示(代码请见下页)。30/475.3.2在JSP页面中应用JavaBean使用JavaBean处理特殊字符
本文标题:第5章-JavaBean技术
链接地址:https://www.777doc.com/doc-6269582 .html