第三章 JSP语法基础
一、选择题
1.JSP的编译指令标记通常是指:(A)
A)Page指令、Include指令和Taglib指令 B)Page指令、Include指令和Plugin指令 C)Forward指令、Include指令和Taglib指令 D)Page指令、Param指令和Taglib指令
2.可以在以下哪个( )标记之间插入Java程序片?(A)
A)<% 和 %> B)<% 和 /> C) 和 %> D)<% 和 !>
3.下列哪一项不属于JSP动作指令标记?(D)
A)
4.JSP的Page编译指令的属性Language的默认值是:(A)
A)Java B)C C)C# D)SQL
5.JSP的哪个指令允许页面使用者自定义标签库?(B)
A)Include指令 B)Taglib指令 C)Include指令 D)Plugin指令
6.可以在以下哪个( )标记之间插入变量与方法声明?(B)
A)<% 和 %> B)<%! 和 %> C) 和 %> D)<% 和 !>
7.能够替代<字符的替代字符是()?(C)
A)< B)> C)< D)
8. 9.下列()注释为隐藏型注释。(C)。 A) B) C)<%-- 注释内容 --%> D)] --> 10.下列变量声明在( )范围内有效。(C)。 <%! Date dateTime; int countNum; %> A)从定义开始处有效,客户之间不共享 B)在整个页面内有效,客户之间不共享 C)在整个页面内有效,被多个客户共享 D)从定义开始处有效,被多个客户共享 11.在“<%!”和“%>”标记之间声明的Java的方法称为页面的成员方法,其在( )范围内有效。(C)。 A)从定义处之后有效。 B)在整个页面内有效。 C)从定义处之前有效。 D)不确定。 12.在“<%=”和“%>”标记之间放置(B),可以直接输出其值。 A) 变量 B)Java表达式 C)字符串 D)数字 13.include指令用于在JSP页面静态插入一个文件,插入文件可以是JSP页面、HTML网页、文本文件或一段Java代码,但必须保证插入后形成的文件是(B)。 A)是一个完整的HTML文件 B)是一个完整的JSP文件 C)是一个完整的TXT文件 D)是一个完整的Java源文件 14.JSP页面可以在“<%=”和“%>”标记之间放置Java表达式,直接输出Java表达式的值。组成“<%=”标记的各字符之间(B)。 A)可以有空格 B)不可以有空格 C)必须有空格 D)不确定 15.当一个客户线程执行某个方法时,其他客户必须等待,直到这个客户线程调用执行完毕该方法后,其他客户线程才能执行,这样的方法在定义时必须使用关键字( C ) A)public B)static C)synchronized D)private 二、判断题 1.在HTML页面文件中加入JSP脚本元素、JSP标记等就构成了一个JSP页面。(对) 2.JSP引擎执行字节码文件的主要人物之一是直接将HTML内容发给客户端。(对) 3.JSP页面中的变量和方法声明(Declaration)、表达式(Expression)和Java程序片(Scriptlet)统称为JSP标记。(对) 4.JSP页面中的指令标记、JSP动作标记统称为脚本元素。(错) 5.在“<%!”和“%>”标记之间声明的Java的变量在整个页面内有效,不同的客户之间不共享。(错) 6.在“<%!”和“%>”标记之间声明的Java的方法在整个页面内有效。(对) 7.页面成员方法不可以在页面的Java程序片中调用。(错) 8.程序片变量的有效范围与其声明位置有关,即从声明位置向后有效,可以在声明位置后的程序片、表达式中使用。(对) 9.程序片变量不同于在“<%!”和“%>”之间声明的页面成员变量,不能在不同客户访问页面的线程之间共享。(对) 10.JSP中Java表达式的值由服务器负责计算,并将计算值按字符串发送给客户端显示。(对) 11.在Java程序片中可以使用Java语言的注释方法,其注释的内容会发送到客户端。(错) 12.不可以用一个page指令指定多个属性的取值。(错) 13.jsp:include动作标记与include指令标记包含文件的处理时间和方式不同。(对) 14.jsp:param动作标记不能单独使用,必须作为jsp:include、jsp:forward标记等的子标记使用,并为它们提供参数。(对) 15. 16.JSP页面只能在客户端执行。(错 ) 17.JSP页面中不能包含脚本元素。(错 ) 18.Page指令不能定义当前JSP程序的全局属性。(错) 三、填空题 1.一个完整的JSP页面是由普通的HTML标记、JSP指令标记、JSP动作标记、变量声明与方法声明、 程序片(Scriptlet) 、表达式(Exception)、 注释(Comment) 7种要素构成。 2.JSP页面的基本构成元素,其中变量和方法声明(Declaration)、表达式(Expression)和Java程序片(Scriptlet)统称为JSP脚本元素 。 3.指令标记、JSP动作标记统称为 JSP标记 。 4.“<%!”和“%>”之间声明的方法在整个页面内有效,称为页面的成员方法 。 5.在“<%!”和“%>”之间声明的变量又称为 页面成员变量 ,其作用范围为整个JSP页面。 6.JSP页面的程序片中可以插入 HTML 标记。 7.当JSP页面的一个客户线程在执行 synchronized 方法时,其他客户必须等待。 8.JSP页面中,输出型注释的内容写在 “” 之间。 9.JSP声明函数时,如果在前面加上_synchronize 关键字,功能是当前一个用户在执行该方法时,其他用户必须等待,直到该用户完成操作。 10.Page指令的属性Language的默认值是_Java____。 四、思考题 1.include标记与include动作标记有什么区别? 2.如何保证页面跳转时当前页面与跳转页面之间的联系? 3.如果有两个用户访问一个JSP页面,该页面的程序片将被执行几次? 4.在<%!和%>之间声明的变量和在<%和%>之间声明的变量有何区别? 5.是否允许一个JSP页面为contentType设置两次不同的值? 6.JSP的特殊字符与Java语言的转义字符关系? 7.请说出一个JSP页面的基本组成。 第四章 JSP的内置对象 一、选择题 1.下面不属于JSP内置对象的是(D) A)out对象 B)respone对象 C)application对象 D)page对象 2.以下哪个对象提供了访问和放置页面中共享数据的方式(D) A)pageContext B)response C)request D)session 3.调用getCreationTime()可以获取session对象创建的时间,该时间的单位是(C)。 A)秒 B)分秒 C)毫秒 D)微秒 4.当response的状态行代码为哪个时,表示用户请求的资源不可用?(D) A)101 B)202 C)303 D)404 5.一个典型的HTTP请求消息包括请求行、多个请求头和( B ) A)响应行 B)信息体 C)响应行 D)响应头 6.在JSP中为内建对象定义了4种作用范围,即Application Scope、Session Scope、Page Scope和( A )四个作用范围。 A)Request Scope B) Response Scope C)Out Scope D) Writer Scope 7.out对象是一个输出流,其输出各种类型数据并换行的方法是(C) A)out.print( ) B)out.newLine( ) C)out.println( ) D)out.write( ) 8.out对象是一个输出流,其输出换行的方法是(B) A)out.print( ) B)out.newLine( ) C)out.println( ) D)out.write( ) 9.out对象是一个输出流,其输出不换行的方法是(A) A)out.print( ) B)out.newLine( ) C)out.println( ) D)out.write( ) 10.Form表单的method属性能取下列哪项的值( C ) A)submit B)puts C)post D)out 11.能在浏览器的地址栏中看到提交数据的表单提交方式是( B ) A)submit B)get C)post D)out 12.可以利用request对象的哪个方法获取客户端的表单信息(A) A)request.getParameter() B)request.outParameter() C)request.writeParameter() D)request.handlerParameter() 13.可以利用JSP动态改变客户端的响应,使用的语法是(A) A)response.setHeader() B)response.outHeader() C)response.writeHeader() D)response.handlerHeader() 14.JSP页面中request.getParamter(String )得到的数据,其类型是( C ) A)Double B)int C)String D)Integer 15.JSP页面程序片中可以使用下列哪个方法将strNumx=request.getParamter(“ix”)得到的数据类型转换为Double类型( ) A)Double.parseString(strNumx) B) Double.parseDouble(strNumx) C)Double.parseInteger(strNumx) D)Double.parseFloat(strNumx) 16. A) A)ISO-8859-1 B)GB2312 C)GB3000 D)ISO-8259-1 18.下面不属于标记中的name属性取值的是(D) A)text B)radio C)checkbox D)picture 19.下面不属于标记中的name属性取值的是(D) A)password B)hidden C)submit D)textarea 20. A)size B)value C)selected D)checked 21. A)size B)value C)selected D)checked 22. A)cols B)value C)rows D)size 23.JavaScript执行表单验证一般都发生在用户单击“提交”按钮后,数据提交服务器之前,onValidate()函数返回值为true时( C )。 A)验证不通过,提交数据给服务器 B)验证不通过,不提交数据给服务器 C)验证通过,提交数据给服务器 D)验证通过,不提交数据给服务器 24.正则表达式中,表示任意一个除换行以外的字符的元字符是( A ) A). B)| C)[ ] D){ } 25.正则表达式中,表示或者的意思的元字符是( B ) A). B)| C)[ ] D){ } 26.正则表达式中,结合起来表示某特定类型的字符的元字符是( C ) A). B)| C)[ ] D){ } 27.正则表达式中,结合起来表示匹配的次数的元字符是( D ) A). B)| C)[ ] D){ } 28.正则表达式中,表示模式必须出现在目标串的结尾的元字符是( A ) A)$ B)[^] C)( ) D)? 29.正则表达式中,表示除了指定类型以外的字符的元字符是( B ) A)$ B)[^] C)( ) D)? 30.正则表达式中,表示0个或一个的元字符是( D ) A)$ B)[^] C)( ) D)? 31.正则表达式中,表示换页匹配的元字符是( A ) A)\\f B)\\n C)\\r D)\\t 32.正则表达式中,表示换行匹配的元字符是( B ) A)\\f B)\\n C)\\r D)\\t B)