当前位置:首页 > ServletJSP课后习题解答
提示:同一个请求周期中,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)
(B)
(C)
(D)
答案:B、D
6. 若要读取WEB-INF/data.txt档案的数据,以下哪个是正确的作法?
12 / 39
共分享92篇相关文档