第七章数据库访问
一、选择题
1.下面哪一项不是JDBC的工作任务?()
A)与数据库建立连接B)操作数据库,处理数据库返回的结果
C)在网页中生成表格D)向数据库管理系统发送SQL语句
2.下面哪一项不是加载驱动程序的方法?()
A)通过DriverManager.getConnection方法加载
B)调用方法Class.forName
C)通过添加系统的jdbc.drivers属性
D)通过registerDriver方法注册
3.关于分页显示,下列的叙述哪一项是不正确的?()
A)只编制一个页面是不可能实现分页显示的
B)采用一至三个页面都可以实现分页显示
C)分页显示中,记录集不必在页面跳转后重新生成
D)分页显示中页面显示的记录数可以随用户输入调整
4.在建立JSP网站目录时需要遵循一些规则,以下规则错误的是:()A)每个主要栏目开设一个相应的子目录
B)所有flash, avi, ram, quicktime 等多媒体文件存放在根目录下
C)根目录一般只存放index.htm以及其他必须的系统文件
D)目录建立应以最少的层次提供最清晰简便的访问结构
5.如果将E:\MyWeb作为JSP网站目录,需要修改哪个文档?()
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)”jdbc:mysql://localhost:3306/数据库名”
B)”jdbc:odbc:数据源”
C)”jdbc:oracle:thin@host:端口号:数据库名”
D)”jdbc:sqlserver://172.0.0.1:1443;DatabaseName=数据库名”
7.在JDBC中,下列哪个接口不能被Connection创建()。
A)Statement B)PreparedStatement
C)CallableStatement D)RowsetStatement
8.下面是加载JDBC数据库驱动的代码片段:
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e){
out.print(e);
}
该程序加载的是哪个驱动?()
A)JDBC-ODBC桥连接驱动B)部分Java编写本地驱动
C)本地协议纯Java驱动D)网络纯Java驱动
9.下面是创建Statement接口并执行executeUpdate方法的代码片段:
conn=DriverManager.getConnection("jdbc:odbc:book","","");
stmt=conn.createStatement();
String strsql="insert into book values('TP003', 'https://www.doczj.com/doc/2318911508.html,','李','清华出版社',35)";
n=stmt.executeUpdate(strsql);
代码执行成功后n的值为()。
A)1 B)0 C)-1 D)一个整数
10.下列代码中rs为查询得到的结果集,代码运行后表格的每一行有几个单元格()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.下面的代码是连接哪个数据库的驱动加载片段()
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
}
catch(Exception e){
out.print(e.toString());
}
A)Oracle B)Sql Server
C)MySql D)不确定
12.下面的代码是连接哪个数据库的驱动加载片段()
try{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
}
catch(Exception e){
out.print(e.toString());
}
A)Oracle B)Sql Server
C)MySql D)不确定
13.查询结果集ResultSet对象是以统一的行列形式组织数据的,执行ResultSet rs = stmt.executeQuery ("select bid,name,author,publish,price from book");语句,得到的结果集rs的列数为()
A)4 B)5
C)6 D)不确定
14.下列代码生成了一个结果集
conn=DriverManager.getConnection(uri,user,password);
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_READ_ONLY);
rs=stmt.executeQuery("select * from book");
下面哪项对该rs描述正确的是()
A)只能向下移动的结果集B)可上下滚动的结果集
C)只能向上移动的结果集D)不确定是否可以滚动15.下列代码生成了一个结果集
conn=DriverManager.getConnection(uri,user,password);
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
rs=stmt.executeQuery("select * from book");
下面哪项对该rs描述正确()
A)不能用结果集中的数据更新数据库中的表
B)能用结果集中的数据更新数据库中的表
C)执行update方法能更新数据库中的表
D)不确定
16.下列代码生成了一个结果集
conn=DriverManager.getConnection(uri,user,password);
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
rs=stmt.executeQuery("select * from book");
下面哪项对该rs描述正确()
A)数据库中表数据变化时结果集中数据不变
B)数据库中表数据变化时结果集中数据同步更新
C)执行update方法能与数据库中表的数据同步更新
D)不确定
17.下列代码生成了一个结果集
conn=DriverManager.getConnection(uri,user,password);
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
rs=stmt.executeQuery("select * from book");
rs.first();
下面哪项对该rs描述正确()
A)rs.isFirst()为真
B)rs.ifLast()为真
C)rs.isAfterLast()为真
D)rs.isBeforeFirst()为真
18.下列代码生成了一个结果集
conn=DriverManager.getConnection(uri,user,password);
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
rs=stmt.executeQuery("select * from book");
rs.first();rs. previous();
下面哪项对该rs描述正确()
A)rs.isFirst()为真
B)rs.ifLast()为真
C)rs.isAfterLast()为真
D)rs.isBeforeFirst()为真
19.下列代码生成了一个结果集
conn=DriverManager.getConnection(uri,user,password);
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_READ_ONLY);
rs=stmt.executeQuery("select * from book");
https://www.doczj.com/doc/2318911508.html,st();rs.next();
下面哪项对该rs描述正确()
A)rs.isFirst()为真
B)rs.ifLast()为真
C)rs.isAfterLast()为真
D)rs.isBeforeFirst()为真
20.给出了如下的查询条件字符串String condition="insert book values(?,?,?,?,?)";下列哪个接口适合执行该SQL查询()
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的英文全称是_ __,中文意义是_ __。
2.简单地说,JDBC能够完成下列三件事:与一个数据库建立连接(connection)、_ __、_ __ 。
3.JDBC主要由两部分组成:一部分是访问数据库的高层接口,即通常所说的_ __;另一部分是由数据库厂商提供的使Java程序能够与数据库连接通信的驱动程序,即_ __。
4.目前,JDBC驱动程序可以分为四类:_ __、_ __、_ __、_ __。
5.数据库的连接是由JDBC 的__ _ ____管理的。
6.下面的代码建立SQL Server数据库的连接,请填空:
try{ Class.forName(" _ __ ");
}
创建连接的代码如下:
try{ //和数据库建立连接
conn=
DriverManager.getConnection(
" __//127.0.0.1:1433;DataBaseName=booklib","root","");
……
conn.close();
}
catch(Exception e){
out.println(e.toString());
}
7.查询结果集ResultSet对象是以统一的行列形式组织数据的,执行ResultSet rs = stmt.executeQuery ("select bid,name,author,publish,price from book");语句,得到的结果集rs第一列对用;而每一次rs只能看到行,要在看到下一行,必须使用方法移动当前行。ResultSet对象使用方法获得当前行字段的值。
8.stmt为Statement对象,执行String sqlStatement = "delete from book where bid='tp1001' ";
语句后,删除数据库表的记录需要执行stmt.executeUpdate ( ); 语句。9.下面代码是使用数据库连接池获得连接的代码片段:
Connection conn;
Context initCtx=new InitialContext();
Context ctx=(Context)initCtx.lookup("java:comp/env");
//获取连接池对象
Object obj=(Object)ctx.lookup("jdbc/dataBook");
//类型转换
javax.sql.DataSource ds=(javax.sql.DataSource)obj;
//得到连接
conn=ds. ;
四、思考题
1.什么是JDBC编程接口?
2.试列举一个你在编程和调试中碰到的数据库问题及其解决办法。3.如何实现记录集的行操作?
4.进行记录定位的方法有哪些?
5.什么是数据库连接池?如何使用?
6.使用纯Java驱动操作mysql数据库的步骤?
7.加载Sql Server 2000纯Java驱动程序的代码是什么?
8.使用预处理语句和存储过程有什么好处?
9.使用CachedRowSetImpl类有什么好处?
10.如何使用滚动的结果集?
JSP Technology Conspectus And Specialties By:Kathy Sierra and Bert Bates Source: Servlet&JSP The JSP (Java Server mix) technology is used by the Sun microsystem issued by the company to develop dynamic Web application technology. With its easy, cross-platform, in many dynamic Web application programming languages, in a short span of a few years, has formed a complete set of standards, and widely used in electronic commerce, etc. In China, the JSP now also got more extensive attention, get a good development, more and more dynamic website to JSP technology. The related technologies of JSP are briefly introduced. The JSP a simple technology can quickly and with the method of generating Web pages. Use the JSP technology Web page can be easily display dynamic content. The JSP technology are designed to make the construction based on Web applications easier and efficient, and these applications and various Web server, application server, the browser and development tools work together. The JSP technology isn't the only dynamic web technology, also not the first one, in the JSP technology existed before the emergence of several excellent dynamic web technology, such as CGI, ASP, etc. With the introduction of these technologies under dynamic web technology, the development and the JSP. Technical JSP the development background and development history In web brief history, from a world wide web that most of the network information static on stock transactions evolution to acquisition of an operation and infrastructure. In a variety of applications, may be used for based on Web client, look no restrictions. Based on the browser client applications than traditional based on client/server applications has several advantages. These benefits include almost no limit client access and extremely simplified application deployment and management (to update an application, management personnel only need to change the program on a server, not thousands of installation in client applications). So, the software industry is rapidly to build on the client browser multi-layer application. The rapid growth of exquisite based Web application requirements development of technical improvements. Static HTML to show relatively static content is right choice, The new challenge is to create the interaction based on Web applications, in these procedures, the
《JSP 程序设计》复习题 一、 选择题 HTML 页面中加入( D )就构成了一个 JSP 页面文件。 A 、JAVA 程序片 B 、JSP 标签 C 、用“<%”、“%>”标记符号括起来的程序 2. 配置 JSP 运行环境,若 WEB 应用服务器选用 TOMCAT ,以下说法正确的是: ( A 、先安装 TOMCAT ,再安装 JDK ,再安装 TOMCAT B 、不需安装 JDK ,安装 TOMCAT 就可以了 C 、JDK 和 TOMCAT 只要都安装就可以了,安装顺序没关系 B ) 3. 对于“<%!”、“%>”之间声明的变量,以下说法正确的是:( B ) A 、不是 JSP 页面的成员变量 、多个用户同时访问该页面时,任何一个用户对这些变量的操作,都会影响到其他用 C 、多个用户同时访问该页面时,每个用户对这些变量的操作都是互相独立的,不会互 相影响 D 、是 JSP 页面的局部变量 4. 在客户端浏览器的源代码中可以看到( B A 、JSP 注释 C 、JSP 注释和 HTML 注释 D 、JAVA 注释 5. page 指令的作用是:( A ) JSP 页面的一些属性和这些属性的值 A 、用来在 JSP 页面内某处嵌入一个文件 B 、使该 JSP 页面动态包含一个文件 C 、指示 JSP 页面加载 Java plugin 6. page 指令的 import 属性的作用是( C A 、定义 JSP 页面响应的 MIME 类型 B 、 D 、定义 JSP 页面字符的编码 ) 7. ( C )可在 JSP 页面出现该指令的位置处,静态插入一个文件。 A 、page 指令标签 B 、page 指令的 import 属性 指令标签 D 、include 动作标签 8. 以下对象中的( D )不是 JSP 的内置对象。 A 、request B 、session C 、application
第1章习题及参考答案 一.单选题 1.(C )技术是基于Java Servlet以及整个java体系的Web开发技术。 A.CGI B.ASP C.JSP D.PHP 2.下面哪一个不是动态网页技术(D )。 A.https://www.doczj.com/doc/2318911508.html, B.ASP C.JSP D.HTML 3.在客户端网页脚本语言中最为通用的是( A )。 A.JavaScript B.VB C.Perl D.ASP 4.下列描述错误的是( B )。 A.DHTML是HTML基础上发展的一门语言 B.HTML主要分为两大类:服务器端动态页面和客户端动态页面 C.客户端的DHTML技术包括HTML4.0、CSS、DOM和脚本语言 D.DHTML侧重于WEB内容的动态表现 5.可以不用发布就能在本地计算机上浏览的页面编写语言是(B )。 A.ASP B.HTML C.PHP D.JSP 6.一个HTML文档必须包含3个元素,它们是html、head和(B )。 A.script B.body C.title D.link 7.下面(C )是换行符标签。 A.
B. C.JSP技术概述 一、JSP的好处 二、JSP页面最终会转换成servler。因而,从根本上,JSP页面能够执 行的任何任务都可以用servler来完成。然而,这种底层的等同性并不意味着servler和JSP页面对于所有的情况都等同适用。问题不在于技术的能力,而是二者在便利性、生产率和可维护性上的不同。毕竟,在特定平台上能够用Java编程语言完成的事情,同样可以用汇编语言来完成,但是选择哪种语言依旧十分重要。 和单独使用servler相比,JSP提供下述好处: 三、λJSP中HTML的编写与维护更为简单。JSP中可以使用常规的HTML: 没有额外的反斜杠,没有额外的双引号,也没有暗含的Java语法。 四、λ能够使用标准的网站开发工具。即使对那些对JSP一无所知的 HTML工具,我们也可以使用,因为它们会忽略JSP标签(JSP tags)。 五、λ可以对开发团队进行划分。Java程序员可以致力于动态代码。Web 开发人员可以将经理集中在表示层(presentation layer)上。对于大型的项目,这种划分极为重要。依据开发团队的大小,及项目的复杂程度,可以对静态HTML和动态内容进行弱分离(weaker separation)和强分离(stronger separation)。 六、在此,这个讨论并不是让您停止使用servlets,只使用JSP。几乎 所有的项目都会同时用到这两种技术。针对项目中的某些请求,您可能会在MVC构架下组合使用这两项技术。我们总是希望用适当的工具完成相对应的工作,仅仅是servlet并不能填满您的工具箱。 二、JSP相对于竞争技术的优势 许多年前,Marty受到邀请,参加一个有关软件技术的小型(20个人)研讨会.做在Marty旁边的人是James Gosling--- Java编程语言的发明者。 隔几个位置,是来自华盛顿一家大型软件公司的高级经理。在讨论过程中,研讨会的主席提出了Jini的议题,这在当时是一项新的Java技术.主席向该经理询问他的想法.他继续说,他们会持续关注这项技术,如果这
第一章 一.选择题 1.早期的动态网站开发技术主要使用的是()技术。该技术的基本原理是将浏览器提交至Web服务器的数据通过环境变量传递给其他外部程序,经外部程序处理后,再把处理结果传送给Web服务器,最后由Web服务器把处理结果返回浏览器。 A.JSP B.ASP C.PHP D.CGI 2.JSP页面的代码由两个部分组成,它们是()和()。 A.javascript代码 B.vbscript代码 C.HTML代码 D.JSP代码 3.JSP在服务器中进行编译时,将首先被转译成() A.JA V A语言 B.HTML代码 C.servlet D.以上都是 4.在一个JSP页面代码中一定没有的部分是() A.javascript代码 B.JSP指令 C.JSP动作 D.HTML代码 二.问答题 1.简述JSP的基本运行原理。 2.列举出JSP具有的一些特点。
参考答案 一.选择题 1. D 2. C D 3. C 4. A 二.问答题 1.答:首先由浏览器向Web服务器提出访问JSP页面的请求(Request),然后由JSP容器负责将JSP转换成Servlet,产生的Servlet经过编译后生成类文件,然后再把类文件加载到内存进行执行。最后由Web服务器将执行结果响应(Response)给客户端浏览器。 2.答:1. 一次编写,随处运行 2. 可重用组件技术 3. 标记化页面开发 4. 对大型复杂Web应用支持良好 第二章习题 三.选择题 1.下列不是JSP开发工具的是() A.JBuilder B.IBM WebSphere C.MyEclipse D.Firework 2.要建构JSP的开发环境,除了需要安装以上的JSP开发工具外,还必须安装()和() A.JDK B.Dreamweaver MX C.Flash MX D.Tomcat 3.JSP隶属Java家族,下列不属于JA V A家族的是() A.servlet B.javabean C.java D.javascript 4.web应用程序体系结构最多可分为三层,不属于这三层的是() A.表示层 B.业务层 C.数据访问层 D.网络链接层
第1章JSP概述 习题一解答 1.答:确保Tomcat服务器使用的是Java_home环境变量设置的JDK 2.答:见1.3.2中的新建Web服务目录。 3.答:在浏览器的地址栏中键入:http://IP:端口号/Web服务目录/子目录/JSP页面。4.答:修改Tomcat服务器安装目录中conf文件夹中的主配置文件:server.xml,只要没有其他应用程序正在占用80,就可以将端口号设置为80。
第2章JSP页面与JSP标记 习题二解答 1.答:“<%!”和“%>”之间声明的变量在整个JSP页面内都有效,称为JSP页面的成员变量,成员变量的有效范围与标记符号<%!、%>所在的位置无关。所有用户共享JSP页面的成员变量,因此任何一个用户对JSP页面成员变量操作的结果,都会影响到其他用户。 “<%”和“%>”之间声明的变量称为局部变量,局部变量在JSP页面后继的所有程序片以及表达式部分内都有效。运行在不同线程中的Java程序片的局部变量互不干扰,即一个用户改变Java程序片中的局部变量的值不会影响其他用户的Java程序片中的局部变量。当一个线程将Java程序片执行完毕,运行在该线程中的Java程序片的局部变量释放所占的内存。 2. 答:两次。 3.答:不允许。允许。 4.答:第一个用户看到的sum的值是610,第二个用户看到的sum的值是1210 5. 答: <%@ page contentType="text/html;charset=GB2312" %>
<% for(char c='A';c<='Z';c++) { out.print(" "+c); } %> 6.答:include指令标记的作用是在JSP页面出现该指令的位置处,静态插入一个文件,即JSP页面和插入的文件合并成一个新的JSP页面,然后JSP引擎再将这个新的JSP页面转译成Java文件。因此,插入文件后,必须保证新合并成的JSP页面符合JSP语法规则,即能够成为一个JSP页面文件。include动作标记告诉JSP页面动态加载一个文件,不把JSP页面中动作指令include所指定的文件与原JSP页面合并一个新的JSP页面,而是告诉Java解释器,这个文件在JSP运行时(Java文件的字节码文件被加载执行)才被处理。如果包含的文件是普通的文本文件,就将文件的内容发送到客户端,由客户端负责显示;如果包含的文件是JSP文件,JSP引擎就执行这个文件,然后将执行的结果发送到客户端,并由客户端负责显示这些结果。 7. 答:1. Web技术的设想在()年提出 A.1954 B.1969 C.1989 D.1990 2. JSP页面在第一次运行时被JSP引擎转化为() A.HTML文件 B. CGI文件 C. CSS文件 D.Servlet 文件 3. JavaEE体系中Web层技术是() A. HTML B. JavaBean C. EJB D. JSP 1 用来换行的标签是() A.
B.
C.
2. 用来建立有序列表的标签是() A.B.