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 (\语句,得到的结果集rs第一列对用 bid ;而每一次rs只能看到 一 行,要在看到下一行,必须使用 next() 方法移动当前行。ResultSet对象使用 getXXX() 方法获得当前行字段的值。
8.stmt为Statement对象,执行String sqlStatement = \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.什么是JDBC编程接口?
2.试列举一个你在编程和调试中碰到的数据库问题及其解决办法。 3.如何实现记录集的行操作? 4.进行记录定位的方法有哪些?
5.什么是数据库连接池?如何使用?
6.使用纯Java驱动操作mysql数据库的步骤?
7.加载Sql Server 2000纯Java驱动程序的代码是什么? 8.使用预处理语句和存储过程有什么好处? 9.使用CachedRowSetImpl类有什么好处? 10.如何使用滚动的结果集?
第八章 Servlet技术
一、选择题
1.下面对Servlet、Applet的那一项描述错误?(D)
A)Servelt与Applet相对应 B)Applet运行在客户端浏览器 C)Servlet运行在Web服务器端
D)Servlet和Applet不可以动态从网络加载 2.下面哪一项不在Servlet的工作过程中?(B)
A)服务器将请求信息发送至Servlet B)客户端运行Applet
C)Servlet生成响应内容并将其传给服务器 D)服务器将动态内容发送至客户端
3.下列哪一项不是Servlet中使用的方法? (D)
A)doGet() B)doPost() C)service() D)close()
4.关于MVC架构的缺点,下列的叙述哪一项是不正确的?(B) A)提高了对开发人员的要求 B)代码复用率低 C)增加了文件管理的难度 D)产生较多的文件 5.下面哪一项对Servlet、JSP的描述错误?(D)
A)HTML、Java和脚本语言混合在一起的程序可读性较差,维护起来较困难。 B)JSP技术是在Servlet之后产生的,它以Servlet为核心技术,是Servlet技术的一个成功应用。
C)当JSP页面被请求时,JSP页面会被JSP引擎翻译成Servelt字节码执行 D)一般用JSP来处理业务逻辑,用Servlet来实现页面显示。 6.下面哪一项对Servlet、JSP的描述错误?(D)
A)Servlet可以同其他资源交互,例如文件、数据库 B)Servlet可以调用另一个或一系列Servlet E)服务器将动态内容发送至客户端 E)Servlet在表示层的实现上存在优势 7.下面哪一项对Servlet描述错误?(C)
A)Servlet是一个特殊的Java类,它必须直接或间接实现Servlet接口 B)Servlet接口定义了Servelt的生命周期方法
C)当多个客户请求一个Servlet时,服务器为每一个客户启动一个进程 D)Servlet客户线程调用service方法响应客户的请求 8.下面哪一项对Servlet描述错误?(C)
A)Servlet是一个特殊的Java类,它必须直接或间接实现Servlet接口 B)Servlet接口定义了Servelt的生命周期方法
C)当多个客户请求一个Servlet时,服务器为每一个客户启动一个进程 D)Servlet客户线程调用service方法响应客户的请求
9.下面Servlet的哪个方法载入时执行,且只执行一次,负责对Servlet进行初始化。( B )
A)service() B)init()
C)doPost() D)destroy()
10.下面Servlet的哪个方法用来为请求服务,在Servlet生命周期中,Servlet每被请求一次它就会被调用一次。( A ) A)service() B)init() C)doPost() D)destroy()
11.下面哪个方法当服务器关闭时被调用,用来释放Servlet所占的资源。(D)
A)service() B)init() C)doPost() D)destroy()
12.部署Servlet,下面哪一项描述错误?(C)
A)必须为Tomcat编写一个部署文件。 B)部署文件名为web.xml
C)部署文件在Web服务目录的WEB-INF子目录中 D)部署文件名为Server.xml
13.下面是一个Servlet部署文件的片段:
Servlet的类名是( A ) A)FirstServlet B)Hello C)helpHello D)/helpHello
14.下面是Servlet调用的一种典型代码:
<%@ page contentType=\<%@ page import=\
该调用属于下述哪种。(B)
A)url直接调用 B)超级链接调用 C)表单提交调用 D)jsp:forward调用 15.下面是Servlet调用的一种典型代码:
<%@ page contentType=\<%@ page import=\
该调用属于下述哪种。(D)
A)url直接调用 B)超级链接调用