ServletJSP课后习题解答 联系客服

发布时间 : 星期五 文章ServletJSP课后习题解答更新完毕开始阅读67aa654992c69ec3d5bbfd0a79563c1ec5dad735

(A) input =

new (\

(B) input = new (

new File(\

(C) InputStream input =

getResourceAsStream(\

(D) input =

getResourceAsStream(\答案:C

7. ServletContext定义与属性相关的方法是哪三个?

(A) getAttribute(); (B) setAttribute(); (C) deleteAttribute() (D) removeAttribute(); 答案:A、B、D

8. 若web.xml中有以下的设定:

Some

cc.openhome.SomeServlet

param1 1

param2 2

而某个Servlet撰写了以下的程序代码:

public void init() throws ServletException { super.init();

int param1 = getInitParameter(\int param2 = getInitParameter(\}

以下何者描述正确?

(A) 第二对可以直接撰写在第一个

13 / 39

之中

(B) param1的值为1,param2的值为1 (C) 应该在建构式中进行初始参数的取得 (D) Servlet类别原始档无法通过编译 答案:D

提示:getInitParameter()取得的是字符串。

9. 哪几个对象提供有getAttribute()方法?

(A) ServletRequest (B) HttpServlet (C) ServletConfig

(D) ServletContext

答案:A、D

提示:事实上还有一个,HttpSession对象。只不过到本章还没介绍到HttpSession的使用。

10. 在web.xml中有以下的设定:

cc.openhome.SomeListener ...

以下何者正确?

(A) SomeListener类别要实作ServletContextListener接口 (B) 每生成一个Servlet实例就会呼叫ServletContextListener

的init()方法

(C) Web应用程序初始化之后,会呼叫ServletContextListener

的contextInitialized()方法 (D) 不需要这个标签 答案:A、C

? 实作题

1. 请使用目前所学得的Servlet相关技巧,实作一个在线留言版程序,其中必

须包括以下的功能:

(1). 有个档案会储存留言,应用程序初始时,必须从该档案中加载留言记录。 (2). 「观看留言」功能,每笔留言中包括了留言者的头像、名称与留言讯息。

14 / 39

下图是个简单的示范。

图4.8 观看留言

(3). 动态「留言窗体」功能,新增留言时使用的窗体。其中包括了输入留言

者名称、留言的字段,并可以让使用者选取头像。头像存放的目录可以由Servlet初始参数设定。窗体必须可以自动显示头像存放目录中的图

片,有多少图片就显示多少个头像。若新增留言失败也会将请求转发回窗体,此时要显示错误讯息以及使用者先前填写的名称与留言。下图是个简单的示范。

图4.9 新增留言窗体

(4). 「新增留言」功能,必须作基本的请求参数检查。留言失败及成功的

URL,必须可以由Servlet初始参数来设定。留言成功时必须显示留言

15 / 39

成功讯息、使用者名称、留言与头像。下图是个简单的示范。

图4.10 新增留言成功

提示:这个练习可以让学生模仿书中在线书签的制作流程与方式。可建议学生先如第3章实作简单的「观看留言」及「新增留言」功能。再进一步根据第4章改写,利用ServletConfig读取Servlet初始参数,利用ServletContext读取应用程序初始参数等。

第5章课后练习

? 选择题

1. 在浏览器禁用Cookie的情况下,哪些机制仍可以用于会话管理?

(A) HttpSession

(B) URL重写 (C) 隐藏字段 (D) Cookie API 答案:B、C

2. 如何设定Cookie的有效期限?

(A) 使用setMaxAge()

(B) 使用setMaxInactive()

(C) 使用setMaxInactiveInterval() (D) 在web.xml中设定

16 / 39