二、判断题
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.使用动作标记,可以使用表达式或字符串为Bean的属性赋值。(对) 15.使用格式动作指令才会执行。(对)
三、填空题
1.在Web服务器端使用JavaBean,将原来页面中程序片完成的功能封装到JavaBean中,这样能很好地实现 业务逻辑层与视图层的分离。 2.JavaBean中用一组set方法设置Bean的私有属性值,get方法获得Bean的私有属性值。set和get方法名称与属性名称之间必须对应,也就是:如果属性名称为xxx,那么set和get方法的名称必须为 setXxx() 和 getXxx() 。
3.用户在实际Web应用开发中,编写Bean除了要使用import语句引入Java的标准类,可能还需要自己编写的其他类。用户自己编写的被Bean引用的类称之为 Bean的辅助类 。 4.创建JavaBean的过程和编写Java类的过程基本相似,可以在任何Java的编程环境下完成 编写、编译和发布 。
5.布置JavaBean要在Web服务目录的WEB-INF\\classes文件夹中建立与 Bean的包名 对应的子目录,用户要注意目录名称的大小写。
6.使用Bean首先要在JSP页面中使用 import 指令将Bean引入。
7.要想在JSP页面中使用Bean,必须首先使用 动作标记在页面中定义一个JavaBean的实例。
8.scope属性代表了JavaBean的作用范围,它可以是page、 request 、session和application四个作用范围中的一种。
四、思考题
1.JavaBean和一般意义上的Java类有何区别? 2.如何实现一个Bean的属性与表单参数的关联? 3.如何在页面的程序片中使用Bean?
4.试述request、session和application有效范围的Bean生命周期?
作业八 数据库访问
一、选择题
1.下面哪一项不是JDBC的工作任务?(C)
A)与数据库建立连接 B)操作数据库,处理数据库返回的结果 C)在网页中生成表格 D)向数据库管理系统发送SQL语句 2.下面哪一项不是加载驱动程序的方法?(A) A)通过DriverManager.getConnection方法加载 B)调用方法 Class.forName
C)通过添加系统的jdbc.drivers属性 D)通过registerDriver方法注册
3.关于分页显示,下列的叙述哪一项是不正确的?(A) A)只编制一个页面是不可能实现分页显示的 B)采用一至三个页面都可以实现分页显示
C)分页显示中,记录集不必在页面跳转后重新生成 D)分页显示中页面显示的记录数可以随用户输入调整
4.在建立JSP网站目录时需要遵循一些规则,以下规则错误的是:(B) A)每个主要栏目开设一个相应的子目录
B)所有flash, avi, ram, quicktime 等多媒体文件存放在根目录下 C)根目录一般只存放index.htm以及其他必须的系统文件 D)目录建立应以最少的层次提供最清晰简便的访问结构
5.如果将E:\\MyWeb作为JSP网站目录,需要修改哪个文档?(A)
A)server.xml B)server.htm C)index.xml D)index.htm 6.DriverManager类的getConnection(String url,String user,String password)方法中,参数url的格式为jdbc:<子协议>:<子名称>,下列哪个url是不正确的?(A) A)”jdbc:mysql://localhost:80/数据库名” B)”jdbc:odbc:数据源”
C)”jdbc:oracle:thin@host:端口号:数据库名”
D)”jdbc:sqlserver://172.0.0.1:1443;DatabaseName=数据库名” 7.在JDBC中,下列哪个接口不能被Connection创建(D)。 A)Statement B)PreparedStatement C)CallableStatement D)RowsetStatement 8.下面是加载JDBC数据库驱动的代码片段: try{
Class.forName(\ }
catch(ClassNotFoundException e){ out.print(e); }
该程序加载的是哪个驱动?()
A)JDBC-ODBC桥连接驱动 B)部分Java编写本地驱动 C)本地协议纯Java驱动 D)网络纯Java驱动
9.下面是创建Statement接口并执行executeUpdate方法的代码片段: conn=DriverManager.getConnection(\ stmt=conn.createStatement();
String strsql=\’TP003’, ’ASP.NET’,’李’,’清华出版社’,35)\
n=stmt.executeUpdate(strsql);
代码执行成功后n的值为 (A)。
A)1 B)0 C)-1 D)一个整数
10.下列代码中rs为查询得到的结果集,代码运行后表格的每一行有几个单元格(B ) while(rs.next()){
out.print(\
out.print(\ out.print(\ out.print(\
out.print(\ out.print(\ out.print(\ }
A)4 B)5 C)6 D)不确定 11.下面哪个命令组合能够启动mysql数据库服务( A )
A) B) C)6 D) mysqld-nt e: use book start cd mysql cd bin Mysql -u root
12.下面哪个命令组合能够打开mysql数据库监视窗口( B )
A) B) C)6 D) mysqld-nt e: use book start cd mysql cd bin Mysql -u root
13.下面的代码是连接哪个数据库的驱动加载片段( A ) try{
Class.forName(\ }
catch(Exception e){
out.print(e.toString()); }
A)Oracle B)Sql Server C)MySql D)不确定
14.下面的代码是连接哪个数据库的驱动加载片段( B ) try{
Class.forName(\ }
catch(Exception e){
out.print(e.toString()); }
A)Oracle B)Sql Server C)MySql D)不确定
15.查询结果集ResultSet对象是以统一的行列形式组织数据的,执行ResultSet
rs =stmt.executeQuery (\bid,name,author,publish,price from book\语句,得到的结果集rs的列数为( B ) A)4 B)5
C)6 D)不确定 16.下列代码生成了一个结果集
conn=DriverManager.getConnection(uri,user,password);
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
rs=stmt.executeQuery(\下面哪项对该rs描述正确的是(B)
A)只能向下移动的结果集 B)可上下滚动的结果集 C)只能向上移动的结果集 D)不确定是否可以滚动 17.下列代码生成了一个结果集
conn=DriverManager.getConnection(uri,user,password);
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
rs=stmt.executeQuery(\下面哪项对该rs描述正确( A )
A)不能用结果集中的数据更新数据库中的表 B)能用结果集中的数据更新数据库中的表 C)执行update方法能更新数据库中的表 D)不确定
18.下列代码生成了一个结果集
conn=DriverManager.getConnection(uri,user,password);
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
rs=stmt.executeQuery(\下面哪项对该rs描述正确( B )
A)数据库中表数据变化时结果集中数据不变 B)数据库中表数据变化时结果集中数据同步更新 C)执行update方法能与数据库中表的数据同步更新 D)不确定
19.下列代码生成了一个结果集
conn=DriverManager.getConnection(uri,user,password);
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
rs=stmt.executeQuery(\rs.first();
下面哪项对该rs描述正确(A) A)rs.isFirst()为真 B)rs.ifLast()为真
C)rs.isAfterLast()为真 D)rs.isBeforeFirst()为真 21.下列代码生成了一个结果集
conn=DriverManager.getConnection(uri,user,password);
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
rs=stmt.executeQuery(\rs.first();rs. previous();
下面哪项对该rs描述正确(D) A)rs.isFirst()为真 B)rs.ifLast()为真
C)rs.isAfterLast()为真 D)rs.isBeforeFirst()为真 21.下列代码生成了一个结果集
conn=DriverManager.getConnection(uri,user,password);
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
rs=stmt.executeQuery(\rs.last();rs.next();
下面哪项对该rs描述正确(C) A)rs.isFirst()为真 B)rs.ifLast()为真
C)rs.isAfterLast()为真 D)rs.isBeforeFirst()为真
22.给出了如下的查询条件字符串String condition=\下列哪个接口适合执行该SQL查询(B) A)Statement
B)PrepareStatement C)CallableStatement D)不确定
二、判断题
1.JDBC构建在ODBC基础上,为数据库应用开发人员、数据库前台工具开发人员提供了一种标准,使开发人员可以用任何语言编写完整的数据库应用程序。(错) 2.数据库服务与Web服务器需要在同一台计算机上。(错)
3.JDBC加载不同数据库的驱动程序,使用相应的参数可以建立与各种数据库的连接。(对) 4.Connection.createStatement()不带参数创建Statement对象,不能够来回的滚动读取结果集。(对)
5.使用数据库连接池需要烦琐的配置,一般不宜使用。(错)
6.应用程序分页显示记录集时,不宜在每页都重新连接和打开数据库。(对 )
7.JDBC中的URL提供了一种标识数据库的方法,使DriverManage类能够识别相应的驱动程序。(对)
8.用户发布Web应用程序,必须修改%TOMCAT_HOME%\\conf\\server.xml文件。(对) 9.进行分页,可调用JDBC的规范中有关分页的接口。(错)
10.JDBC的URL字符串是由驱动程序的编写者提供的,并非由该驱动程序的使用者指定。(对)
11.ResultSet结果集,每一次rs可以看到一行,要在看到下一行,必须使用next()方法移动当前行。(错) 12.如果需要在结果集中前后移动或随机显示某一条记录,这时就必须得到一个可以滚动的结果集。(对)
13.Statement对象提供了int executeUpdate(String sqlStatement)方法,用于实现对数据库中数据的添加、删除和更新操作。(对)
14.Statement对象的executeUpdate(String sqlStatement)方法中,sqlStatement参数是由insert、delete和update等关键字构成的Sql语句,函数返回值为查询所影响的行数,失败返回-1。(错)
15.使用CachedRowSetImpl对象可以节省数据库连接资源,因为这个对象可以保存
ResultSet对象中的数据,它不依赖与Connection对象,并且继承了ResultSet的所有方法。(对)
三、填空题
1.JDBC的英文全称是_Java Data Base Connectivity__,中文意义是___Java数据库连接__。
2.简单地说,JDBC能够完成下列三件事:与一个数据库建立连接(connection)、向数据库发送SQL语句(statement) 、 处理数据库返回的结果(resultset) 。 3.JDBC主要由两部分组成:一部分是访问数据库的高层接口,即通常所说的 JDBC API ;另一部分是由数据库厂商提供的使Java程序能够与数据库连接通信的驱动程序,即 JDBC Database Driver 。 4.目前,JDBC驱动程序可以分为四类:JDBC-ODBC桥 、部分用Java来编写的本地API驱动程序 、JDBC网络纯Java驱动程序 、本地协议纯Java驱动程序 。 5.数据库的连接是由JDBC 的__ DrvierManager类___管理的。 6.下面的代码建立Mysql数据库的连接,请填空:
try{ Class.forName(\ com.mysql.jdbc.Driver \ }
创建连接的代码如下: try{ //和数据库建立连接 conn=
DriverManager.getConnection(
\ jdbc:mysql: //localhost:3306/booklib\ ??
conn.close(); }
catch(Exception e){
out.println(e.toString()); }
7.查询结果集ResultSet对象是以统一的行列形式组织数据的,执行ResultSet
rs = stmt.executeQuery(\bid,name,author,publish,price from book\语句,得到的结果集rs第一列对用 bid ;而每一次rs只能看到 一 行,要在看到下一行,必须使用 next() 方法移动当前行。ResultSet对象使用 getXXX() 方法获得当前行字段的值。
8.stmt为Statement对象,执行String sqlStatement = \from book where bid=’tp1001’ \语句后,删除数据库表的记录需要执行stmt.executeUpdate ( sqlStatement ); 语句。
9.下面代码是使用数据库连接池获得连接的代码片段: Connection conn;
Context initCtx=new InitialContext();
Context ctx=(Context)initCtx.lookup(\
//获取连接池对象
Object obj=(Object)ctx.lookup(\//类型转换
javax.sql.DataSource ds=(javax.sql.DataSource)obj; //得到连接
conn=ds. getConnection() ; 四、思考题
1.进行记录定位的方法有哪些? 2.什么是数据库连接池?如何使用?
3.使用纯Java驱动操作mysql数据库的步骤?
作业九 基于Servlet的MVC模式
一、选择题
1.关于MVC架构的缺点,下列的叙述哪一项是不正确的?(B) A)提高了对开发人员的要求 B)代码复用率低
C)增加了文件管理的难度 D)产生较多的文件
2.关于JSP Model1模式的缺点,下列的叙述哪一项是不正确的?(D) A)应用是基于过程的 B)业务逻辑和表示逻辑混合 C)软件维护和扩展困难 D)产生较多的文件
3.关于JSP Model2模式的优点,下列的叙述哪一项是不正确的?(D) A)模型具有较高的通用性 B)Servlet对象擅长控制
C)分离了视图层和业务层 D)M、V、C之间具有较低的耦合性 4.阅读下面代码片段:
JavaBeanClass bean=new JavaBeanClass(parameter); HttpSession session=request.getSession(true); session.setAttribute(\
该段代码创建的Bean,下列叙述哪项是正确的?(C)
A)Request 周期的Bean B)Application 周期的Bean C)Session D)Page周期的Bean 5.阅读下面代码片段:
JavaBeanClass bean=new JavaBeanClass(parameter); getServletContext().setAttribute(\或者 application.setAttribute(\
该段代码创建的Bean,下列叙述哪项是正确的?(B)
A)Request 周期的Bean B)Application 周期的Bean C)Session D)Page周期的Bean 6.阅读下面代码片段:
JavaBeanClass bean=new JavaBeanClass(parameter); request.setAttribute(\
该段代码创建的Bean,下列叙述哪项是正确的?(A)
A)Request 周期的Bean B)Application 周期的Bean C)Session D)Page周期的Bean 7.阅读下面代码片段:
RequestDispatcher dispatcher=request.getRequestDispatcher(\dispatcher.forward(request,response);
关于该段代码的作用,下列叙述哪项是正确的?(B)
A)页面重定向到a.jsp页面 B)将请求转发到a.jsp页面 C)从a.jsp定向到当前页面 D)从a.jsp转发到当前页面
二、判断题
1.重定向功能是将用户从当前页面或Servlet定向到另一个JSP页面或Servlet。(对) 2.转发的功能是将用户对当前JSP页面或Servlet的请求转发给另一个JSP页面或Servlet。(对)
2.重定向仅仅是将用户定向到其他的JSP页面或Servlet,而不能将Request对象转发给所指向的资源。(对)
3.网站设计的时候经常会处理大量的数据,这些数据必须都放在JSP页面中。(错) 4.实现转发需要两个步骤,首先在Servlet中要得到RequestDispatcher对象,然后在调用该对象的forward方法实现转发。( 对 )
5.在MVC模式中,因为Servlet负责创建JavaBean,所以JavaBean的构造函数可以带有参数,除了保留get和set规则外,还可以有其他功能的函数。(对)
6.在MVC模式的Web开发中,“视图”、“模型”和“控制器”分别对应着“JSP页面”、“JavaBean”和“Serlvet”,以Servlet为核心。(对)
三、填空题
1.MVC是三层开发结构,这三个字母按顺序分别代表_Model__、___View_、__Controller_______。
2. 模型 封装了数据和对数据的操作,是实际进行数据处理计算的地方。 视图 是应用和用户之间的接口,它负责将应用显现给用户和显示模型的状态。控制器 负责视图和模型之间的交互,控制对用户输入的响应、响应方式和流程。
3.控制器主要负责两方面的动作: 把用户的请求分发到相应的模型 ; 将模型的改变及时反映到视图上 。
4.Sun公司的JSP规范提出了两种用JSP技术建立应用程序的方式,分别称为JSP Model 1(模式1)和JSP Model 2(模式2)。 5.在Servlet中,主要使用HttpServletResponse类的重定向方法 sendRedirect 方法实现重定向,以及使用RequestDispatcher类的转发方法 forward 方法实现转发功能。
四、思考题
1.MVC模式的核心思想是什么?
2.谁来担当MVC模式的视图、模型和控制器角色? 3.使用MVC模式有什么好处? 4.控制器如何控制页面的流转。
本文来源:https://www.bwwdw.com/article/d0g8.html
Top