JavaWeb测试卷
一、 单选题 (共30题,60分)
1、Java的网络编程主要是在TCP/IP模型的哪一层进行?(2.0)
A、 网络接口层
B、 网络层
C、 运输层
D、 应用层
正确答案: C
2、使用UDP套接字通信时,哪个方法用于接收数据?
(2.0)
A、 read()
B、 receive()
C、 accept()
D、 Listen()
正确答案: B
3、关键字( )可以对对象加互斥锁。(2.0)
A、 transient
B、 serialize
C、 synchronized
D、 static
正确答案: C
4、After calling the start ( ) method, a thread object enters the ( ) state?
(2.0)
A、 NEW
B、 RUNNABLE
C、 RUNNING
D、 DEAD
正确答案: B
5、当线程因异常而退出run()后,其所处状态为( )(2.0)
A、 阻塞状态
B、 运行状态
C、 就绪状态
D、 结束状态
正确答案: D
6、ArrayList类的底层数据结构是( )(2.0)
A、 数组结构
B、 链表结构
C、 哈希表结构
D、 红黑树结构
正确答案: A
7、将Map集合中的键存储到Set集合的方法是( )(2.0)
A、 entrySet()
B、 get()
C、 keySet()
D、 put()
正确答案: C
8、Java集合相关接口和类主要在下列哪个包中( )(2.0)
A、 java.sql
B、 java.lang
C、 java.util
D、 java.io
正确答案: C
9、Java程序与数据库连接后,需要查询某个表中的数据,使用下列哪个语句?( )
(2.0)
A、 executeQuery()
B、 executeUpdate()
C、 executeEdit()
D、 executeSelect()
正确答案: A
10、Which of the following statement can load the database driver into JVM ?(2.0)
A、 Class.forName()
B、 DriverManager.getConnection()
C、 Conn.createStatement()
D、 Statement.execute()
正确答案: A
11、当访问一个Servlet时,以下Servlet中的哪个方法先被执行?( )(2.0)
A、 destroy()
B、 doGet()
C、 service()
D、 init()
正确答案: D
12、若从HTTP请求中,获得请求参数,应该调用()
(2.0)
A、 request对象的getAttribute()方法
B、 request对象的getParameter()方法
C、 session对象的getAttribute()方法
D、 session对象的getParameter()方法
正确答案: B
13、在Web应用程序的目录结构中,web.xml是直接放置在哪个目录之中?
(2.0)
A、 WEB-INF目录
B、 web根目录
C、 lib目录
D、 classes目录
正确答案: A
14、能够保留请求作用域中数据的转向方式是( )(2.0)
A、 response.forward()
B、 response.sendRedirect()
C、 session.getRequestDispatcher().forward(request,response)
D、 request.getRequestDispatcher().forward(request,response)
正确答案: D
15、下列哪个response的状态行代码表示服务器端找不到请求的资源( )。(2.0)
A、 200
B、 403
C、 404
D、 500
正确答案: C
16、使用UDP套接字通信时,常用哪个类把要发送的信息打包?
(2.0)
A、 String
B、 DatagramSocket
C、 MulticastSocket
D、 DatagramPacket
正确答案: D
17、When you submit a <form>, the default method is(2.0)
A、 get
B、 post
C、 put
D、 delete
正确答案: A
18、通过Tomcat部署Web项目时,Servlet编译后的class文件应被放置在()(2.0)
A、 Web项目根目录
B、 WEB-INF
C、 WEB-INF/classes
D、 WEB-INF/lib
正确答案: C
19、Given the following configuration fragment of a servlet:
<servlet-name>management</servlet-name>
<url-pattern>/action/managementAction</url-pattern>
If Tomcat works on the default port of the local machine, the URL requesting the servlet should be ( )(2.0)
A、 http://localhost:8080/management
B、 http://localhost:8080/managementAction
C、 http://localhost:8080/action/managementAction
D、 http://localhost:8080/management/managementAction
正确答案: C
20、数据库编程时,可以从下列哪一项获得数据库连接( )(2.0)
A、 URL
B、 DriverManager
C、 Statement
D、 ResultSet
正确答案: B
21、以下哪个方法可以改变线程的优先级
(2.0)
A、 run
B、 setPriority
C、 yield
D、 sleep
正确答案: B
22、以下关于端口号的说法错误的是
(2.0)
A、 在任务管理器中,进程的PID就是属于该进程的端口号
B、 端口号表示范围是:0 ~ 65535,其中0 ~ 1024之间的端口号通常被系统占用
C、 使用端口号,可以定位一台计算机中的某一个进程
D、 IP地址和端口号组合,就形成了网络套接字socket
正确答案: A
23、两台主机之间传输数据时,依靠( )地址定位对方主机在网络上的位置?
(2.0)
A、 URL
B、 IP地址
C、 MAC地址
D、 物理地址
正确答案: B
24、下面程序段的输出结果是( ).
HashMap<String,Integer> hm = HashMap<>();
hm.put("a",1);
hm.put("b",3);
hm.put("a",5);
hm.put("b",7);
System.out.println(hm.get("a"));
(2.0)
A、 1
B、 5
C、 3
D、 7
正确答案: B
25、下面程序段的输出结果是( )。
Set<Integer> hs = new HashSet<>();
hs.add(10);
hs.add(20);
hs.add(10);
hs.add(30);
System.out.println(hs.size());
(2.0)
A、 1
B、 2
C、 3
D、 4
正确答案: C
26、语句Thread.sleep(20)中,20的单位是()
(2.0)
A、 秒
B、 毫秒
C、 微秒
D、 分钟
正确答案: B
27、要保存一组学号和姓名之间映射关系的元素,且学号不能重复,可以使用()。
(2.0)
A、 TreeSet
B、 HashSet
C、 HashMap
D、 ArrayList
正确答案: C
28、使用JDBC时,通常会需要处理哪种异常?
(2.0)
A、 RuntimeException
B、 DBException
C、 SQLException
D、 NumberFormatException
正确答案: C
29、java.util.Iterator接口主要用于描述迭代器对象,常用来遍历集合中的所有元素。以下集合的实现类中,不能使用iterator遍历的是()
(2.0)
A、 ArrayList
B、 HashSet
C、 HashMap
D、 LinkedList
正确答案: C
30、以下关于servlet的叙述错误的是()。
(2.0)
A、 Servlet是运行在服务器上的Java类
B、 自定义的Servlet,一般继承HttpServlet,重写其中的doGet()或者doPost()方法来响应客户端
C、 要访问Servlet,必须为其配置访问的url,该url必须唯一,且以“/”开头
D、 如果修改了servlet对应的url,必须重新发布项目,新的url才会生效
正确答案: D
二、 多选题 (共10题,30分)
31、以下属于 Thread类的线程优先级静态常量的是 ( )
(3.0)
A、 MIN_PRIORITY
B、 MAX__PRIORITY
C、 MID__PRIORITY
D、 BEST__PRIORITY
正确答案: AB
32、下列哪种行为会导致用户session生命周期的结束?
(3.0)
A、 关闭服务器
B、 关闭浏览器
C、 超过发呆时间
D、 调用invalidate方法
正确答案: ABCD
33、下列说法正确的是()
(3.0)
A、 使用synchronized关键修饰一个方法时,调用该方法的对象就是同步监视器。
B、 Synchronized关键字用于实现线程同步
C、 Synchronized关键字只能修饰方法,不能修饰一个代码段。
D、 得到同步监视器锁定的线程,才能执行synchronized修饰的同步代码。
正确答案: ABD
34、Java集合框架中,Collection的子接口包括( )
(3.0)
A、 Map
B、 List
C、 Set
D、 Iterable
正确答案: BC
35、用户自定义的类,要想不重复的将该类实例放入Set集合,则应该重写
(3.0)
A、 hashCode方法
B、 toString方法
C、 equals方法
D、 clone方法
正确答案: AC
36、当使用java.net包进行Java网络编程时,主要是针对下列哪些协议的编程( )(3.0)
A、 TCP
B、 IP
C、 UDP
D、 HTTP
正确答案: AC
37、以下关于线程生命周期的五种状态,说法错误的是()
(3.0)
A、 线程对象创建成功后就进入到了新建状态
B、 线程如果执行了wait方法,将会进入到阻塞状态,必须等待其他线程将其唤醒,重新进入到运行状态
C、 若线程执行完run方法中的代码,会进入到死亡状态
D、 处于死亡状态的线程,可以重新调用start方法进入到就绪状态
正确答案: BD
38、以下选项中,能正确创建一个线程对象,且成功启动该线程的是()
(3.0)
A、 public class Thread1 extends Thread { public void run() { }
public static void main(String[] args) {
Thread1 t1=new Thread1();
t1.start();
}
}
B、 public class Thread1 extends Thread { public void run() { }
public static void main(String[] args) {
Thread1 t2=new Thread1();
t2.run();
}
}
C、 public class SubRunnable implements Runnable { public void run() { }
public static void main(String[] args) {
SubRunnable sr1=new SubRunnable();
Thread t3=new Thread(sr1);
t3.start();
}
}
D、 public class SubRunnable implements Runnable { public void run() { }
public static void main(String[] args) {
SubRunnable sr1=new SubRunnable();
sr1.start();
}
}
正确答案: AC
39、一个服务器进程执行以下代码,说法正确的是:
ServerSocket server=new ServerSocket(8080);
Socket socket = server.accept();
int port=socket.getPort();
OutputStream out=socket.getOutputStream();
(3.0)
A、 服务器通过8080端口与客户端进行连接
B、 socket.getPort()返回的是被服务器占用的端口号
C、 server.accept();返回socket成功,表示已经有一个客户端的和服务器连接上了。
D、 socket.getOutputStream();语句返回的是一个输出流,通过该流,可以读取客户端发送给服务器的消息
正确答案: AC
40、以下关于请求转发和重定向的说法正确的是
(3.0)
A、 请求转发和重定向要分别通过request和response对象来完成
B、 请求转发执行后,浏览器地址栏的url没有变化;而执行重定向后,浏览器地址栏中的url发生了变化
C、 如果要共享request作用域中的数据,可以使用重定向来完成。
D、 请求转发的目标地址只能是当前项目内部的资源url
正确答案: ABD
三、 判断题 (共10题,10分)
41、TCP编程通常用于需要可靠传输的场景,UDP编程通常用于不需要太多可靠性,但需要灵活快速的场景。(1.0)
正确答案: 正确
42、You can create an InetAddress instance by calling the default constructor.(1.0)
正确答案: 错误
43、一个线程对象,调用其wait()方法后,会释放其持有的锁定。(1.0)
正确答案: 正确
44、After querying and getting a Resultset instance, the cursor points to the first record in the Resultset by default.(1.0)
正确答案: 错误
45、MySQL数据库的默认服务端口是8080(1.0)
正确答案: 错误
46、Session是在服务器端保存用户信息。(1.0)
正确答案: 正确
47、Statement和PreparedStatement都是能够执行sql语句的对象,前者能对sql语句进行预处理;后者在执行sql语句时,存在SQL注入的风险。
(1.0)
正确答案: 错误
48、一个能够被预编译的sql语句中,可以使用占位符‘*’来代替参数。
(1.0)
正确答案: 错误
49、Object 类定义了线程同步与交互的方法 。
(1.0)
正确答案: 正确
50、一个Java多线程的程序不论在什么计算机上运行,其结果始终是一样的。(1.0)
正确答案: 错误