一.单选题(共5题,100.0分)

1.关于HTTP协议的无状态性,以下说法正确的是?

  • A、HTTP协议本身无法记录用户状态,必须依赖会话技术(如Cookie/Session)

  • B、HTTP协议通过IP地址自动跟踪用户状态

  • C、无状态是指服务器无法接收客户端请求

  • D、无状态问题只能通过Cookie解决,Session无效

正确答案: A 我的答案:A得分: 20.0分

答案解析:

HTTP是无状态协议,会话技术(如Cookie和Session)是解决这一问题的关键手段。

2.在JSP中,以下哪种方法可以获取当前会话的Session对象?

  • A、request.getSession(false)

  • B、response.getSession()

  • C、application.getSession()

  • D、config.getSession()

正确答案: A 我的答案:A得分: 20.0分

答案解析:

request.getSession(false)获取现有Session(若不存在则返回null),getSession(true)为默认方式(不存在则创建)。

3.关于Cookie和Session的区别,错误的是?

  • A、Cookie数据存储在客户端,Session数据存储在服务器端

  • B、Session安全性高于Cookie

  • C、Cookie可以设置长期有效,Session默认随浏览器关闭失效

  • D、Session能存储任意数据类型,Cookie仅能存储字符串

正确答案: D 我的答案:D得分: 20.0分

答案解析:

Session可存储对象,Cookie仅支持字符串,但D选项中“任意数据类型”不严谨(需可序列化)。

4.以下jsp代码的作用是?

<%
Cookie cookie = new Cookie("theme", "dark");
cookie.setMaxAge(3600);
response.addCookie(cookie);
%>
  • A、创建一个名为"theme"的Session属性,有效期1小时

  • B、向客户端发送一个名为"theme"的Cookie,有效期1小时

  • C、从客户端读取名为"theme"的Cookie

  • D、删除客户端已有的"theme" Cookie

正确答案: B 我的答案:B得分: 20.0分

答案解析:

代码通过response.addCookie()向客户端发送Cookie,并设置存活时间为3600秒(1小时)。

5.用户禁用浏览器Cookie后,如何继续使用Session跟踪?

  • A、无法实现,必须启用Cookie

  • B、通过URL重写(如response.encodeURL())

  • C、将Session数据存储在数据库中

  • D、使用HTML5的Web Storage替代

正确答案: B 我的答案:B得分: 20.0分

答案解析:

URL重写(如response.encodeURL("url"))会将SessionID附加到URL中,无需依赖Cookie。