第五章使用JavaBean
一、选择题
1.下面哪一项属于工具Bean的用途?()
A)完成一定运算和操作,包含一些特定的或通用的方法,进行计算和事务处理。
B)负责数据的存取
C)接受客户端的请求,将处理结果返回客户端
D)在多台机器上跨几个地址空间运行
2.JavaBean可以通过相关jsp动作指令进行调用。下面哪个不是JavaBean可以使用的jsp 动作指令?()
A)
C)
3.关于JavaBean,下列的叙述哪一项是不正确的?()
A)JavaBean的类必须是具体的和公共的,并且具有无参数的构造器
B)JavaBean的类属性是私有的,要通过公共方法进行访问
C)JavaBean和Servlet一样,使用之前必须在项目的web.xml中注册
D)JavaBean属性和表单控件名称能很好地耦合,得到表单提交的参数4.JavaBean的属性必须声明为private,方法必须声明为()访问类型。
A)private B)static
C)protect D)public
5.JSP页面通过()来识别Bean对象,可以在程序片中通过xx.method形式来调用Bean 中的set和get方法。
A)name B)class
C)id D)classname
6.JavaBean的作用范围可以是page、request、session和()四个作用范围中的一种。
A)application B)local
C)global D)class
7.下列哪个作用范围的bean,请求响应完成则该Bean即被释放,不同客户的Bean互不相同。()
A)application B)request
C)page D)session
8.下列哪个作用范围的Bean,被Web服务目录下所有用户共享,任何客户对Bean属性的修改都会影响到其他用户。()
A)application B)request
C)page D)session
8.下列哪个作用范围的Bean,当客户离开这个页面时,JSP引擎取消为客户该页面分配的Bean,释放他所占的内存空间。()
A)application B)request
C)page D)session
9.使用
A)String B)Double
C)Object D)Classes
10.使用
A)SetXxx方法B)setXxx方法
C)getXxx方法D)GetXxx方法
11.使用格式
A)必须一致B)可以不一致
C)必须不同D)无要求
12.在JSP页面中使用
A)Long.parseLong(String s) B)Integer.parseInt(Stirng s)
C)Double.parseDouble(String s) D)不确定
13.下列那个调用数据类型转换方法会发生NumberFormatException异常?()A)Long.parseLong(“1234”) B)Integer.parseInt(“1234”)
C)Double.parseDouble(“123.45”) D)Integer.parseInt(“123a”)
14.在JSP页面中使用
A)必须和表单参数类型一致B)必须和表单参数名称一一对应
C)必须和表单参数数量一致D)名称不一定对应
15.在JSP页面中使用
A)必须和表单参数类型一致B)必须和表单参数名称一一对应
C)必须和表单参数数量一致D)名称不一定对应
二、判断题
1.JavaBean的属性可读写,编写时set方法和get方法必须配对。()
2.JavaBean也是Java类,因此也必须有主函数。()
3.JavaBean组件就是Java开发中的一个类,通过封装属性和方法成为具有某种功能和接口的类,所以具有Java程序的特点。()
4.Sun公司把JavaBean定义为一个可重复使用的软件组件,类似于电脑CPU、硬盘等组件。
()
5.JavaBean分为可视化组件和非可视化组件。()
6.JavaBean的属性必须声明为private,方法必须声明为public访问类型。()
7.创建JavaBean要经过编写代码、编译源文件、配置JavaBean这样一个过程。()8.在JSP页面中调用的Bean类中如果有构造方法,必须是public类型且必有参数。()9.布置JavaBean须在Web服务目录的WEB-INF\classes子目录下建立与包名对应的子目录,并将字节文件复制到该目录。()
10.Javabean中,对于boolean类型的属性,可以使用is代替方法名称中的set和get前缀,创建Bean必须带有包名。()
11.在JSP页面中使用Bean首先要使用import指令将Bean引入。()
12.修改了Bean的字节码后,要将新的字节码复制到对应的WEB-INF\classes目录中,重新启动tomcat服务器才能生效。()
13.客户在某个页面修改session作用范围Bean的属性,在其他页面,该Bean的属性会发生同样的变化,不同客户之间的Bean也发生变化。()
14.使用
16.表单提交后,
三、填空题
1.在Web服务器端使用JavaBean,将原来页面中程序片完成的功能封装到JavaBean中,这样能很好地实现。
2.JavaBean中用一组set方法设置Bean的私有属性值,get方法获得Bean的私有属性值。
set和get方法名称与属性名称之间必须对应,也就是:如果属性名称为xxx,那么set 和get方法的名称必须为和。
3.用户在实际Web应用开发中,编写Bean除了要使用import语句引入Java的标准类,可能还需要自己编写的其他类。用户自己编写的被Bean引用的类称之
为。
4.创建JavaBean的过程和编写Java类的过程基本相似,可以在任何Java的编程环境下完成。
5.布置JavaBean要在Web服务目录的WEB-INF\classes文件夹中建立与
对应的子目录,用户要注意目录名称的大小写。
6.使用Bean首先要在JSP页面中使用指令将Bean引入。
7.要想在JSP页面中使用Bean,必须首先使用动作标记在页面中定义一个JavaBean的实例。
8.scope属性代表了JavaBean的作用范围,它可以是page、、session和application四个作用范围中的一种。
四、思考题
1.JavaBean和一般意义上的Java类有何区别?
2.简述值Bean的编写方法,有哪些注意点?
3.如何实现一个Bean的属性与表单参数的关联?
4.如何在页面的程序片中使用Bean?
5.试述request、session和application有效范围的Bean生命周期?
“JavaBean技术”单元习题 一、填空题 1.___JAVABEAN________和JSP想结合,可以实现表现层和商业逻辑层的分离。 2.在JSP 中可以使用___________操作来设置Bean 的属性,也可以使用 ___________操作来获取Bean 的值。 3.___________操作可以定义一个具有一定生存范围以及一个唯一id的JavaBean的实例。 4.JavaBean有四个scope,它们分别为___________、___________、___________和___________。 二、判断题 1.
Javabean访问数据库 【摘要】:提出实现与数据库紧密结合的数据类型, 并使用该类型的对象访问和操作数据库。对B/S 模式下利用JSP和JavaBean 技术进行数据库访问开发强大的JSP程序, 使得显示页面和数据库访问和操作相分离的研究。可以提高数据库访问和操作的安全性, 便于调试和维护, 且可重用封装数据库操作的JavaBean, 从而增加代码的重用性和系统的安全性。 【关键词】:javabean 数据库 引言: 在开发web应用程序时,数据库的访问是必不可少的。通过对数据库的访问实现对数据的增、删、改、查等操作。这一系列的操作代码是烦琐且在每次对数据库的操作时都要重复编写的代码。Javabean的任务就是”一次性编写,任何地方执行,任何地方重用“。这就是是实际上解决困扰工业上的日益增加的复杂性问问题,提供一个简单、紧凑的和优秀的问题解决方案。在利用JSP开发时可使用Javabean技术来解决。 Javabean的概述 Javabean是一种Java语言写成的可重用的软件组件。组件是自含的、可重复使用的软件单元;Javabean中的组件,则可以使用可视的应用程序开发,可视编写地将他们编写到Java程序中.Javabean在容器中运行并对外提供具体的业务逻辑操作功能。一般来说,Javabean被分成两类:可视化Javabean和不可视化Javabean。可视化Javabean可以表示简单的GUI组件,不可视化Javabean 在后台完成业务逻辑处理功能,例如:访问数据库执行查询操作中的Javabean,这些javabean在运行时不需要任何可视的界面。在JSP程序中所用的Javabean 一般以不可视化的组件为主,而可视化的 Javabean一般用以Applet程序或者
纯JSP开发方式 JSP+JavaBean开发方式
JavaBean : 支持组件的功能。Java中的组件叫JavaBean。Java(咖啡)Bean(豆)。狭义的JavaBean是具有一个界面形式的体现;广义的JavaBean是普通的Java类。满足两点要求:(1)属性名第一个字母都是小写的,private的;(2)一般具有getters和setters 方法。 原因就是符合面向对象的特性,所以属性是私有的,别人不能访问,从而隐藏细节。Getters是读取属性的值,setters是修改属性的值。如果属性只能读不能改,那么只写getters方法即可。如果属性只能改不能读,那么只写setters方法即可。 一般web中使用的JavaBean不具有图形界面的表现。一般是用来实现某一业务逻辑或者取得特定结果。 【例7.1】封装邮箱地址的JavaBean 【Email.java】 package com.lyq.bean; import java.io.Serializable; public class Email implements Serializable { // serialVersionUID 值 private static final long serialVersionUID = 1L; // Email地址 private String mailAdd; // 是否是一个标准的Email地址
private boolean eamil; /** * 默认无参的构造方法 */ public Email() { } /** * 构造方法 * @param mailAdd Email地址 */ public Email(String mailAdd) { this.mailAdd = mailAdd; } /** * 是否是一个标准的Email地址 * @return布尔值 */ public boolean isEamil() { // 正则表达式,定义邮箱格式 String regex = "\\w+([-+.']\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*"; // matches()方法可判断字符串是否与正则表达式匹配 if (mailAdd.matches(regex)) { // eamil为真 eamil = true; } // 返回eamil return eamil; } public String getMailAdd() { return mailAdd; } public void setMailAdd(String mailAdd) { this.mailAdd = mailAdd; } } 【index.jsp】 <%@page language="java"contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>