ServletJSP课后习题解答 联系客服

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

提示:同一个请求周期中,HttpServletResponse的getWriter()与getOutputStream()只能IllegalStateException。

使

8. 如果要设置响应的内容类型标头,哪几个选项是正确的作法?

(A) response.setHeader(\\(B) response.setContentType(\(C) response.addHeader(\\(D) response.setContentHeader(\答案:A、B、C

9. 下面哪个选项,可以正确地追加自订标头\的值?

(A) response.setHeader(\(B) response.appendHeader(\(C) response.addHeader(\

(D) response.insertHeader(\答案:C

10. 哪几个方法是定义在HttpServletRequest中,而非由ServletRequet

中继承而来?

(A) getMethod() (B) getHeader() (C) getParameter() (D) getCookies()

答案:A、B、C

提示:与HTTP请求有关的方法,是定义在HttpServletRequest中,与通用请求有关的,是定义在ServletRequest中,例如getParameter()。

? 实作题:

1. 请实作一个Web应用程序,可以将使用者所发送的name请求参数值画在

一张图片上(参考下图,底图可任选)。 提示:可在搜寻引擎下关键词「动态产生图片」寻找解答。参考,画图的部份不难,主要让学生练习如何取得请求参数、如何使用ServletOutputStream以及利用搜寻引擎寻找解答的能力。

9 / 39

图3.20 根据使用者输入动态产生图片内容

2. 请实作一个Web应用程序,可动态产生使用者登入密码(参考下图,仅需

先确作出动态产生密码图片的功能即可,送出窗体后的密码验证功能还不用实现)。

提示:主要是上一题练习的延伸,随机产生四个数字,再画到图片上。这个练习可结合Session属性的运用,就可实作出登入的部份,在第5章讲到Session对象时会再要求实作登入的机制。

图3.21 动态产生登入密码

10 / 39

第4章课后练习 课后练习

? 选择题

1. 如果是整个应用程序会共享的数据,则适合存放在哪个对象之中成为属性?

(A) ServletConfig (B) ServletContext

(C) ServletRequest (D) Session 答案:B

2. 如果要取得ServletContext初始参数,则可以执行哪个方法?

(A) getContextParameter() (B) getParameter()

(C) getInitParameter() (D) getAttribute() 答案:C

3. 假设一段程序代码如下,其中PARAM为设定于web.xml中的初始参数:

public class SomeServlet extends HttpServlet { private String param; public SomeServlet() {

param = getInitParameter(\} … }

以下何者正确?

(A) param被设定为web.xml中的初始参数值 (B) 无法通过编译

(C) 应该改用getServletParameter()方法 (D) 发生NullPointerException

答案:D 提示:getInitParameter()也是透过ServletConfig来取得初始参数,在建构式执行时,由于尚未进行Servlet初始化,ServletConfig尚未经由init()

11 / 39

方法传入Servlet之中,所以建构式中尝试取得初始参数时就会发生NullPointerException。

4. 继承HttpServlet之后,若要进行Servlet初始化,重新定义哪个方法才是正

确的作法?

(A) public void init(ServletConfig config) throws

ServletException;

(B) public void init()throws ServletException (C) public String getInitParameter(String name) (D) public Enumeration getInitParameterNames() 答案:B

5. 关于ServletContext初始参数,以下哪两项是web.xml中正确的设定?

(A)

PARAM

VALUE

(B)

PARAM VALUE

(C)

PARAM1 VALUE1 PARAM1 VALUE1

(D)

PARAM1 VALUE1

PARAM2 VALUE2

答案:B、D

6. 若要读取WEB-INF/data.txt档案的数据,以下哪个是正确的作法?

12 / 39