图3.20 根据使用者输入动态产生图片内容
2. 请实作一个Web应用程序,可动态产生使用者登入密码(参考下图,仅需
先确作出动态产生密码图片的功能即可,送出窗体后的密码验证功能还不用实现)。
提示:主要是上一题练习的延伸,随机产生四个数字,再画到图片上。这个练习可结合Session属性的运用,就可实作出登入的部份,在第5章讲到Session对象时会再要求实作登入的机制。
图3.21 动态产生登入密码
11
第4章课后练习 课后练习
? 选择题
1. 如果是整个应用程序会共享的数据,则适合存放在哪个对象之中成为属性?
(A) ServletConfig
(B) ServletContext (C) ServletRequest (D) Session 答案:B
2. 如果要取得ServletContext初始参数,则可以执行哪个方法? (A) (B) (C) (D) 答案:C
getContextParameter() getParameter()
getInitParameter() getAttribute()
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()
12
方法传入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档案的数据,以下哪个是正确的作法?
13
(A) FileInputStream input =
new FileInputStream(\
(B) FileInputStream input = new FileInputStream(
new File(\
(C) InputStream input =
getResourceAsStream(\
(D) FileInputStream input =
getResourceAsStream(\
答案:C
7. ServletContext定义与属性相关的方法是哪三个? (A) getAttribute(); (B) setAttribute(); (C) deleteAttribute() (D) removeAttribute(); 答案:A、B、D
8. 若web.xml中有以下的设定:
而某个Servlet撰写了以下的程序代码:
public void init() throws ServletException { super.init();
int param1 = getInitParameter(\ int param2 = getInitParameter(\}
以下何者描述正确?
(A) 第二对
14
(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中有以下的设定:
以下何者正确?
(A) SomeListener类别要实作ServletContextListener接口 (B) 每生成一个Servlet实例就会呼叫ServletContextListener
的init()方法
(C) Web应用程序初始化之后,会呼叫ServletContextListener
的contextInitialized()方法 (D) 不需要
? 实作题
1. 请使用目前所学得的Servlet相关技巧,实作一个在线留言版程序,其中必
须包括以下的功能:
(1). 有个档案会储存留言,应用程序初始时,必须从该档案中加载留言记录。 (2). 「观看留言」功能,每笔留言中包括了留言者的头像、名称与留言讯息。
15
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库Servlet&JSP课后习题解答(3)在线全文阅读。
相关推荐: