JavaWeb 程序设计 习题参考答案(第1-6章) 下载本文

} } Index.jsp

访问http://localhost:8080/项目名/index.jsp?name=John时的页面输出为_____

参考答案:C

name指定JavaBean对象名,与useBean标准动作中的id相对应。 property 指定JavaBean中需要赋值的属性名 value指定要为属性设置的值

param指定请求中的参数名(该参数可以来自表单、URL传递参数等)并将该参数的值赋给property所指定的属性)

从地址栏上传递的参数是name,JSP页面中设置的参数为names,所以该参数没有获得值,对应属性中的值为value=”Mike”中的值Mike

6、广义上讲,满足_______、_____和_______三个要求的Java类可以称为JavaBean , 参考答案:(1)是一个公共类 含有公有的无参构造方法 (2)属性私有

(3)属性具有公有的get和set方法 7、简述include指令和include标准动作的区别。

在Servlet中,可以include另外一个资源(Servlet或JSP),在JSP中也有类似的概念,不过它有两种,其一是静态Include,另外一种是动态Include。 静态Include是JSP指令标记。 <%@include file=”head.htm”%>

其中file可以是HTML文件、Servlet文件或者另外一个JSP文件 动态Include

Include标准动作用于在JSP页面动态包含其他页面。该动作的功能和JSP的include指令类似,区别在于include指令是在编译时完成包含,是静态包含;而include标准动作是在运行时完成包含,是动态包含。

第五章 JSP内置对象

1、下列属于JSP内置对象的是________(多选)

A、request B、response C、session

D、servletContext 参考答案:A、B、C

JSP内置对象有9个:request、response、session、application、out、pageContext、config、page、exception.

2、下列关于JSP内置对象的说法正确的是_______(多选)

9

A、内置对象无需定义,可直接使用 B、内置对象无法再JSP的声明部分使用 C、内置对象只能在JSP脚本部分使用。

D、只有使用Tomcat作为JSP容器时才能使用内置对象。 参考答案:A

JSP内置对象是指由JSP容器加载的,不用声明就可以直接在JSP页面中使用的对象。 3、下列request和response内置对象的使用正确的是______(多选)

A、request.getRequestDispatcher(“index.jsp”).forward(); B、response.sendRedirect(“index.jsp”); C、request.getParameterValues(“name”);

D、response.setContentType(“text/html;charset=gbk”); 参考答案:B、C、D

? request常用的方法有:

String getParameter (String name):根据参数名称得到单一参数值

String getParameterValues(String name):根据参数名称得到一组参数值。 ? response常用方法:

(1)void setContentType(String name):设置相应内容的类型和字符编码 例如:设置响应内容类型为text/html,字符编码为gbk

response.setContentType(“text/html;charset=gbk”); (2)void sendRedirect(String url):重定向到指定的URL资源

例如:使用response对象的sendRedirect()方法实现页面的重定向

response.sendRedirect(“index.jsp”); 4、 在1.jsp中有下述代码 <%

request.setAttribute(\ session.setAttribute(\ response.sendRedirect(\ %> 2.jsp <%

out.println(request.getAttribute(\ out.println(session.getAttribute(\ %>

A、 JSP

JSP B、 null

JSP C、JSP JSP D、null JSP 参考答案:D

在1.jsp 中分别在request和session范围内保存了数据,然后重定向到2.jsp页面,在2.jsp页面中输出名称为name的值,request范围内只在当前页面有效,session在会话中有效,故选择D,

10

输出没有换行。所以不选择B

5、 pageContext、request、session、application四个内置对象的作用范围从小到大依次为

___________

A、 request、pageContext、session、application B、 request、session、pageContext、application C、 request、session、application、pageContext D、 pageContext、request、session、application 参考答案:D

pageContext的范围是当前页面,,在一个JSP页面有效

request的指从HTTP请求到服务器处理结束,返回响应的整个过程,在这个过程中使用forward方法跳转多个JSP,在这些页面里都可以使用这个变量。

session的有效范围是当前会话,从浏览器打开到浏览器关闭这个过程。

application的有效范围是整个应用程序,作用域中的变量,它们的存活期是最长的,如果不进行手工删除,它们就一直可以使用。

6、 在Servlet的doGet()和doPost()方法中,如何得到与JSP内置对象out、request、rsponse、

session、application分别对应的对象? (1)可以通过以下代码获取out对象: PrintWriter out = response.getWriter();

(2)Servlet直接继承了HttpServlet类,可以直接使用request和response对象 (3)可以通过以下代码获取session对象

HttpSession session=request.getSession();

(4)application是javax.servlet.ServletContext类的对象

Application对象需要通过ServletConfig.getServletContext()来获取。

Servlet自动定义了ServletConfig对象。故可以使用以下代码获取application对象 ServletContext application =this.getServletContext(); 或者:

ServletConfig config=getServletConfig();

ServletContext application=config.getServletContext();

第六章 EL和JSTL

1、 下列关于EL的说法正确的是________

A、EL可以访问所有的JSP内置对象 B、EL可以读取JavaBean的属性值 C、EL可以修改JavaBean的属性值 D、EL可以调用JavaBean的任何方法 参考答案:A、B

2、 下列EL的使用语法正确的是______(多选)

A、${1+2==3?4:5}

B、${param.name+paramValues[1]} C、${someMap[var].someArray[0]} D、${someArray[“0”] 参考答案:A、B

11

数组的下标应该是常量,不能是变量。

3、 关于JSTL条件标签的说法正确的是________(多选)

A、单纯使用if标签可以表达if…else ….的语法结构 B、when标签必须在choose标签内使用 C、otherwise标签必须在choose标签内使用 D、以上都不正确 参考答案:B、C

用于条件选择,和以及一起使用 4、 下列代码的输出结果是_______

A、1 2 3 4 5 6 7 8 B、3 5 C、4 6 D、4 5 6 <%

int[] a=new int[] {1,2,3,4,5,6,7,8}; pageContext.setAttribute(\a\ %>

参考答案:C

定义了一个数组a并且初始化

pageContext为JSP内置对象,用于存储当前页面的相关信息。

pageContext.settribute(“a”,a);将对象a存储为名称a(前面的a是键,后面的a是值是一个对象)

其中的items=\,这里的对象是a,用标签遍历对象的所有元素 5、 下列指令中,可以导入JSTL核心标签库的是_______(多选)

A、<%@taglib url=\B、<%@taglib url=\C、<%@taglib uri=\D、%@taglib uri=\ 参考答案:C

taglib指令中,uri属性指明标签库描述文件的路径;prefix属性指明标签库的前缀。 6、 下列代码中,可以取得ArrayList类型的变量x的长度的是_______

A 、${fn.size}

B、 C、${fn:length(x)}

D、 参考答案:

7、 JSTL分为____、____、_____、____、______五部分

参考答案:

JSTL标签库分为五部分:核心标签库、国际化输出标签库(I18N标签库)、XML标签库、SQL标签库、EL函数库

12

8、 在页面中接收用户输入的字符串,使用JSTL将此字符串反向输出,不允许使用Java代

码,如用户输入”abcdefg”,则输出”gfedcba” (略)

9、 使用JSTL在页面中输出1到100的质数,不允许有Java代码。

13