文档详情

JSP应用开发教程 教学课件 作者 温超 第8章 Javabean编程.ppt

发布:2017-08-18约6.97千字共39页下载文档
文本预览下载声明
第8章 JAVABEAN编程 目标要求 了解与认识Java bean并完成Java bean的创建 熟悉并掌握Java Bean和Jsp结合编程 8.1 认识Javabean 8.2 Javabean和Jsp结合编程 8.3 Javabean实例 8.1.1 什么是JavaBean JavaBean组件是一些可移植、可重用的并可以组装到Web应用程序中的Java类。在传统的JSP页面中,通常使用脚本的形式包含处理逻辑和数据访问逻辑,但如果大量复杂的业务逻辑都采用这样方式进行实现,那么大量的复杂脚本会使JSP页面变得非常庞大、混乱并且难以维护;同时,JSP中大量负责表示逻辑的代码也难以和处理逻辑和数据访问的代码区分开,造成Web应用程序的代码非常难以阅读 8.1.2 JavaBean创建 JavaBean组件类型的声明和Java类的声明方式完全相同,但是JavaBean组件类相对于普通Java类型,有三条必须遵守的规范: (1)对于数据类型为“DataType”的每个可读属性,JavaBean必须包含有下面签名的一个方法:public DataType getProperty() {}; (2)对于数据类型“DataType”的每个可写属性,JavaBean必须包含有下面签名的一个方法:public setProperty(DataType prop) {}; (3)定义一个不带任何参数的构造函数。 下面的例子介绍一个简单JavaBean的创建方法。首先,打开NetBeans开发环境,点击“文件”菜单中的“新建项目”,在弹出的“新建项目”对话框中选择“Java Web”中的“Web应用程序”,点击“下一步”,在项目名称中输入“HelloJavaBean”,如图8-1所示。点击“下一步”,设置服务器为“Apache Tomcat 6.0.26”,Java EE版本为“Java EE 5” ,如图8-2所示,点击“下一步”,在接下来的窗口中不选中任何框架,点击“完成”,完成项目创建。 图8-1 创建HelloJavaBean项目 接下来,在“HelloJavaBean”项目中创建名为“Employee”的JavaBean。在“项目”列表中右键单击“HelloJavaBean”,在上下文菜单中选择“新建”/“Java类”,会弹出“新建Java类”对话框,在“类名”文本框中输入“Employee”,在“包”文本框中输入“com.JavaBean”,单击“完成”按钮,完成“Employee”类的创建。 然后,为“Employee”类添加成员变量,需要添加的成员变量如表8-1所示,为了保证成员变量数据的完整性和安全性,所有的成员变量都使用“private”访问权限修饰。 8.2 JavaBean和 JSP结合编程 在JSP页面中使用JavaBean需要三个标记的支持:jsp:useBean、jsp:setProperty和jsp:getProperty。 1. jsp:useBean jsp:useBean声明一个具有一定生命周期及一个唯一id的JavaBean的组件,JSP页面 通过id来识别JavaBean,并可通过id.method类似的语句来操作JavaBean 例如,下面的标记在应用程序作用域中声明了类型Employee、id为w1的bean 其中,id属性是每一次应用JavaBean必须的强制性属性,用来唯一地标志一个JavaBean组件。class属性用来标识JavaBean的类型,如果指定id的JavaBean组件不存在,则将使用class属性指定的类创建一个新的JavaBean组件。scope属性规定bean的作用域,它可用的值包括application、session、request或page,默认值是page。关于scope属性后面详细介绍。 2. jsp:setProperty jsp:setProperty用来设定一个已创建的bean组件的属性值,用法如下 jsp:setPropertyy value=prvalue=propertyValue name=beanId property=propertyName value=其中,name属性指定要设置属性值的JavaBean组件的id值,property属性指定要设定属性值的属性名,value属性为设定的属性值,这个值可以是字符串,也可以是表达式。如果是字符串,那么它会被转换成Bean属性的类型;如果是一个表达式,那么它的类型就必须和将要设定的属性值的类型一致。例如,利用setProperty设定Employee组件w1的ssn属性,代码如下 jsp:setProperty jsp:setProperty name=
显示全部
相似文档