单选题
1、下列哪个方法不是Filter接口中定义的方法(C)。
-
A、init()
-
B、doFilter()
-
C、help()
-
D、destroy()
参考答案 : C
答案说明 : init()方法是Filter的初始化方法。 doFilter()方法完成实际的过滤操作。 destroy() 该方法用于释放被Filter对象打开的资源。
2、下列关于<c:out>标签的说法,错误的是( D )
-
A、<c:out>标签用于输出数据
-
B、<c:out>标签能够实现类似于JSP表达式的功能
-
C、<c:out>标签的value属性指定要输出的数据
-
D、<c:out>标签的value属性不能是EL表达式
参考答案 : D
答案说明 : <c:out>标签的value属性可以是EL表达式
3、在Servlet中,response.getWriter()返回的是(B)。
-
A、JspWriter对象
-
B、PrintWriter对象
-
C、Out对象
-
D、ResponseWriter对象
参考答案 : B
答案说明 : getWriter()返回一个PrintWriter object
4、阅读下面代码片段: c_out.jsp: <%--第1个out标签 --%> userName1属性的值为: <c:out value="username1" default="unknown" /> <%--第2个out标签 --%> userName2属性的值为: <c:out value="username2"> unknown </c:out> 当使用浏览器访问c_out.jsp时页面显示的效果是(B)
-
A、userName1属性的值为:unknown userName2属性的值为: username2
-
B、userName1属性的值为:username1 userName2属性的值为: username2
-
C、userName1属性的值为: null userName2属性的值为: null
-
D、userName1属性的值为:username1 userName2属性的值为: unknown
参考答案 : B
答案说明 : 输出文本内容为value属性的值,当value属性为null时则输出的默认值
5、关于Filter的生命周期,下列说法错误的是 (B)。
-
A、创建一个Filter对象之后,服务器调用init()方法对该对象初始化
-
B、在Filter的生命周期中,init()方法将被执行很多次
-
C、Filter的生命周期与其接口中的三个方法对应
-
D、在Filter的生命周期中,doFiltert()方法将被执行很多次
参考答案 : B
答案说明 : 在一次完整的请求当中,Filter对象只会创建一次,init()方法也只会执行一次。
6、阅读下面代码片段: c_if.jsp: <body> <c:if test="${1==1}" > hello world </c:if> </body> 当在浏览器访问该c_if.jsp时的效果是( C )
-
A、浏览器空白,控制台有信息显示
-
B、浏览器报错,控制台出现异常
-
C、浏览器显示:hello world,控制台正常
-
D、浏览器正常,控制台显示:hello world
参考答案 : C
答案说明 : test属性用于设置逻辑表达式,结果为true时则要输出标签体中的内容
7、在c_if.jsp有如下部分代码: <c:if test="true" > true </c:if> <c:else test="false" > false </c:else> 对于上述代码片段说法正确的是(B)
-
A、该页面代码部署启动时,控制台会报错
-
B、在该页面会出现编译错误,并有红叉提示
-
C、访问该页面会出现结果:true false
-
D、访问该页面时,浏览器没有任何信息显示
参考答案 : B
答案说明 : 没有<c:else>标签,标签中的内容都显示在页面
8、@WebFilter的常用属性中,用于映射将要拦截的URL的属性是(C)。
-
A、filterName
-
B、dispatcherTypes
-
C、urlPatterns
-
D、initParams
参考答案 : C
答案说明 : filterName指定过滤器的名称,dispatcherTypes 指定过滤器的转发模式,urlPatterns 指定一组过滤器的URL匹配模式,initParams指定过滤器的一组初始化参数
9、下列接口中,用于调用过滤器链中下一个过滤器的是(B)。
-
A、Filter接口
-
B、FilterChain接口
-
C、FilterConfig接口
-
D、ServletResponse接口
参考答案 : B
答案说明 : FilterChain对象提供了一个doFilter()方法,该方法的作用是让Filter链上的当前过滤器放行,使请求进入下一个Filter。
10、下列JSTL标签中,不属于流程控制标签的是( A )
-
A、<c:set>
-
B、<c:choose>
-
C、<c:when>
-
D、<c:if>
参考答案 : A
答案说明 : <c:set>标签用于设置变量值和对象属性
11、在Filter配置信息中,不属于dispatcherTypes元素的可选值是(C)。
-
A、INCLUDE
-
B、FORWARD
-
C、RESPONSE
-
D、REQUEST
参考答案 : C
答案说明 : dispatcherTypes取值包括:ERROR、FORWARD、INCLUDE、REQUEST
12、关于JSTL标签库,下列说法错误的是( D )
-
A、JSTL简化了JSP和Web应用程序的开发
-
B、JSTL以一种统一的方式减少了JSP中的脚本代码数量
-
C、JSTL为条件判断、迭代、国际化、数据库访问等提供支持
-
D、JSTL是JSP2.0的重要特性,编写JSP页面时不需要引入标签库
参考答案 : D
答案说明 : 从JSP 1.1规范开始,JSP就支持使用自定义标签,Sun公司制定了一套标准标签库(JavaServer Pages Standard Tag Library),简称JSTL。使用这些标签库之前,必须在JSP页面的顶部使用<%@ taglib%>指令定义引用的标签库和访问前缀。
13、下列关于Filter的描述中,正确的是 (C)。
-
A、Filter只能过滤页面
-
B、Filter只能过滤Servlet
-
C、Filter程序必须实现Filter接口
-
D、一次请求只能用一个Filter
参考答案 : C
答案说明 : 在一个Web应用程序中可以注册多个Filter,每个Filter都可以针对某一个URL的请求进行过滤,可以过滤html、jsp、Servlet、js等资源
14、下面选项中,能够返回Filter设置的所有初始化参数名称的方法是(D)
-
A、getServletContext()
-
B、getFilterName()
-
C、getInitParameter(String name)
-
D、getInitParameterNames()
参考答案 : D
答案说明 : getServletContext()返回FilterConfig对象中封装的ServletContext对象 String getFilterName()返回Filter的名称。 String getInitParameter(String name)返回名为name的初始化参数值。 getInitParameterNames() 返回Filter所有初始化参数的枚举。
15、阅读下面代码片段: <c:set var="sum" value="0"/> <c:forEach var="i" begin="2" end="10" step="2"> <c:set var="sum" value="${sum+i}"/> </c:forEach> sum=${sum} 对于上述代码片段说法正确的是( C )
-
A、输出1到10的和值
-
B、输出1到10之间的奇数和值
-
C、输出1到10之间的偶数和值
-
D、输出0
参考答案 : C
答案说明 : <c:set>标签用于设置变量值和对象属性, <c:forEach >的var属性用于将当前迭代到的元素保存到page域中的名称,items属性用于指定将要迭代的集合对象,begin属性用于指定从集合中第几个元素开始进行迭代,begin的索引值从0开始,如果没有指定items属性,就从begin指定的值开始迭代,直到迭代结束为止。step属性用于指定迭代的步长,即迭代因子的增量。
判断题
16、@WebFilter注解的dispatcherTypes属性值为ERROR时,如果通过声明式异常处理机制调用目标资源,那么过滤器将被调用。
参考答案 : 对
答案说明 : 无
17、taglib指令的uri属性用于指定引入标签库描述符文件的URI。
参考答案 : 对
答案说明 : 无
18、Filter链中各个Filter执行请求时的拦截顺序与响应时的拦截顺序相同。
参考答案 : 错
答案说明 : 当Web服务器对请求做出响应时,响应结果也会被过滤器拦截,拦截顺序与之前相反,最终响应结果被发送给客户端
19、<c:out>标签用于把表达式计算的结果输出到JSP页面。
参考答案 : 对
答案说明 : 无
20、JSTL标签库中的Core标签库的URI为http://java.sun.com/jsp/core。
参考答案 : 错
答案说明 : 核心标签库的taglib指令URI为http://java.sun.com/jsp/jstl/core