3.6 习题

一、选择题

1. 在JSP中,要定义一个方法,需要用到( )元素。

A. <%= %>

B. <% %>

C. <%@ %>

D. <%! %>

2. 在J2EE的一个JSP文件中,有表达式<%=2+3 %>,它将输出( )。

A. 2+3

B. 5

C. 2

D. 不会输出,因为表达式是错误的

3. 在JSP中,( )动作用于将请求转发给其他JSP页面。

A. forward

B. include

C. useBean

D. setProperty

4. 要设置某个JSP页面为错误处理页面,以下page指令正确的是( )。

A. <%@ page errorPage="true"%>

B. <%@ page isErrorPage="true"%>

C. <%@ page extends="javax.servlet.jsp.JspErrorPage"%>

D. <%@ page info="error"%>

5. 当浏览器第二次访问以下JSP网页时的输出结果是什么?( )。

A. a=0 b=0

B. a=1 b=1

C. a=2 b=1

D. a=2 b=2

6. 关于<jsp:include>,下列说法不正确的是( )。

A. 它可以包含静态文件

B. 它可以包含动态文件

C. 当它的flush属性为true时,表示缓冲区满时,将会被清空

D. 它的flush属性的默认值为true

7. 在JSP中,对<jsp:setProperty>标记描述正确的是( )。

A. <jsp:setProperty>和<jsp:getProPerty>必须在一个JSP文件中搭配出现

B. 就如同session.setAttribute()一样,来设计属性值

C. 和<jsp:useBean>动作一起使用,来设置bean的属性值

D. 就如同request.setAttribute()一样,来设置属性值

8. 在myjsp.jsp中,关于下面的代码说法错误的是( )。

     <%@ page language="java" import="java.util.*" errorPage="error.jsp" isErrorPage="false" %>

A. 该页面可以使用exception对象

B. 该页面发生异常会转向error.jsp

C. 存在errorPage属性时,isErrorPage是必须的属性值,且一定为false

D. error.jsp页面一定要有isErrorPage属性,且值为true

9. 下列( )不是JSP中的注释符?

A. <!--注释内容-->

B. /*注释内容*/

C. //注释内容

D. /**注释内容**/

10. J2EE中在JSP中要使用user包中的User类,则以下写法正确的是( )。

A. <jsp:useBean id="user"class="user.User"scope="page"/>

B. <jsp:useBean class="user.Use.class"/>

C. <jsp:useBean name="user"class="user.User"/>

D. <jsp:useBeam id="user"class="user"import="user.*"/>

二、判断题

1. 在page指令中,import参数允许重复使用多次。

( )

2. <!-- -->中可以使用<% %>动态输出注释内容,同时<%-- --%>中也可以使用<% %>,因为预览JSP页面时没有报错。

( )

3. 当page标识的isThreadSafe属性设为true时,JSP只可以接受一个用户访问。

( )

4. <jsp:include page="body.jsp?name=tom&password=123" />可用于在JSP页面中包含body.jsp文件,并传递两个参数name和password。

( )

5. <%@ include file=”URL” %>允许包含动态文件和静态文件,但是这两种包含文件的结果是不同的。如果文件是静态文件,那么这种包含仅仅是把包含文件的内容加到JSP文件中去,这个被包含的文件不会被JSP编译执行。相反地,如果被包含文件是动态文件,那么这个被包含文件会被JSP编译器执行。

( )

三、填空题

1. JSP有3个指令元素:________、________、________。

2. JSP的脚本元素包含以下4个部分:________、________、________、________。

3. 动作元素<jsp:setProperty>的作用为________。

4. <jsp:forward>的作用是________。

5. 在JSP页面中可以声明方法,但是仅在________内有效。

四、简答题

1. 如何在HTML网页中嵌入JSP程序代码?怎样来定义JSP中的声明区与程序区?

2. 请说明JSP中有哪3个指令元素,以及这3个指令的主要用途。

3. JSP中include指令与include动作的区别是什么?

4. JSP网页可以使用的特殊操作元素有哪些?其中<jsp:forward>与<jsp:param>操作元素各有什么功能?

五、编程题

1. 编写一个JSP程序,计算10!,并显示出结果。要求先声明计算阶乘的方法,再调用该方法,最后在页面上输出结果。

(进阶要求:通过表单提交一个正整数,然后计算它的阶乘。)

2. 在JSP页面中编写静态包含文件。要求程序包含两个文件,主文件静态包含一个能够计算数据的算数平方根的页面。

3. 编写动态包含页面并传递数据。要求程序包含两个文件,主文件加载次文件,并将随机产生的0~1之间的数据传递给它,并且在页面上显示出来。

(进阶要求:把动态包含改为动态重定向,比较两者之间的区别。)

4. 计算三角形的面积。要求由用户输入三角形的三条边,判断这三条边是否能构成一个三角形,若能构成三角形,则输出三角形的面积。