第7章课后练习
? 选择题
1. 以下哪几个倾听器,必须在web.xml中设定? (A) HttpSessionListener (B) RequestListener
(C) ServletContextListener (D) ServletAttributeListener
答案:A、C
提示:没有B、D这两种倾听器。
2. 以下何者为倾听器的事件类型之一?
(A) HttpSessionEvent
(B) RequestAttributeEvent
(C) ServletContextAttributeEvent (D) ServletContextEvent 答案:A、C、D
3. 以下倾听器中,不需要在web.xml中设定的是? (A) HttpSessionListener
(B) HttpSessionBindingListener (C) ServletContextListener (D) ServletAttributeListener
答案:B
4. 以下哪几个事件类型,拥有getName()与getValue()方法?(A) HttpSessionEvent
(B) ServletRequestAttributeEvent (C) ServletContextAttributeEvent (D) HttpSessionBindingListener 答案:B、C、D。
5. 你有一段程序代码片段:
HttpSession session = request.getSession(); User user = new User();
session.setAttrubute(\
25
以下何种作法,可以让你在不修改程序代码的情况下,实作统计在线人数? (A) 实作HttpSessionBindingListener (B) 实作HttpSessionListener
(C) 实作HttpSessionActivationListener (D) 以上皆非 答案:B
提示:题目要求不修改原有的程序代码,所以B是唯一的可能性。
6. 在web.xml中有以下的设定:
请问以下描述何者正确?
(A) 容器会产生两个AnotherServlet实例
(B) 容器会先初始化SomeServlet,再初始化OtherServlet (C) 容器会先初始化AnOtherServlet,然后才是其它Servlet (D) 容器在请求来到时,才会初始化对应的Servlet 答案:B
7. 哪个URL模式设定方式,可以符合/guest/list.view的请求? (A)
(B)
(D)
26
8. 如果想要请求guest目录时,自动显示欢迎档案,则以下空格可以填上什
么?
(A) (B) (C) (D) 答案:C
/guest/index.html /index.html default.jsp default.*
9. 关于以下web.xml中的设定,何者描述正确?
(A) (B) (C) (D) 答案:B、C
发生NullPointerException时会转发report.view处理 例外型态必须指定完全符合名称(Full Qualified Name) report.view必须改为/report.view 例外类型不可以指定特定的例外类别名称
10. 在过滤器设定中,哪个URL模式设定方式,在/guest/list.view的请求时会
触发过滤器?
(A)
(B)
(D)
提示:过滤器的
? 实作题
1. 请扩充7.1.1节中的范例,不仅统计在线人数,还可以在页面上显示目前登
27
入使用者的名称、浏览器信息、最后活动时间。
图7.14 在线使用者信息
2. 在7.1.3节中,使用HttpSessionBindingListener来实作使用者登入、
注销的日志记录功能,请改用HttpSessionAttributeListener来实作这个功能。
28