JSP编程技术习题集及实训

第三章 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) B) C) D)

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.标记的page属性值是相对的URL地址,只能静态的URL。(错)

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.标记中的name属性取值的是(D)

A)text B)radio C)checkbox D)picture

19.下面不属于标记中的name属性取值的是(D)

A)password B)hidden C)submit D)textarea

20.用于在表单中来定义下拉列表框和滚动列表框控件,哪个属性指定列表框的类型( A )

A)size B)value C)selected D)checked 22.