【001】什么是会话?会话的类别有几种?
答:
会话:打开1个浏览器,访问服务器的多个web资源,然后关闭浏览器,整个过程称为1个会话
类别:
【002】如何使用Cookie技术,添加一个Cookie信息?
答:
使用Cookie技术的步骤:
① 创建一个Cookie对象:
Cookie cookie = new Cookie("...", "...");
② 设置最大有效时间(默认浏览器关闭Cookie消失):
cookie.setMaxAge(...);
③ 设置有效路径(默认为当前工程):
cookie.setPath("...");
④ 将cookie添加到响应中,返回给浏览器:
response.addCookie(cookie);
【003】如何删除一个Cookie?
答:
删除Cookie没有特定的方法,删除时需要将Cookie值设置为空,而最大有效时间设置为0,进行覆盖;
删除Cookie时主要不单名字要一致,有效路径也必须一致
【004】如何处理Cookie中的中文数据?
答:
要想在Cookie中存储中文,那么必须使用URLEncoder类里面的encode(String s, String enc)方法进行中文转码,例:
Cookie cookie = new Cookie("userName", URLEncoder.encode("...", "UTF-8"));
response.addCookie(cookie);
再获取cookie中的中文数据时,使用URLDecoder类里面的decode(String s, String enc)进行解码,例:
URLDecoder.decode(cookies.getValue(), "UTF-8");
【005】Java提供来操作Cookie的API有哪些?
答:
Java中的javax.servlet.http.Cookie类用于创建一个Cookie
Cookie(String name, String value) :实例化Cookie对象,传入cookie名和值
public String getName() :取得Cookie的名字
public String getValue() :取得Cookie的值
public void setValue(String newValue) :设置Cookie的值
public void setMaxAge(int expiry) :设置Cookie的最大保存时间,即Cookie的有效期
public int getMaxAge() :获取Cookie的有效期
public void setPath(String url) :设置Cookie的有效路径
public String getPath() :获取Cookie的有效路径
public void setDomain(String pattern) :设置Cookie的有效域
public String getDomain() :获取Cookie的有效域
【006】Cookie和Session有什么异同?
答:
① Session和Cookie都是会话跟踪技术
② Session是保存在服务器端的技术,而Cookie是保存在客户端的技术
③ Session可以存储对象,而Cookie只能存储字符串
④ Session比较安全,而Cookie不安全
- Session在一定时间内保存在服务器上,所以当访问增多,会比较占用服务器的性能
- 将登录等重要信息存放为session,其它需保留的信息存放在cookie中
⑤ 单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie
|
|