《JavaWeb编程技术》课后习题答案(5)
时间:2025-07-10
时间:2025-07-10
dos.writeInt(visits);
dos.close();
}catch(Exception e){
log("Error storing persistent counter", e);
}
}
}
第4章习题解析
1. 答:使用请求对象(即HttpServletRequest接口)的getSession()方法。
2. 答:如果客户在指定时间内没有访问服务器,则该会话超时。对超时的会话对象,服务器使其失效。通过会话对象的setMaxInactiveInterval()方法设置会话最大超时时间。
web.xml文件使用<session-config>元素的子元素<session-timeout>设置最大超时时间,如下所示。
<session-config>
<session-timeout>20</session-timeout>
</session-config>
这里的最大超时时间是对整个应用程序的所有会话有效,<session-timeout>元素指定的时间单位是分钟。setMaxInactiveInterval()方法参数单位是秒。
3. 答:有些客户浏览器可能不支持Cookie或用户阻止所有的Cookie,此时不能用Cookie实现会话。
4. 答:使用响应对象(即HttpServletResponse接口)的encodeURL()方法或
encodeRedirectURL()方法。
5. 答:不能。因为许多用户是通过代理服务器访问Internet的,此时服务器得到的是代理服务器的IP地址而不是实际用户的IP地址,因此这些用户的IP地址不唯一。
6. 答:D 7. 答:A, B 8. 答:A, D
9. 答:C 10. 答:A,C 11. 答:C
12. 答:C, D 13. 答:B,C 14. 答:C
15. 答:B 16. 答:A 17. 答:C
18. 答:A,B,D,F
19. 答:具有很大的影响。该应用程序将不能维护用户的状态。Servlet容器将为每个客户的每次请求都创建一个新的会话。修改这个问题的唯一方法是修改Servlet代码加入URL重写功能。
第5章习题解析
1. 答:包含JSP指令、JSP小脚本和JSP表达式。
2. 答:合法的JSP表达式:
<%= 500 %>
<%= anInt*3.5/100-500 %>