资源描述:
《JSP.04JavaBeans》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、JSP开发技术§4JavaBean宋和平songhp@ujs.edu.cn软件工程系江苏大学2概述为什么引入JavaBean如果在JSP页面中声明一个类并创建实例脚本<%%>中声明/使用类似于内部类,不能在当前JSP页面之外使用问题脚本代码只在本页面内有效,没法代码复用JSP页面混乱,UI+业务逻辑怎么解决?JavaBean概述JavaBean,简称BeanJava平台的一种可复用、跨平台的软件组件遵循一定的规范、用Java语音编写的一个类,该类的实例称为JavaBean封装属性和方法来完成某些功能或业务JavaBeanvs.EJBEJB:JavaEE核心技术,创建分布式/服务器端的企业级软
2、件组件JavaBean不属于JavaEE规范容器container不同4概述Bean组件JSP较其他技术最强有力的竞争优势利用Java语言编写的类好比一个封装好的容器,使用者并不知道其内部是如何构造的,但它却具有适应用户要求的功能UI/业务逻辑分离,使JSP页面清晰提高代码的复用性、可维护性、扩展性一次性编写,任何地方执行,任何地方重用5概述一次性编写一个成功的JavaBean组件复用时不需要重新编写,开发者只需要根据需求修改和升级代码即可任何地方执行一个成功的JavaBean组件可以在任何平台上运行,由于JavaBean是基于Java语言编写的,所以它可以轻易移植到各种运行平台上任何地方重
3、用一个成功的JavaBean组件能够被在多种方案中使用,包括应用程序、其他组件、Web应用等6JavaBean种类可视化JavaBeanGUI非可视化JavaBean值JavaBean工具JavaBeanpublicclassUserInfo{privateStringname;privateStringpassword;publicStringgetName(){returnname;}publicvoidsetName(Stringname){this.name=name;}publicStringgetPassword(){returnpassword;}publicvoidsetPa
4、ssword(Stringpassword){this.password=password;}}7JavaBean规范实现java.io.Serializable接口是一个公有类类中必须存在一个无参数的构造函数属性必须声明为private,方法必须声明为public提供对应的setXxx()和getXxx()方法来存取类中的属性,方法中的“Xxx”为属性名称,属性的第一个字母应大写;若属性为布尔类型,则可使用isXxx()方法代替getXxx()方法在JSP中,不必实现java.io.Serializable接口仍然可以运行8JavaBean规范实例publicclassUserInfoim
5、plementsjava.io.Serializable{publicUserInfo(){}privateStringname;privateStringpassword;publicStringgetName(){returnname;}publicvoidsetName(Stringname){this.name=name;}publicStringgetPassword(){returnpassword;}publicvoidsetPassword(Stringpassword){this.password=password;}}继承序列化接口无参数构造函数私有属性公有getXxx方
6、法公有setXxx方法公有类9JavaBean属性简单属性SimplepublicvoidsetXxx(typevalue);publictypegetXxx();索引属性IndexedpublicvoidsetXxx(type[]value);publictype[]getXxx();publicvoidsetXxx(intindex,typevalue);publictypegetXxx(intindex);绑定属性Bound约束属性Constrained10创建JavaBean遵循规范创建一个Java类文本IDE部署JavaBean编译成class文件javacIDE位置Tomcat安
7、装目录ROOTWEB-INFclasses下,所有JSP页面都可访问当前项目的WEB-INFclasses子目录下,只有当前项目可访问使用JavaBean12使用JavaBean脚本程序<%@pageimport="包名.类名"%><%使用Bean%>动作标识例子值JavaBean作为信息的容器,通常用来封装表单数据采用工具JavaBean封装业务逻辑