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. 计算三角形的面积。要求由用户输入三角形的三条边,判断这三条边是否能构成一个三角形,若能构成三角形,则输出三角形的面积。