JAVA试题_4
- 格式:pdf
- 大小:153.55 KB
- 文档页数:6
04_JAVA练习题第四章-面向对象概念[单选题]1.下列哪种类成员修饰符修饰的变量只能在本类中被访问?()A)protectedB)publicC)defaultD)private答案:D解析: 【解析】只有私有访问权限修饰符才能限制变量只能在本类中被访问2.在Java 语言中,哪一个包中的类是自动导入的?()A)ngB)java.awtC)java.ioD)java.applet答案:A解析: 【解析】只有ng 包中的类能够被自动导入。
3.给出下面的程序代码:public class X4_1_3{ private float a;public static void m ( ){ }}如何使成员变量a 被方法m( )访问()A)将private float a 改为protected float aB)将private float a 改为public float aC)将private float a 改为static float aD)将private float a 改为float a答案:C解析: 【解析】static 类型的方法只能访问static 类型的数据成员。
4.有一个类B,下面为其构造方法的声明,正确的是()。
A)void B(int x) {}B)B(int x) {}C)b(int x) {}D)void b(int x) {}答案:B解析: 【解析】构造方法没有类型,且方法名与类名相同。
5.下面关于类的说法,不正确的是()。
A)类是同种对象的集合和抽象B)类属于Java 语言中的复合数据类型C)类就是对象D)对象是Java 语言中的基本结构单位答案:C解析: 【解析】类是对象的抽象,对象是类的实例,因此类和对象是有区别的。
6.下面关于方法的说法,不正确的是()。
A)Java 中的构造方法名必须和类名相同B)方法体是对方法的实现,包括变量声明和合法语句C)如果一个类定义了构造方法,也可以用该类的默认构造方法D)类的私有方法不能被其他类直接访问答案:C解析: 【解析】类中一旦用户定义了构造方法,该类默认的构造方法就不存在了,除非用户再自定义该类的默认构造方法。
集合部分测试题本套题共40道,前30道为单选,后10道为多选。
单选题2分/题,多选题4分/题。
多选题不全对半分,全对满分。
单选题1.LinkedList类的特点是( )A.查询快B.增删快C.元素不重复D.元素自然排序2.关于迭代器说法错误的是( )A.迭代器是取出集合元素的方式B.迭代器的hasNext()方法返回值是布尔类型C.List集合有特有迭代器D.next()方法将返回集合中的上一个元素3.单列集合的顶层接口是( )A.java.util.MapB.java.util.CollectionC.java.util.ListD.java.util.Set4.实现下列哪个接口,可以启用比较功能( )A.Runnable接口B.Iterator接口C.Serializable接口parator接口5.对于增强for循环说法错误的是( )A.增强for循环可以直接遍历Map集合B.增强for循环可以操作数组C.增强for循环可以操作Collection集合D.增强for循环是JDK1.5版本后出现的6.下面代码运行的结果是( )ArrayList<String> al = new ArrayList<String>();al.add(true);al.add(123);al.add(“abc”);System.out.println(al);A.编译失败B.[true,123]C.[true,123,abc];D.[abc];7.将Map集合中的键存储到Set集合的方法是( )A.entrySet()B.get()C.keySet()D.put()8.ArrayList和Vector的区别说法正确的是( )A.ArrayList是线程安全的,Vector是线程不安全B.ArrayList是线程不安全的,Vector是线程安全的C.ArrayList底层是数组结构,Vector底层是链表结构D.ArrayList底层是链表结构,Vector底层是数组结构9.Set集合的特点是( )A.元素有序B.元素无序,不存储重复元素C.存储重复元素D.Set集合都是线程安全的10.A rrayList的初始化内容如下:ArrayList<String> list = new ArrayList<>();list.add("java");list.add("aaa");list.add("java");list.add("java");list.add("bbb");下面可以删除list中所有的“java”的代码是( )a)for (int i = list.size()-1; i >= 0; i--) { if("java".equals(list.get(i))){list.remove(i);}}b)for (int i =0; i < list.size(); i++) {if("java".equals(list.get(i))){list.remove(i);}}c) list.remove("java");d) list.removeAll("java");11.V ector类的特点是( )A.线程同步B.线程不同步C.增删快D.底层是链表结构12.使用TreeSet的无参构造创建集合对象存储元素时,该元素必须 ( )A.必须实现Comparable接口B.有main方法C.有get和set方法D.必须实现Serializable接口13.下列方法不是Collection通用方法的有( )a) iterator()b) add()c) get(); //list特有d) remove()14.对于HashMap集合说法正确的是( )A.底层是数组结构B.底层是链表结构C.可以存储null值和null键D.不可以存储null值和null键15.C ollections工具类中的binarySearch()方法描述正确的是( )A.binarySearch()方法只能操作Set集合B.binarySearch()方法只能操作List集合C.binarySearch()方法只能操作Map集合D.binarySearch()可以操作所有的集合16.将集合转成数组的方法是( )A.asList()B.toCharArray()C.toArray()D.copy()17.父类声明:public class FXfather<T>{….}现在要定义一个Fxfather的子类son,下面定义错误的是( )a) class Son extends FXfather<String>{}b) class Son<T,V> extends FXfather<T>{}c) class Son<String> extends FXfather<String>{}d) class Son<String> extends FXfather<T>{}18.A rrayList类的底层数据结构是( )A.数组结构B.链表结构C.哈希表结构D.红黑树结构19.应用程序的main方法中有以下语句(请参看API文档)Hashtable hashtable=new Hashtable();hashtable.put("100","aaa");hashtable.put("200","bbb");hashtable.put("300","ccc");System.out.println(hashtable.get("300").toString()+ hashtable.get("200").toString() + hashtable.get("100").toString());则输出的结果是 ( )。
一.单选题1.下列哪个是反斜杠字符的正确表示?A、\\B、*\\C、\D、\’\’2.下列属于合法的Java标识符是____。
A、_catB、5booksC、+staticD、-3.141593.在 Java 中,表示换行符的转义字符是____。
A、\nB、\fC、'n'D、\dd4.下列赋值语句中错误的是A、float f=11.1fB、double d=5.3E12;C、char c='\r';D、byte bb=433;5.下列哪个数代表八进制整数?A、0XA6B、-1E3C、1840D、01446.int 型 public 成员变量 MAX_LENGTH,该值保持为常数100,则定义这个变量的语句是____。
A、public int MAX_LENGTH=100B、final int MAX_LENGTH=100C、public const int MAX_LENGTH=100D、public final int MAX_LENGTH=1007.十进制数16的16进制表示格式是____。
A、0x10B、0x16C、0xAD、0168.char 类型的取值范围是___。
A、2-7~27-1B、0~216-1C、-215~215-1D、0~28-19.下列叙述中,正确的是____。
A、Java语言的标识符是区分大小写的B、源文件名与public类名可以不相同C、源文件名其扩展名为.jarD、源文件中public类的数目不限10.在 Java 中,表示换行符的转义字符是____。
A、\nB、\fC、'n'D、\dd11.指出正确的表达式A、 byte=128;B、 Boolean=null;C、 long l=0xfffL;D、 double=0.9239d;12.Java的字符类型采用的是Unicode编码方案,每个Unicode码占用____个比特位。
一、填空题1、在程序开发中,要想将一个包中的类导入到当前程序中,可以使用______关键字。
2、在Java语言中,所有的类都直接或间接继承自______类。
3、如果子类想使用父类中的成员,可以通过关键字______引用父类的成员。
4、若int a[3][2]={{123,345},{34,56},{34,56}},则a[2][1]= ______。
5、定义在类中的变量被称为______,定义在方法中的变量被称为______6、编译Java程序需要使用______命令。
7、若x = 2,则表达式( x + + )/3 的值是______。
8、面向对象的三大特征是______、______和______。
9、String类中用于返回字符串字符个数的方法是_____。
10、定义一个Java类时,如果前面加使用______关键字修饰,那么该类不可以被继承。
二、选择题1、关于方法重载的描述,以下选项中哪些是正确的?(多选)A、方法名必须一致B、返回值类型必须不同C、参数个数必须一致D、参数的个数或类型不一致2、已知类的继承关系如下:class Employee;class Manager extends Employeer;class Director extends Employee;则以下语句能通过编译的有哪些?A、Employee e=new Manager();B、Director d=new Manager(); 。
C、Director d=new Employee();D、Manager m=new Director();3、关于抽象类的说法哪些是正确的?(多选)A、抽象类中可以有非抽象方法。
B、如果父类是抽象类,则子类必须重写父类所有的抽象方法。
C、不能用抽象类去创建对象。
D、接口和抽象类是同一个概念。
4、在以下什么情况下,构造方法会被调用?A、类定义时B、创建对象时C、调用对象方法时D、使用对象的变量时5、先阅读下面的程序片段:String str1=new String("java");String str2=new String("java");StringBuffer str3=new StringBuffer("java");对于上述定义的变量,以下表达式的值为true的是哪个?A、str1==str2;B、str1.equals(str2);C、str1==str3;D、以上都不对6、先阅读下面的程序片段:String str = "abccdefcdch";String[] arr = str.split("c");System.out.println(arr.length);程序执行后,打印的结果是几?A、2个B、3个C、4个D、5个7、下面哪一个是正确的类的声明?A、public void HH{…}B、public class Move(){…}C、public class void number{}D、public class Car{…}/8、使用this调用类的构造方法,下面的说法正确的是?(多选)A、使用this调用构造方法的格式为this([参数1,参数2…])B、只能在构造方法中使用this调用其它的构造方法C、使用this调用其它构造方法的语句必须放在第一行D、不能在一个类的两个构造方法中使用this互相调用9、在Java中,要想让一个类继承另一个类,可以使用以下哪个关键字?A、inheritsB、implementsC、extendsD、modifies10、类中的一个成员方法被下面哪个修饰符修饰,该方法只能在本类被访问?A、publicB、protectedC、privateD、defaul11、下面对于构造方法的描述,正确有哪些?(多选)A、方法名必须和类名相同B、方法名的前面没有返回值类型的声明C、在方法中不能使用return语句返回一个值D、当定义了带参数的构造方法,系统默认的不带参数的构造方法依然存在12、关于super关键字以下说法哪些是正确的?(多选)A、super关键字可以调用父类的构造方法B、super关键字可以调用父类的普通方法C、super与this不能同时存在于同一个构造方法中D、super与this可以同时存在于同一个构造方法中13、请先阅读下面的代码public class Test {public Test(){System.out.println("构造方法一被调用了");}public Test(int x){this();System.out.println("构造方法二被调用了");}public Test(boolean b){this(1);System.out.println("构造方法三被调用了");}public static void main(String[] args) {Test test = new Test(true);}}上面程序的运行结果为下列哪一项?A、构造方法一被调用了B、构造方法二被调用了C、构造方法三被调用了D、以上三个选项之和14、String s = "abcdedcba";则s.substring(2,3)返回的字符串是以下选项中的哪个?A、cdB、deC、dD、e15、以下关于变量的说法错误的是?A、变量名必须是一个有效的标识符B、变量在定义时可以没有初始值C、变量一旦被定义,在程序中的任何位置都可以被访问D、在程序中,可以将一个byte类型的值赋给一个int类型的变量,不需要特殊声明三、程序分析题阅读下面的程序,分析代码是否能够编译通过,如果能编译通过,请列出运行的结果。
精心整理集合部分测试题考试宣言:同学们,考试考多少分不是我们的目的!排在班级多少的名次也不是我们的初衷!允许将null用作键或值2.LinkedList类的特点是(B)a)查询快b)增删快c)元素不重复d)元素自然排序3.关于迭代器说法错误的是(D)a)迭代器是取出集合元素的方式b)迭代器的hasNext()方法返回值是布尔类型d)增强for循环是JDK1.5版本后出现的7.下面代码运行的结果是(A)ArrayList<String>al=newArrayList<String>();al.add(true);al.add(123);al.add(“abc”);a)编译失败b)[true,123]c)[true,123,abc];b)元素无序,不存储重复元素c)存储重复元素d)Set集合都是线程安全的11.ArrayList的初始化内容如下:?ArrayList<String>list=new ArrayList<>();list.add("java");list.add("aaa");list.add("java");list.add("java");list.add("bbb");下面可以删除list中所有的“java”的代码是(Ab)?A?a)13.使用TreeSet的无参构造创建集合对象存储元素时,该元素必须(A)a)实现Comparable接口b)有main方法c)有get和set方法d)实现Serializable接口14.下列方法不是Collection通用方法的有(C)a)iterator()b)add()if(map.contains(ch[i])){map.put(ch[i],(Integer)map.get(ch[i])+1);}else{map.put(ch[i],1);}c)if(map.containsKey(ch[i])){map.put(ch[i],(int)map.get(ch[i])+1);}else{map.put(ch[i],1);}d)if(map.containsKey(ch[i])){map.put(ch[i],(Integer)map.get(ch[i])+1);}else{map.put(ch[i],1);19.下面关于HashMap和Hashtable的区别,说法正确的是(CD)a)Hashtable线程不安全,效率高b)HashMap线程安全,效率低c)HashMap允许null键和值d)Hashtable不允许null键和值20.将集合转成数组的方法是(b)Ca)asList()b)toCharArray()c)toArray()b)classSon<T,V>extendsFXfather<T>{}c)classSon<String>extendsFXfather<String>{}d)classSon<String>extendsFXfather<T>{}23.ArrayList类的底层数据结构是(a)a)数组结构b)链表结构c)哈希表结构d)红黑树结构24.应用程序的main方法中有以下语句(请参看API文档)a)增加集合中的元素b)迭代集合c)修改集合中的元素d)获取集合中元素的个数26.下面代码运行的结果是(B)ArrayList<String>al=newArrayList<>();al.add("s");al.add("ddd");al.add("true");map.put(“den”,300);Set位置①set=位置②;for(位置③per:set){}下列每个选项中分别填入上面三个位置,正确的是(d)a)<Entry>map.keySet()Entry30.关于Map.Entry接口说法错误的是(c)a)具有getkey()方法b)具有getValue()方法c)具有keySet()方法d)具有setValue()方法31.下列代码publicclass Base{privatevoid test(){StringaStr="_One_";StringbStr=aStr;bStr=aStr.trim();System.out.println("["+aStr+","+bStr+"]");33.以下能以键_值对的方式存储对象的接口是(abc)B34.在我们所学知识中,下面哪几项是接口(abcd)a)java.util.Mapb)java.util.Collectionc)java.util.Listd)java.util.Set35.List集合的遍历方式有如下哪几种(abc)a)Iterator迭代器实现b)增强for循环实现c)get()和size()方法结合实现p1.setUserName(“terry”);Personp2=newPerson();p2.setIdCard(newLong(1002));p2.setUserName(“tom”);list.add(p1);list.add(p2);for(位置①){}那么位置①处的代码为dal.add(“c1”);}}a)[a,b,c]b)[c1]c)[a,b,c,c1]d)抛出ConcurrentModificationException异常38.下面关于泛型的说法不正确的是(d)a)泛型的具体确定时间可以是在定义方法的时候d)使用泛型必须进行强制类型转换。
武汉工程大学Java语言与面向对象程序设计考试试卷及参考答案4一、单项选择题(5’)1.下面类定义中哪一个定义了一个不允许有子类的类?()A、class Key {}B、abstract final class Key {}C、class Key {final;}D、final class Key {}答案:D2.下面程序的输出是()。
System.out.println(4 | 7);A、4B、5C、6D、7答案:D3.以下选项中,合法的赋值语句是()。
A、a==1B、++iC、a=a+1=5D、!(++a!=b--)答案:B4.下面语句序列执行后,a的值是()。
int a=13; a%=a/5;A、3B、13C、169D、1答案:D5.下面类定义中哪一个给出了合法的抽象类的定义?()A、abstract Animal {abstract void growl();}B、class abstract Animal {abstract void growl();}D、abstract class Animal{abstract void growl(){System.out.println("growl");}}答案:C6.在编写Java Applet程序时,若需要对发生的事件作出响应和处理,一般需要在程序的开头写上()语句。
A、import java.awt.*B、import java.applet.*C、import java.io.*D、import java.awt.event.*答案:D7.下面程序的输出是()。
System.out.println(2 | 3);A、1B、2C、3D、4答案:C8.下面的语句的作用是:()。
Vector MyVector = new Vector(100,50);A、创建一个数组类对象MyVector,有100个元素的空间,每个元素的初值为50B、创建一个向量类对象MyVector,有100个元素的空间,每个元素的初值为50C、创建一个数组类对象MyVector,有100个元素的空间,若空间使用完时,以50个元素空间单位递增D、创建一个向量类对象MyVector,有100个元素的空间,若空间使用完时,以50个元素空间单位递增答案:D9.下面程序段的输出结果是()。
全国计算机等级考试二级Java语言程序设计真题精选4一、单项选择题1.一个栈的初始状态为空。
现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是()。
A.12345ABCDEB.EDCBA54321 √C.ABCDE12345D.54321EDCBA解析:栈是操作受限的线性表,栈只能在栈顶插入和删除元素,按照先进后出的原则组织数据,入栈的顺序为12345ABCDE,题目要求各元素依次出栈,因此出栈的顺序为EDCBA54321。
2.下列叙述中正确的是()。
A.循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C.在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D.循环队列中元素的个数是由队头指针和队尾指针共同决定√解析:循环队列是指用一段地址连续的存储单元存储数据元素,定义两个游标:指向队头的游标(front)、指向队尾的游标(rear)。
循环队列是将队列存储空间的最后一个位置绕到第一个位置,形成逻辑上的环形空间。
循环队列仍然是顺序存储结构,是线性结构。
循环队列中的元素是动态变化的,每进行一次入队运算,队尾指针就加一,每进行一次出队运算,队头指针就加一,可见由队头指针和队尾指针一起反映队列中元素的动态变化情况。
从队头指针front指向的后一个位置直到队尾指针rear指向的位置之间所有的元素均为队列中的元素。
3.在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是()。
A.O(n)B.O(n2)n)√C.O(log2D.O(nlogn)2解析:二分法查找又称为折半查找,它充分利用元素间的次序关系,不断的将序列分为可能包含和必然不包含的两部分,采用分治策略,可以快速查找成功,但要求线性表必须采用顺序存储的方法。
可以证明对于长度为n的有序线n次。
性表,在最坏情况下,二分法查找只需要比较log24.下列叙述中正确的是()。
一有关java的第四次题一、【必做题】1.(1)定义一个人类Person:1)定义一个方法sayHello(),可以向对方发出问候语“hello,my name is __” 2)有三个属性:名字、身高、体重(2)定义一个PersonCreate类:1)创建两个对象,分别是zhangsan,33岁,1.73;lishi,44,1.74 2)分别调用对象的sayHello()方法。
(答案:Person.java、PersonCreate.java)2.(1)定义一个人类Person:1)定义一个方法sayHello(),可以向对方发出问候语“hello,my name is __”2)有三个属性:名字、身高、体重3)通过构造方法,分别给三个属性赋值(2)定义一个Constructor类:1)创建两个对象,分别是zhangsan,33岁,1.73;lishi,44,1.74 2)分别调用对象的sayHello()方法。
(答案:Constructor.java、或者是Person3.java)3.(1)定义一个矩形类Rectangle:1)定义三个方法:getArea()求面积、getPer()求周长,showAll()分别在控制台输出长、宽、面积、周长。
2)有2个属性:长length、宽width3)通过构造方法Rectangle(int width, int length),分别给两个属性赋值(答案:Rectangle.java)4.定义一个点类Point,包含2个成员变量x、y分别表示x和y坐标,2个构造器Point()和Point(int x0,y0),以及一个movePoint(int dx,int dy)方法实现点的位置移动。
5.编写一个程序,创建两个Point对象p1、p2,分别调研movePoint方法后,打印p1和p2的坐标。
6.(1)定义一个动物类Creature1)定义一个方法setSnarl(Cat cat)可以设置动物发出猫的声音2)setSnarl(Dog dog)可以设置动物发出狗的声音3)定义一个outPut()方法,可以输出动物的声音(2)要求定义一个猫类Cat,具有猫的声音,将猫类传入动物类Creature的吼叫方法setSnarl(Cat cat)可以设置动物发出猫的声音(3)要求定义一个狗类Dog,具有狗的声音,将狗类传入动物类Creature的吼叫方法setSnarlDog dog)可以设置动物发出狗的声音(4)定义一个Sound类,在main方法里调用Creature类的setSnarl()和outPut()方法分别设置动物的声音和输出动物的声音效果显示:7.定义一个圆类Circle,描述圆对象。
第8章Servlet技术一、选择题:(1)下列关于Servlet的功能描述正确的是。
A)Servlet可以创建并返回一个包含基于客户请求性质的动态内容的完整的HTML页面B)Servlet可以创建可嵌入到现有HTML页面中的一部分HTML页面C)Servlet可以与其它服务器资源(包括数据库和基于Java的应用程序)进行通信D)Servlet可以用多个客户端处理连接,接收多个客户端的输入,并将结果广播到多个客户端上。
E)Servlet对特殊的处理采用MIME类型过滤数据,例如图像转换或者Word文档转换ABCDE(2)下列关于Servlet技术的特点说法正确的是。
A)可移植性好B)功能强大C)安全,简洁,和服务器紧密集成D)高效耐用E)Java语言能实现的功能,Servlet基本都能实现ABDE(3)Servlet的生命周期包括下列哪几个阶段。
A)装载ServletB)创建一个Servlet实例C)调用init()方法D)激活Service()方法,并传递请求和响应对象E)调用destroy()方法来销毁ServletBCDE(4)下列对HttpServlet类描述错误的是。
A)HttpServlet类是针对使用Http协议的Web服务器的Servlet类B)HttpServlet类通过执行Servlet借口,能够提供Http协议的功能C)HttpServlet的子类实现了doGet()方法去响应HTTP的Get请求D)HttpServlet的子类实现了doPost()方法去响应HTTP的Post请求E)HttpServlet类通过init()方法和destory()方法管理Servlet自身的资源E(5)下列对于web.xml的配置说法错误的是。
A)在web.xml描述中,首先要声明ServletB)在web.xml描述中,要指定这个Servlet的名字C)在web.xml描述中,要指定这个Servlet的类D)在web.xml描述中,要为Servlet做URI映射E)在web.xml中不可同时指定多个ServletE第9章Servlet常用接口一、选择题:(1)下列关于ServletConfig接口说法错误的是。
A)ServletConfig接口是一个由Servlet容器使用的Servlet配置对象B)ServletConfig接口用于在Servlet初始化时向它传递信息C)ServletConfig接口拥有getInitParameter()方法D)ServletConfig接口拥有getServletName()方法E)ServletConfig接口的getServletContext()方法不返回任何值E(2)下面关于ServletException的方法说法正确的是。
A)ServletException()方法构建一个新的Servlet异常B)ServletException(String message)方法构建一个指定信息的新的Servlet异常C)ServletException(ThrowablerootCause)方法构建一个新的Servlet异常,Servlet需要时抛出,包含妨碍正常操作的根异常信息D)getRootCause()方法返回引起Servlet异常的原因E)以上方法只有A,B正确(3)下列关于ServletRequest接口能处理的事情中,说法正确的是。
A)找到客户端的主机名和IP地址B)检索请求参数C)取得和设置属性D)设置输入和输出流E)取得输入和输出流ABCDE(4)下面关于HttpServletRequest接口描述错误的是。
A)HttpServletRequest接口中最常用的方法就是获得请求的参数B)JSP中的内建对象request是一个HttpServletRequest实例C)HttpServletRequest主要处理读取和写入HTTP头标D)HttpServletRequest主要处理取得路径信息和标识HTTP会话,取得和设置cookies E)HttpServletRequest主要处理取得输入和输出流C(5)下面关于HttpServletResponse接口描述正确的是。
A)HttpServletResponse代表了对客户端的Http响应B)JSP中的内建对象response是一个HttpServletResponse实例C)etCharacterEncoding(String charset)方法设置响应的MIME类型D)getWriter()方法取得PrintWriter对象,来输出字符数据E)setContentType()方法设置响应的MIME类型DBA(6)下列关于RequestDispatcher接口描述错误的是。
A)RequestDispatcher接口定义一个对象,该对象负责在服务器端接收来自客户端的请求并向他们发送资源B)RequestDispatcher接口被Servlet引擎用来实现Http客户端和Http会话两者之间的关联C)RequestDispatcher接口拥有forward()方法D)RequestDispatcher接口拥有include()方法E)RequestDispatcher接口的getId()方法返回会话ID,Servlet引擎设置的一个唯一关键字ABDE(7)下列说法正确的是:。
A)Filter接口可以帮助我们在WEB应用中实施过滤技术B)Filter接口拥有Init(FilterConfigfilterConfig)方法C)FilterChain是代码的过滤链,通过这个接口把过滤的任务在不同的Filter之间转移D)FilterConfig接口代表了Filter的配置E)FilterChain接口代表了Filter的配置ACD第10章Servlet请求响应机制一、选择题:(1)一个完整的HTTP事务处理过程包括。
A)连接TCP/IP连接B)客户端发出请求信息C)设置MIME类型D)服务器响应信息E)结束连接ABCDE(2)下面关于MIME类型说法错误的是。
A)应用程序使用application类型在网上传递应用程序数据或二进制数据B)使用video类型传送音频数据C)使用image类型传送图像D)使用message类型处理电子邮件信息E)使用text类型查找表文件信息BE(3)下面关于Servlet处理表单数据的选项说法正确的有。
A)Servlet通常是从POST和GET请求中接收数据B)Servlet对POST和GET请求的接收方式是不相同的C)getParameterNames()方法返回请求中所有参数名的枚举D)getParameter(String name)方法返回指定输入参数,如果不存在,返回nullE)getParameterValues(String name)方法返回指定输入参数名的取值数组,如果取值不存在则返回nullABDE(4)下列有关HTTP请求报头域说法正确的是。
A)Accept:用于指定客户端接受哪些类型的信息B)Host:主要用于指定被请求资源的Internet主机和端口号C)User-Agent:允许客户端将它的操作系统浏览器和其他属性告诉服务器D)Connnection:标明客户是否能够处理持续性HTTP连接E)Referer:包含一个URL,用户从该URL代表的页面出发访问当前请求的页面ADE(5)下面哪个状态代码表示“Not Found无法找到指定位置的资源”。
A)100B)201C)301D)400E)404E(6)下面哪个方法设置MIME类型。
A)setHeader(String headerName,String headerValue)B)setContentType(String mimeType)C)setContentLength(int length)D)addCookie(Cookie c)E)addHeader(String name,String value)D(7)下面哪个HTTP响应报头表示设置浏览器多长时间(单位是秒)之后重新请求一次页面。
A)Refresh B)ExpiresC)Content-Type D)LocationE)Set-CookieA第13章请求转发机制(1)Servlet通过什么接口可以实现请求转发机制。
A)HttpServletRequest接口B)RequestDispatcher接口C)HttpServletResponse接口D)ServletConfig接口E)Filter接口B(2)下面关于RequestDispatcher.forward()方法说法正确的是。
A)Servlet类使用RequestDispatcher.forward()方法来转发他所收到的HTTP请求B)在调用forward()方法之前,不能有内容已经被实际输出到了客户端C)该方法允许一个Servlet对一个请求作初步处理,而另一个资源将产生响应D)该方法能包含服务器端的程序E)以上都正确ABCDE(3)下列那种方法能实现请求转发。
A)通过ServletRequest接口提供的getRequestDispatcher(String path)方法B)通过ServletContext接口提供的getRequestDispatcher(String path)方法C)通过ServletContext接口提供的getNamedDispatche(String name)方法D)通过HttpServletResponse接口提供的sendRedirect(String url)方法E)以上都可以AD(4)下列说法正确的有。
A)forward方法请求转发的组件只能是同一个WEB应用中B)RequestDispatcher对象指定的URL是相对于整个WEB站点的根目录C)sendRedirect方法中的URL是相对于当前WEB应用程序的根目录D)RequestDispatcher对象指定的URL是相对于当前WEB应用程序的根目录E)sendRedirect方法中的URL是相对于整个WEB站点的根目录AD(5)关于请求转发和请求重定向之间的区别有哪些。
A)RequestDispatcher对象指定的URL是相对于当前WEB应用程序的根目录,而sendRedirect方法中的URL是相对于整个WEB站点的根目录。
B)调用sendRedirect方法重定向的访问过程结束后,浏览器地址栏中显示的URL会改变;而调用forward方法就不会改变C)sendRedirect方法响应的结果就是告诉浏览器去重新发出对另外一个URL的访问请求。