单选题
1、
下面选项中,与request.getAttribute("p");等效的EL表达式是()
2分
-
A、A、$<request.p>
-
B、B、$[requestScope.p]
-
C、C、$(request.p)
-
D、D、${requestScope.p}
参考答案 :
D
答案说明 :
无
2、
阅读下面代码片段: c_if.jsp: <body> <c:if test="${1==1}" > hello world </c:if> </body> 当在浏览器访问该c_if.jsp时的效果是( )
2分
-
A、A、浏览器空白,控制台有信息显示
-
B、B、浏览器报错,控制台出现异常
-
C、C、浏览器显示:hello world,控制台正常
-
D、D、浏览器正常,控制台显示:hello world
参考答案 :
C
答案说明 :
test属性用于设置逻辑表达式,结果为true时则要输出标签体中的内容
3、
下列关于<c:out>标签的说法,错误的是( )
2分
-
A、A、<c:out>标签用于输出数据
-
B、B、<c:out>标签能够实现类似于JSP表达式的功能
-
C、C、<c:out>标签的value属性指定要输出的数据
-
D、D、<c:out>标签的value属性不能是EL表达式
参考答案 :
D
答案说明 :
<c:out>标签的value属性可以是EL表达式
4、
在c_if.jsp有如下部分代码: <c:if test="true" > true </c:if> <c:else test="false" > false </c:else> 对于上述代码片段说法正确的是()
2分
-
A、A、该页面代码部署启动时,控制台会报错
-
B、B、在该页面会出现编译错误,并有红叉提示
-
C、C、访问该页面会出现结果:true false
-
D、D、访问该页面时,浏览器没有任何信息显示
参考答案 :
C
答案说明 :
没有<c:else>标签,标签中的内容都显示在页面
5、
阅读下面代码片段: 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时页面显示的效果是()
2分
-
A、A、userName1属性的值为:unknown userName2属性的值为: username2
-
B、B、userName1属性的值为:username1 userName2属性的值为: username2
-
C、C、userName1属性的值为: null userName2属性的值为: null
-
D、D、userName1属性的值为:username1 userName2属性的值为: unknown
参考答案 :
B
答案说明 :
输出文本内容为value属性的值,当value属性为null时则输出的默认值
6、
下列选项中,关于EL表达式语法的声明正确的是()。
2分
-
A、A、$<username>
-
B、B、${username}
-
C、C、$(username)
-
D、D、$[username]
参考答案 :
B
答案说明 :
EL表达式的语法声明都是以"${"符号开始,以"}"符号结束的,具体格式如:${表达式},其中的表达式必须符合EL语法要求
7、
关于EL表达式语言,下列说法错误的是( )
2分
-
A、A、EL表达式中的变量要预先定义才能使用
-
B、B、它的基本形式为${var}
-
C、C、只有在JSP文件中才能使用EL语言,在Servlet类的程序代码中通常不使用它
-
D、D、它能使JSP文件的代码更加简洁
参考答案 :
A
答案说明 :
EL中的变量就是一个基本的存储单元,EL中的变量不用事先定义就可以直接使用。使用EL的方式获取域对象中存储的数据
8、
关于JSTL标签库,下列说法错误的是( )
2分
-
A、A、JSTL简化了JSP和Web应用程序的开发
-
B、B、JSTL以一种统一的方式减少了JSP中的脚本代码数量
-
C、C、JSTL为条件判断、迭代、国际化、数据库访问等提供支持
-
D、D、JSTL是JSP2.0的重要特性,编写JSP页面时不需要引入标签库
参考答案 :
D
答案说明 :
从JSP 1.1规范开始,JSP就支持使用自定义标签,Sun公司制定了一套标准标签库(JavaServer Pages Standard Tag Library),简称JSTL。使用这些标签库之前,必须在JSP页面的顶部使用<%@ taglib%>指令定义引用的标签库和访问前缀。
9、
下列JSTL标签中,不属于流程控制标签的是( )
2分
-
A、A、<c:set>
-
B、B、<c:choose>
-
C、C、<c:when>
-
D、D、<c:if>
参考答案 :
A
答案说明 :
<c:set>标签用于设置变量值和对象属性
10、
下列选项不属于EL中的关键字的是()
2分
-
A、A、and
-
B、B、or
-
C、C、not
-
D、D、no
参考答案 :
D
答案说明 :
EL中所有的关键字: and eq gt true instanceof or ne le false empty not lt ge null div mod
11、
关于EL表达式${(1==2)?3:4}的运算结果正确的是( )
2分
-
A、A、true
-
B、B、false
-
C、C、3
-
D、D、4
参考答案 :
D
答案说明 :
判断1是否等于2,等于返回3,不等于则返回4
12、
关于EL中的运算符,下列说法错误的是( )
2分
-
A、A、"-"运算符即可以作为减号,也可以作为负号
-
B、B、empty运算符不是一个前缀运算符
-
C、C、运算符(?:)类似于Java中的if-else语句
-
D、D、"/"或"div"运算符在进行除法运算时,商为小数
参考答案 :
B
答案说明 :
在EL中,判断对象是否为空,可以通过empty运算符实现,该运算符是一个前缀(prefix)运算符, 即empty运算符位于操作数前方,用来确定一个对象或变量是否为null或空。
13、
下列选项中,EL的标识符写法正确的是()
2分
-
A、A、123user"name
-
B、B、or
-
C、C、pageContext
-
D、D、username
参考答案 :
D
答案说明 :
EL的标识符不能以数字开头。不能是EL中的关键字,如and、or、gt等。不能是EL隐式对象,如pageContext。不能包含单引号(')、双引号(")、减号(-)和正斜线(/)等特殊字符。
14、
下列选项中,使用coolie获取对象的用法错误的是( )。
2分
-
A、A、 ${cookie.userName}
-
B、B、 ${cookie.userName.name}
-
C、C、 ${cookie.userName.value}
-
D、D、 ${cookie.userName.text}
参考答案 :
D
答案说明 :
cookie对象用法示例如下: 获取cookie对象的信息:${cookie.userName} 获取cookie对象的名称:${cookie.userName.name} 获取cookie对象的值:${cookie.userName.value}
15、
关于EL中的隐式对象,下列说法错误的是()。
2分
-
A、A、pageScope可以取出最小的域对象PageContext中的参数
-
B、B、request,session是El中的内置对象
-
C、C、EL中有11个隐式对象,常用的有pageScope,reuqestScope,sessionScope,applicationScope
-
D、D、EL和jstl相辅相成,丰富jsp功能
参考答案 :
B
答案说明 :
EL中有11个隐式对象,常用的有pageScope,reuqestScope,sessionScope,applicationScope。 request,session是JSP中的内置对象
16、
阅读下面代码片段: <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} 对于上述代码片段说法正确的是( )
2分
-
A、A、输出1到10的和值
-
B、B、输出1到10之间的奇数和值
-
C、C、输出1到10之间的偶数和值
-
D、D、输出0
参考答案 :
C
答案说明 :
<c:set>标签用于设置变量值和对象属性, <c:forEach >的var属性用于将当前迭代到的元素保存到page域中的名称,items属性用于指定将要迭代的集合对象,begin属性用于指定从集合中第几个元素开始进行迭代,begin的索引值从0开始,如果没有指定items属性,就从begin指定的值开始迭代,直到迭代结束为止。step属性用于指定迭代的步长,即迭代因子的增量。
判断题
17、
pageScope、requestScope、 sessionScope和applicationScope4个隐式对象都可以通过setAttribute()方法存储属性,通过getAttribute()方法获取属性
2分
-
-
参考答案 :
对
答案说明 :
无
18、
EL表达式的initParam隐式对象可获取web.xml文件中配置的Servlet信息。
2分
-
-
参考答案 :
错
答案说明 :
initParam对象用于获取Web应用初始化参数的值
19、
EL表达式中的隐式对象与JSP中的隐式对象除了pageContext对象是它们共有的,其它隐式对象则毫不相关。
2分
-
-
参考答案 :
对
答案说明 :
无
20、
initParam是用于获取Web应用初始化信息的隐式对象。
2分
-
-
参考答案 :
对
答案说明 :
无
21、
taglib指令的uri属性用于指定引入标签库描述符文件的URI。
2分
-
-
参考答案 :
对
答案说明 :
无
22、
EL表达式中条件运算符用于执行某种条件判断,它类似于Java语言中的if-else语句。
2分
-
-
参考答案 :
对
答案说明 :
无
23、
EL表达式都是以"${"符号开始,以"}"符号结束的,具体格式是${表达式}。
2分
-
-
参考答案 :
对
答案说明 :
无
24、
EL表达式提供的两种用于访问数据的操作符是.和[],两个作用完全一样。
2分
-
-
参考答案 :
错
答案说明 :
当要存取的属性名称中包含一些特殊字符,如.或?等并非字母或数字的符号时,就一定要使用[]。 如果要动态取值,就可以用[]来做,而.无法做到动态取值。
25、
<c:out>标签用于把表达式计算的结果输出到JSP页面。
2分
-
-
参考答案 :
对
答案说明 :
无
26、
JSTL标签库中的Core标签库的URI为http://java.sun.com/jsp/core。
2分
-
-
参考答案 :
错
答案说明 :
核心标签库的taglib指令URI为http://java.sun.com/jsp/jstl/core
填空题
27、
EL的隐式对象,代表application域中用于保存属性的Map对象。
2分
参考答案 :
【applicationScope】
答案说明 :
无
28、
EL的对象用于获取请求参数的某个值。
2分
参考答案 :
【param】
答案说明 :
无
29、
EL中的标识符不能以数字开头、不能包含特殊字符、不能是EL中的关键字和。
2分
参考答案 :
【EL隐式对象】
答案说明 :
EL的标识符不能以数字开头。不能是EL中的关键字,如and、or、gt等。不能是EL隐式对象,如pageContext。不能包含单引号(')、双引号(")、减号(-)和正斜线(/)等特殊字符。
30、
<c:forEach>标签可以迭代集合对象中的元素,包含Set、List、Map和等。
2分
参考答案 :
【数组】
答案说明 :
Core标签库提供了一个<c:forEach>标签,该标签专门用于迭代集合对象中的元素,如Set、List、Map、数组等
31、
JSTL标签库是由核心标签库、国际化/格式化标签库、XML标签库、函数标签库和共同组成。
2分
参考答案 :
【SQL标签库】
答案说明 :
JSTL标签库是由5个不同功能的标签库共同组成,这5个标签库分别是核心标签库、国际化/格式标签库、SQL标签库、XML标签库和函数标签库
32、
字符串常量是用单引号或引起来的一连串字符。
2分
参考答案 :
【双引号】
答案说明 :
无
33、
是用于获取Cookie信息的隐式对象。
2分
参考答案 :
【cookie】
答案说明 :
无
34、
EL的隐式对象,代表request域中用于保存属性的Map对象。
2分
参考答案 :
【requestScope】
答案说明 :
无
35、
如果要在JSP页面中导入Core标签库,需要使用指令。
2分
参考答案 :
【taglib】
答案说明 :
在使用JTL之前,必须在JSP页面的顶部使用<%@ taglib uri="" prefix=""%>指令定义引用的标签库和访问前缀。
36、
<c:set>标签用于给程序中的某个对象设置值,有效范围没有指定默认是。
2分
参考答案 :
【page】
答案说明 :
无