《Java网络编程》单元测验题 3 参考答案
一、选择题(30分)
1、URL类的构造函数将决定字符串参数是否合法URL,如果不合法则将产生(D )异常。
A.IOException B.UnknownHostException C.SocketException D.MalformedURLExceptin
2、( )类的对象中包含有Internet地址。C
A.Applet B.DatagramSocket C.InetAddress D.AppletContext 3、下列属于java Mail API 核心类的是( )。 B
A Sesion B Message C SMTP D InetAddress
4、Page指令用于定义JSP文件中的全局属性,下列关于该指令用法的描述不正确的是:(D)
A. <%@ page %>作用于整个JSP页面。 B. 可以在一个页面中使用多个<%@ page %>指令。 C.为增强程序的可读性,建议将<%@ page %>指令放在JSP文件的开头,但不是必须的。 D. <%@ page %>指令中的属性只能出现一次。
5、URL对象创建后,调用URL类的OpenStream()方法与指定的URL建立连接并返回一个( A)类对象。
A. InputStream B. OutputStream C. Reader D. Writer 6、下列不属于JSP基本动作的是( D)
A. jsp:include B. jsp:getProperty C. jsp:useBean D. jsp:page 7、当找不到客户的服务器地址时会抛出(B )异常。 A.IOException B.UnknownHostException
C.SocketException D.MalformedURLExceptin 8、JSP容器的引导命令用下列哪个作为标记( A )。 A. @ B. % C. & D. #
9、URLConnection类是以下列哪个协议为中心的类。(C) A TCP/IP B UDP C HTTP D FTP
10、InetAddress类的getLocalHost方法返回一个( C )对象,它包含了运行该程序的计算机的主机名。
A.Applet B.Datagramsocket C.InetAddress D.AppletContext
11、 下列关于JDBC的叙述中,正确的是( A )
A.JDBC是执行SQL语句的Java API B.JDBC是执行Java程序的Java API C.JDBC是执行SQL语句的Java 网关接口 D.JDBC是执行CGI程序的Java API
12、常用JDBC驱动程序的种类有 (C ) 。 A. 两种 B. 三种 C. 四种 D. 五种 13、Tomcat的主要配置文件是(B) A. webapps 目录下的web.xml B. conf目录下的server.xml
C. CATALINA_HOME下的server.xml D. common/lib 下的web.xml
14、下列不是Jdbc中常用的接口的是( D )
A Connection B ResultSet C Statement D DriverManager
15、在JSP中使用
A. name B. property C. value D. 以上皆不会出现 二、填空题 (20分)
1、JSP注释元素有(html注释)、(隐藏注释)和(java注释)等三种。 2、JavaMail体系分为3层:(抽象层)、(Internet邮件实现层)和(协议实现层)。 3、URL是指(统一资源定位器),是(Uniform Resource Locator )的简写。 4、JavaMail API的核心类都可以在JavaMail API的顶层包(javax.mail)中找到。
5、URLConnection类的构造函数是(受保护)的,不能通过(new操作符)来创建的对象。 6、Java提供的网络功能有三大类:(URL和URLConnection),(Socket),(Datagram)。 7、JSP中的元素有:指令元素;脚本元素;动作元素;注释元素;模板元素等。(写出3种即可)
8、POP3协议运行于(TCP协议)之上,默认在(110)端口侦听。
9、Java程序定位和检索网络上的数据最简单的方法是使用(URL类)。
10、InetAddress类的对象不能直接创建,因为InetAddress类构造函数(不是公共的)。 11、模板元素是指JSP的(静态HTML)或者(XML)内容。
12、InetAddress类的对象可以由(getByNmae())、(getByAllNmae())及(getLocalHost())获得。
13、JSP 标准动作有
三、判断题(25分)
1、JSP指令元素不能用于设置全局变量,声明类,要实现的方法等等。 F 2、Java中有关网络方面的功能都定义在java.net包中。 T
3、Session类是JavaMail API的核心类,定义了一个基本的邮件会话。 T 4、在JSP中,
6、利用URL类openStream()方法只能读取网络数据,不能上传数据。 T
7、page指令可以出现多次,但是每一种属性只能出现一次,重复的属性设置将覆盖先前的设置。T
8、InetAddress类的对象必须由其方法的返回值获得。 T
9、使用InetAddress类不能将IP地址转换为该地址的域名。 F 10、JSP中,模板元素是指JSP的静态HTML或者XML内容。 T 11、Java.net.URL类是对统一资源定位符的抽象。 T
12、JavaMail API是一种可选的、能用于读取、编写和发送电子消息的包。 T 13、利用URL类的openStream()方法只能以字符流的方式读取网络资源数据。 F 14、Session类是邮件系统的访问入口。 T
15、page指令的import属性可以多次出现,不会覆盖先前设置。 T
16、InetAddress类对象不能直接创建,因为InetAddress类没有公共构造函数。 T 17、JavaMail API包括抽象层和Internet邮件实现层。 T
18、Java Server Pages 是由微软公司倡导的一种动态网页技术标准 F
19、在传统的HTML文件中加入Java程序片断,就构成了JSP网页。 T 20、指令元素用于设置局部变量,声明类,要实现的方法等等。 F
21、Session类的构造器是私有的,不能被继承,也不能用new语句来创建实例。T 22、page指令只能放在JSP文件顶部。 F
23、不是所有的URL类的方法都会抛出异常 F
24、POP3协议适用于C/S模式,祝贺要工作在在线方式下。 F 25、Java Mail利用Authenticator类直接访问受保护的资源。F 四、改错题(25分)
1、下列程序的功能是利用URL类读取网络资源,请找出程序存在的问题并改正。
import java.io.*;
public class URLRead {
public static void main(String[] args) throws Exception { URL web = new URL(\
BufferedReader in = new BufferedReader(new InputStreamReader(web.openStream())); String inputLine;
while ((inputLine = in.readLine()) != null) System.out.println(inputLine); in.close(); } }
没有导入java.net包,导入类包:import java.net.*;
2、分析下列程序,找出存在的问题并更正
1 import java.net.*; 2 public class Gl {
3 public static void main(String []args) { 4 try {
5 InetAddress addr= new InetAddress( ); 6 System.out.println(addr.getLocalHost()); 7 }
8 catch (UnknownHostException e) { 9 System.out.println(\ } 10 }
11 }
存在问题:InetAddress类不能直接创建对象
改正:第5、6行改为 InetAddress address= InetAddress.getLocalHost();
注:改正方法不唯一。