2024年4月30日发(作者:)

第5章

一、填空

1. 服务器向客户端发送Cookie时,会在HTTP响应头字段中增加____响应头字段。

2. Web应用中的会话指的是一个客户端(浏览器)与____之间连续发生的一系列请求

和响应过程。

3. Session相对于Cookie具有更高的安全性,它将关键数据保存在____端。

4. 在Servlet技术中,提供了两个用于保存会话数据的对象,分别是____和Session。

5. Tomcat容器中会话的有效时间可以在____文件中设置,默认会话过期时间为30分

钟。

二、判断

1. Tomcat容器中如果将元素中的时间值设置成0或一个负数,则表示会话永不超时。

2. Session是一种将会话数据保存到服务器端的技术,需要借助Cookie技术来实现。

3. Cookie的domain属性是用来指定浏览器访问的域,设置domain属性时严格区分大

小写。

4. Cookie的path属性设置后,只对当前访问路径所属的目录有效。

5. 一次会话过程中,只允许客户端与服务器进行一次请求与响应过程。

三、选择

1. 下列对于setMaxAge(-1)方法的描述中,正确的是()

A: 表示通知浏览器保存这个Cookie信息

B: 表示通知浏览器立即删除这个Cookie信息

C: 表示当浏览器关闭时,Cookie信息会被删除

D: 以上说法都是错误的

2. Tomcat服务器的默认会话超时时间是()

A: 30秒

B: 30分钟

C: 30毫秒

D: 30小时

3. 下面选项中,用于强制使Session对象无效的方法是()

A: request. invalidate ();

B: session. validate ();

C: response. invalidate ();

D: session. invalidate ();

4. 下面选项中,当存在Session对象直接返回,否则返回null的方法是()

A: sion();

B: sion(true);

C: sion(false);

D: sion();

5. 下列选项中,能够用于获取客户端所有cookie对象的方法是()

A: List cookies = kies();

B: Cookie[] cookies = kies();

C: List cookies = kies();

D: Cookie[] cookies = kies();

四、简答

1. 简述什么是会话技术?

会话过程类似于生活中的打电话过程,它指的是一个客户端(浏览器)与Web

服务器之间连续发生的一系列请求和响应过程。在Servlet技术中,提供了两个用

于保存会话数据的对象,分别是Cookie和Session。

2. 简述Cookie与Session的区别。(至少写出3点)

1. Cookie和HttpSession是保存会话相关数据的技术,其中Cookie将信息存储在

浏览器端是客户端技术,Session将数据保存在服务器端是服务器端技术。

2. Cookie是基于HTTP协议中的Set-Cookie响应头和Cookie请求头进行工作的。

3. 默认情况下HttpSession是基于一个名称为JSESSIONID 的特殊Cookie工作的。

4. 浏览器对Cookie具有严格的限制,一个网站能在浏览器中保存多少Cookie是

有限制的。

5. HttpSession默认是基于Cookie运作的。

五、编程

1. 请按照以下要求设计一个购物车的类PurchaseServlet。

书籍数据如下:

public class Book {

private static final long serialVersionUID = 1L;

private String id;

private String name;

// getter/setter方法省略

public Book(String id, String name) {

= id;

= name;

}

}

public class BookDB {

private static Map books = new LinkedHashMap();

static {

("1", new Book("1", "javaweb开发"));

("2", new Book("2", "jdbc开发"));

("3", new Book("3", "java基础"));

("4", new Book("4", "struts开发"));

("5", new Book("5", "spring开发"));

}

// 获得所有的图书

public static Collection getAll() {

return ();

}

// 根据指定的id获得图书

public static Book getBook(String id) {

return (id);