Servlet&JSP课后习题解答 下载本文

第8章课后练习

? 选择题

1. 关于JSP的描述,哪个正确?

(A) JSP是直译式的网页,与Servlet无关

(B) JSP会先转译为.java,然后编译为.class载入容器 (C) JSP会直接由容器动态生成Servlet实例,无需转译 (D) JSP是丢到浏览器端,由浏览器进行直译 答案:B

2. 关于JSP的描述,哪个正确?

(A) 要在JSP中撰写Java程序代码,必须重新定义_jspService() (B) 重新定义jspInit()来作JSP初次载入容器的初始化动作 (C) 重新定义jspDestroy()来作JSP从容器销毁时的结尾动作 (D) 要在JSP中撰写Java程序代码,必须重新定义service() 答案:B、C

3. 如果想要在JSP中定义方法,应该使用哪个JSP元素? (A) (B) (C) (D) 答案:C

<% %> <%= %> <%! %> <%-- --%>

4. 当JSP中有撰写中文时,而执行结果出现乱码,必须检查page 指示元素

的哪些属性设定是否正确?

(A) contentType (B) language

(C) extends

(D) pageEncoding 答案:A

提示:基本上还得检查一下编辑器的预设编码与pageEncoding是否一致。

29

5. 哪个JSP隐含对象,转译后对应ServletContext物件? (A) (B) (C) (D) 答案:D

pageContext config page

application

6. 在Session范围中以名称\放置了一个JavaBean属性,JavaBean上

有个getMessage()方法,请问以下哪个方式呼叫getMessage()以取得讯息并显示出来?

(A)

(C) <%= request.getBean().getMessage() %> (D) ${bean.message} 答案:B、D

提示:前必须先使用并指定scope为request,否则只会在page范围中寻找属性。

7. 在Web应用程序中有以下的程序代码,执行后转发至某个JSP网页:

Map map = new HashMap();

map.put(\map.put(\

request.setAttribute(\

以下哪个选项可以正确地使用EL取得map中的值? (A) ${map.user} (B) ${map[\(C) ${login.user} (D) ${login[role]} 答案:C

提示:选项D必须改为${login[\才是正确。

30

8. 在Web应用程序中有以下的程序代码,执行后转发至某个JSP网页:

Map map = new HashMap();

map.put(\request.setAttribute(\

以下哪个选项可以正确地使用EL取得map中的值?

(A) ${map.local.role} (B) ${login.local.role} (C) ${map[\(D) ${login[\答案:D

9. 在Web应用程序中有以下的程序代码,执行后转发至某个JSP网页:

List names = new ArrayList(); names.add(\

request.setAttribute(\

以下哪个选项可以正确地使用EL取得List中的值? (A) (B) (C) (D) 答案:B、D

${names.0} ${names[0]} ${names.[0]} ${names[\

提示:在[]指定索引值时可以用双引号,所以D也是正确的。

10. 以下何者不是EL隐含物件? (A) (B) (C) (D) 答案:B

param request

pageContext cookie

? 实作题

1. 先前章节实作在线留言版时,使用Servlet来实现画面的输出,请将之改为

JSP,并尽量使用本章所学得的JSP元素,减少Scriptlet的使用。

31

第9章课后练习

? 选择题

1. 哪些JSTL标签可用来进行Java程序中if、if..else的功能? (A) (B) (C)

(D) 答案:A、C、D

2. 如果打算使用request对象的setCharacterEncoding()方法设定字

符编码处理方式,则以下哪个JSTL标签可以让你不用使用Scriptlet? (A) (B) (C) (D) 答案:B

3. 如果taglib设定如下:

<%@taglib prefix=\

则以下何者会是使用自订标签的正确方式? (A) (B) (C) (D) 答案:D

4. 在使用Tag File自订标签时,若JSP中有以下的内容:

<%@taglib prefix=\

以下何者描述正确?

(A) 可以的方式使用自订标签 (B) 可以的方式使用自订标签 (C) 可以的方式使用自订标签 (D) taglib的定义有误,无法使用自订标签 答案:D 提示:如果是Tag File,则tagdir只有可能是/WEB-INF/tags或其子资料夹。

32