《JavaBean组件技术.ppt》由会员分享,可在线阅读,更多相关《JavaBean组件技术.ppt(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、无限挑战 无限飞翔JSP网站设计教学做一体化教程清华大学出版社-1-JavaBeanJavaBean组件的特点:组件的特点:p可重用可重用p升级方便升级方便p不依赖于平台不依赖于平台非可视化的非可视化的JavaBeanJavaBean又可分为:又可分为:p业务业务Bean:用于封装业务逻辑、数据库操作等;:用于封装业务逻辑、数据库操作等;p数据数据Bean:用来封装数据。:用来封装数据。JavaBeanJavaBean实际上就是一种满足特定要求的实际上就是一种满足特定要求的JavaJava类:类:p是一个公有类,含有公有的无参构造方法;是一个公有类,含有公有的无参构造方法;p属性私有;属性私有
2、;p属性具有公有的属性具有公有的get和和set方法。方法。示例:示例:4.D.2 UserBean.java4.D.2 UserBean.java在软件开发过程中,经常使用在软件开发过程中,经常使用“组件组件”的概念,所谓组件就的概念,所谓组件就是可重用的一个软件模块。是可重用的一个软件模块。JavaBeanJavaBean也是一种组件技术也是一种组件技术无限挑战 无限飞翔JSP网站设计教学做一体化教程清华大学出版社-2-1-1 puseBean标准动作用来查找或者实例化一个标准动作用来查找或者实例化一个JavaBean。pid指定该指定该JavaBean实例的变量名,通过实例的变量名,通过
3、id可以访问这个实例。可以访问这个实例。pclass指定指定JavaBean的类名。如果需要创建一个新的实例,容器会使用的类名。如果需要创建一个新的实例,容器会使用class指定的类并调用无参构造方法来完成实例化。指定的类并调用无参构造方法来完成实例化。pscope指定指定JavaBean的作用范围,可以使用四个值:的作用范围,可以使用四个值:page、request、session和和application。缺省值为。缺省值为page,表明此,表明此JavaBean只能应用于当前页;值为只能应用于当前页;值为request表明此表明此JavaBean只能应用于当前的请求;值为只能应用于当前的
4、请求;值为session表明此表明此JavaBean能应用于当前会话;值为能应用于当前会话;值为application则表明此则表明此JavaBean能应用于能应用于整个应用程序内。整个应用程序内。ptype指定指定JavaBean对象的类型,通常在查找已存在的对象的类型,通常在查找已存在的JavaBean时使用,这时使用,这时使用时使用type将不会产生新的对象。将不会产生新的对象。或如果是查找已存在的如果是查找已存在的JavaBean对象,对象,type属性的值可以是此对象的准确类名、其父属性的值可以是此对象的准确类名、其父类或者其实现的接口;如果是新建实例,类或者其实现的接口;如果是新建
5、实例,则只能是准确类名或者父类。另外,如果则只能是准确类名或者父类。另外,如果能够确定此能够确定此JavaBean的对象肯定存在,则的对象肯定存在,则指定指定type属性后可以省略属性后可以省略class属性属性 无限挑战 无限飞翔JSP网站设计教学做一体化教程清华大学出版社-3-2-2示例代码示例代码p上述标准动作与下面的代码等价:上述标准动作与下面的代码等价:com.haiersoft.ch04.model.UserBean user=(com.haiersoft.ch04.model.UserBean)request.getAttribute(user);if(user=null)use
6、r=new com.haiersoft.ch04.model.UserBean();request.setAttribute(user,user);在当前页面定义一个在当前页面定义一个class所指定类型的变量所指定类型的变量user,如果在,如果在scope指定的指定的request范围内存在范围内存在name为为user的对象,则将其赋值给变量的对象,则将其赋值给变量user;如果不存在,就创建一个如果不存在,就创建一个class所指定类型的对所指定类型的对象,并将其赋值给变量象,并将其赋值给变量user,并在,并在scope指定的指定的request范围内保存一个范围内保存一个name为
7、为user的对象的对象 无限挑战 无限飞翔JSP网站设计教学做一体化教程清华大学出版社-4-psetProperty标准动作用于设置标准动作用于设置JavaBean中的属性值。中的属性值。pname指定指定JavaBean对象名,与对象名,与useBean标准动作中的标准动作中的id相对应;相对应;pproperty指定指定JavaBean中需要赋值的属性名;中需要赋值的属性名;pvalue指定要为属性设置的值;指定要为属性设置的值;pparam指定请求中的参数名(该参数可以来自表单、指定请求中的参数名(该参数可以来自表单、URL传参数等)传参数等),并将该参数的值赋给,并将该参数的值赋给pr
8、operty所指定的属性。所指定的属性。示例代码如下:示例代码如下:或param属性不能属性不能与与value属性一起属性一起使用使用 无限挑战 无限飞翔JSP网站设计教学做一体化教程清华大学出版社-5-pgetProperty标准动作用于访问一个标准动作用于访问一个bean的属性并将其输出。访问所的属性并将其输出。访问所得到的值将转换成得到的值将转换成String类型。类型。pname指定指定JavaBean对象名,与对象名,与useBean标准动作中的标准动作中的id相对应;相对应;pproperty指定指定JavaBean中需要访问的属性名。中需要访问的属性名。示例代码示例代码示例:示例
9、:4.D.3 login.jsp4.D.3 login.jsp和和showbean.jspshowbean.jsp上面语句取出上面语句取出user对象中对象中的的name属性值,并显示在属性值,并显示在页面中页面中 无限挑战 无限飞翔JSP网站设计教学做一体化教程清华大学出版社第第5 5章章 JavaBeanJavaBean组件技术组件技术主要内容主要内容 编写和使用编写和使用JavaBeanJavaBean 获取和修改获取和修改beanbean的属性的属性无限挑战 无限飞翔JSP网站设计教学做一体化教程清华大学出版社5.1 5.1 编写编写JavaBeanJavaBean5.1.1 5.1.
10、1 核心知识核心知识JavaBeanJavaBean是一个可重复使用的软件组件,是遵循一定是一个可重复使用的软件组件,是遵循一定标准、标准、用用JavaJava语言编写的一个类语言编写的一个类,该类的一个实例称为一,该类的一个实例称为一个个JavaBeanJavaBean,简称简称beanbean。5.1.2 5.1.2 能力目标能力目标 能够灵活使用能够灵活使用JavaBeanJavaBean的编写规则编写创建的编写规则编写创建beanbean的的JavaJava源文件。源文件。无限挑战 无限飞翔JSP网站设计教学做一体化教程清华大学出版社5.1 5.1 编写编写JavaBeanJavaBe
11、an5.1.3 5.1.3 任务驱动任务驱动1.1.任务的主要内容任务的主要内容创建创建beanbean的源文件的源文件Rectangle.javaRectangle.java(在包(在包small.dogsmall.dog中),该中),该beanbean的作用是计算矩形的面积和周长。的作用是计算矩形的面积和周长。2.2.任务的代码模板任务的代码模板Rectangle.javaRectangle.java3.3.任务小结或知识扩展任务小结或知识扩展JavaBeanJavaBean可以在任何可以在任何JavaJava程序编写环境下完成编写,再通过编译成为一程序编写环境下完成编写,再通过编译成为一
12、个字节码文件(个字节码文件(.class.class文件),为了让文件),为了让JSPJSP引擎(比如引擎(比如TomcatTomcat)找到这个字节)找到这个字节码,必须把码,必须把字节码文件放在特定的位置字节码文件放在特定的位置。4.4.代码模板的参考答案代码模板的参考答案无限挑战 无限飞翔JSP网站设计教学做一体化教程清华大学出版社5.1 5.1 编写编写JavaBeanJavaBean5.1.4 5.1.4 实践环节实践环节 创建创建beanbean的源文件的源文件Circle.javaCircle.java(在包(在包big.dogbig.dog中),中),该该beanbean的作用
13、是计算圆形的面积和周长。的作用是计算圆形的面积和周长。无限挑战 无限飞翔JSP网站设计教学做一体化教程清华大学出版社5.2 JSP5.2 JSP页面中创建与使用页面中创建与使用beanbean5.2.1 5.2.1 核心知识核心知识在在JSPJSP页面中使用页面中使用beanbean,首先必须使用,首先必须使用pagepage指令的指令的importimport属性导入创建属性导入创建beanbean的类所在的包,然后使用的类所在的包,然后使用JSPJSP动动作标记作标记useBeanuseBean,来创建与使用,来创建与使用beanbean。useBeanuseBean标记的格式标记的格式为
14、:为:jsp:useBean id=bean/或或 jsp:useBean id=bean 无限挑战 无限飞翔JSP网站设计教学做一体化教程清华大学出版社5.2 JSP5.2 JSP页面中创建与使用页面中创建与使用beanbean5.2.2 5.2.2 能力目标能力目标在在JSPJSP页面中能够灵活使用动作标记页面中能够灵活使用动作标记useBeanuseBean。5.2.3 5.2.3 任务驱动任务驱动1.1.任务的主要内容任务的主要内容编写一个编写一个JSPJSP页面页面example4_1.jspexample4_1.jsp,在,在JSPJSP页面中使用页面中使用useBeanuseBe
15、an标记获得标记获得一个一个beanbean,负责创建,负责创建beanbean的类是的类是4.14.1任务中的任务中的RectangleRectangle类,创建类,创建beanbean的名字的名字是是rectanglerectangle,rectanglerectangle的的scopescope取值为取值为pagepage。JSPJSP页面的运行效果如图页面的运行效果如图4.24.2所所示。示。无限挑战 无限飞翔JSP网站设计教学做一体化教程清华大学出版社5.2 JSP5.2 JSP页面中创建与使用页面中创建与使用beanbean2.2.任务的代码模板任务的代码模板example4_1.
16、jspexample4_1.jsp3.3.任务小结或知识扩展任务小结或知识扩展useBeanuseBean标记中标记中scopescope的默认值是的默认值是pagepage,除,除pagepage之外,之外,scopescope的取值还有的取值还有requestrequest、sessionsession与与applicationapplication。4.4.任务代码模板的参考答案任务代码模板的参考答案无限挑战 无限飞翔JSP网站设计教学做一体化教程清华大学出版社5.2 JSP5.2 JSP页面中创建与使用页面中创建与使用beanbean5.2.4 5.2.4 实践环节实践环节编写一个编写
17、一个JSPJSP页面页面computerCircle.jspcomputerCircle.jsp,在,在JSPJSP页面中页面中使用使用useBeanuseBean标记获得一个标记获得一个beanbean,负责创建,负责创建beanbean的类是的类是5.15.1实践环节中的实践环节中的CircleCircle类,创建类,创建beanbean的名字为的名字为circlecircle,circlecircle的的scopescope取值为取值为requestrequest。JSPJSP页面的运行效果如图页面的运行效果如图4.34.3所示。所示。无限挑战 无限飞翔JSP网站设计教学做一体化教程清华
18、大学出版社5.3 5.3 获取获取beanbean的属性的属性5.3.1 5.3.1 核心知识核心知识使用使用getPropertygetProperty动作标记可以获得动作标记可以获得beanbean的属性值。的属性值。使用该动作标记之前,必须事先使用使用该动作标记之前,必须事先使用useBeanuseBean动作标记获动作标记获得一个相应的得一个相应的beanbean。getPropertygetProperty动作标记语法格式如下:动作标记语法格式如下:jsp:getProperty name=bean /或或 jsp:getProperty name=bean/无限挑战 无限飞翔JSP
19、网站设计教学做一体化教程清华大学出版社5.3 5.3 获取获取beanbean的属性的属性5.3.2 5.3.2 能力目标能力目标能够灵活使用能够灵活使用getPropertygetProperty动作标记获得动作标记获得beanbean的属性。的属性。5.3.3 5.3.3 任务驱动任务驱动1.1.任务的主要内容任务的主要内容创建创建beanbean的源文件的源文件NewRectangle.javaNewRectangle.java(在包(在包small.dogsmall.dog中),该中),该beanbean的的作用是计算矩形的面积和周长。作用是计算矩形的面积和周长。编写一个编写一个JSP
20、JSP页面页面useGetProperty.jspuseGetProperty.jsp,在该,在该JSPJSP页面中使用页面中使用useBeanuseBean标标记创建一个名字是记创建一个名字是pigpig的的beanbean,并使用,并使用getPropertygetProperty动作标记获得动作标记获得pigpig的每个属的每个属性的值。负责创建性的值。负责创建pigpig的类是的类是NewRectangleNewRectangle类。类。JSPJSP页面运行效果如图页面运行效果如图4.44.4所示。所示。2.2.任务的代码模板任务的代码模板NewRectangle.javaNewRec
21、tangle.javauseGetProperty.jspuseGetProperty.jsp无限挑战 无限飞翔JSP网站设计教学做一体化教程清华大学出版社5.3 5.3 获取获取beanbean的属性的属性3.3.任务小结或知识扩展任务小结或知识扩展在在JSPJSP页面中使用页面中使用getPropertygetProperty动作标记获得动作标记获得beanbean的属的属性时,必须保证性时,必须保证beanbean中有相应的中有相应的getXxxgetXxx方法,即创建方法,即创建beanbean的类中定义的类中定义getXxxgetXxx方法。方法。从从useGetProperty.j
22、spuseGetProperty.jsp页面可以看出,使用页面可以看出,使用getPropertygetProperty动作标记获得动作标记获得beanbean的属性值,减少了的属性值,减少了JavaJava程程序片的使用。序片的使用。4.4.任务代码模板的参考答案任务代码模板的参考答案无限挑战 无限飞翔JSP网站设计教学做一体化教程清华大学出版社5.3 5.3 获取获取beanbean的属性的属性5.3.4 5.3.4 实践环节实践环节创建创建beanbean的源文件的源文件Ladder.javaLadder.java(在包(在包big.dogbig.dog中),中),该该beanbean的
23、作用是计算梯形的面积。的作用是计算梯形的面积。编写一个编写一个JSPJSP页面页面ladderProperty.jspladderProperty.jsp,在该,在该JSPJSP页面页面中使用中使用useBeanuseBean标记创建一个名字是标记创建一个名字是ladlad的的beanbean,并使用,并使用getPropertygetProperty动作标记获得动作标记获得ladlad的每个属性的值。负责创建的每个属性的值。负责创建ladlad的类是的类是LadderLadder类。类。JSPJSP页面运行效果如图页面运行效果如图4.54.5所示。所示。无限挑战 无限飞翔JSP网站设计教学做
24、一体化教程清华大学出版社5.4 5.4 修改修改beanbean的属性的属性5.4.1 5.4.1 核心知识核心知识1 1用表达式或字符串设置用表达式或字符串设置beanbean的属性的属性2 2通过通过HTTPHTTP表单的参数的值设置表单的参数的值设置beanbean的属性的属性3 3任意指定请求参数设置任意指定请求参数设置beanbean的属性的属性5.4.2 5.4.2 能力目标能力目标能够灵活使用能够灵活使用setPropertysetProperty动作标记修改动作标记修改beanbean的属性。的属性。5.4.3 5.4.3 任务驱动任务驱动1 1任务任务1-1-用表达式或字符串
25、修改用表达式或字符串修改beanbean的属性的属性2.2.任务任务2-2-通过通过HTTPHTTP表单的参数的值设置表单的参数的值设置beanbean的属性的属性无限挑战 无限飞翔JSP网站设计教学做一体化教程清华大学出版社5.4 5.4 修改修改beanbean的属性的属性1.1.任务任务2 2的主要内容的主要内容编写两个编写两个JSPJSP页面:页面:inputCar.jspinputCar.jsp和和showCar.jspshowCar.jsp。在。在inputCar.jspinputCar.jsp页面页面中输入信息后提交给中输入信息后提交给showCar.jspshowCar.jsp
26、页面显示信息。页面中用到的页面显示信息。页面中用到的beanbean是使用任是使用任务务1 1中中CarCar类创建的。页面运行效果如图类创建的。页面运行效果如图4.74.7(a a)与)与4.74.7(b b)所示。)所示。2.2.任务任务2 2的代码模板的代码模板inputCar.jspinputCar.jspshowCar.jspshowCar.jsp无限挑战 无限飞翔JSP网站设计教学做一体化教程清华大学出版社5.4 5.4 修改修改beanbean的属性的属性3.3.任务任务2 2小结或知识扩展小结或知识扩展通过通过HTTPHTTP表单的参数的值设置表单的参数的值设置beanbean
27、的属性时,表单的的属性时,表单的参数的名字必须与参数的名字必须与beanbean属性的名字相同,服务器会根据名属性的名字相同,服务器会根据名字自动匹配,类型自动转换。字自动匹配,类型自动转换。4.4.任务任务2 2代码模板的参考答案代码模板的参考答案4.4.4 4.4.4 实践环节实践环节编写两个编写两个JSPJSP页面:页面:inputNumber.jspinputNumber.jsp与与showResult.jspshowResult.jsp。inputNumber.jspinputNumber.jsp提供一个表单,用户可以通过表单输入两个数和四提供一个表单,用户可以通过表单输入两个数和四
28、则运算符号提交给则运算符号提交给showResult.jspshowResult.jsp。用户提交表单后,。用户提交表单后,JSPJSP页面将计页面将计算任务交给一个算任务交给一个beanbean去完成,创建去完成,创建beanbean的源文件的源文件Computer.javaComputer.java(在(在包包big.dogbig.dog中)。中)。无限挑战 无限飞翔JSP网站设计教学做一体化教程清华大学出版社5.5 JSP5.5 JSP与与beanbean结合的简单例子结合的简单例子4.5.1 4.5.1 核心知识核心知识我们通过前面的学习,已经知道在我们通过前面的学习,已经知道在JSP
29、JSP页面中使用页面中使用JavaBeanJavaBean可以将数据的处理代码从页面中分离出来,提高可以将数据的处理代码从页面中分离出来,提高了代码的复用程度,方便了代码的维护。了代码的复用程度,方便了代码的维护。4.5.2 4.5.2 能力目标能力目标熟练掌握熟练掌握JavaBeanJavaBean的应用。的应用。无限挑战 无限飞翔JSP网站设计教学做一体化教程清华大学出版社5.5 JSP5.5 JSP与与beanbean结合的简单例子结合的简单例子4.5.3 4.5.3 任务驱动任务驱动1.1.任务的主要内容任务的主要内容编写两个编写两个JSPJSP页面:页面:login.jsplogin
30、.jsp与与invalidate.jspinvalidate.jsp。login.jsplogin.jsp页页面提供一个表单,用户通过表单将用户名和密码(正确的用户名和密面提供一个表单,用户通过表单将用户名和密码(正确的用户名和密码分别是码分别是ObamaObama和和QaddafiQaddafi)提交给)提交给invalidate.jspinvalidate.jsp页面。用户提交表页面。用户提交表单后,单后,JSPJSP页面将登陆验证的任务提交给一个页面将登陆验证的任务提交给一个beanbean去完成。页面运行去完成。页面运行效果如图效果如图4.94.9(a a)与)与4.94.9(b b)
31、所示。)所示。无限挑战 无限飞翔JSP网站设计教学做一体化教程清华大学出版社5.5 JSP5.5 JSP与与beanbean结合的简单例子结合的简单例子2.2.任务的代码模板任务的代码模板LoginBean.javaLoginBean.javalogin.jsplogin.jspinvalidate.jspinvalidate.jsp3.3.任务小结或知识扩展任务小结或知识扩展如果如果beanbean的属性为的属性为booleanboolean类型,可以使用类型,可以使用isXxxisXxx代替代替getXxxgetXxx方法,如本节任务中的方法,如本节任务中的LoginBeanLoginBean的的loginlogin。4.4.任务代码模板的参考答案任务代码模板的参考答案4.5.4 4.5.4 实践环节实践环节