[b]2、cookie技术
[color=darkred](1)什么是cookie?[/color]
是一种在客户端(浏览器)维护客户端状态的一种
状态管理技术。 其基本思想是:当浏览器第一次访问
服务器时,服务器会将数据通过设置消息头的方式,
发送给浏览器。浏览器可以将该数据保存到内存或者保存到
硬盘(是一个文本文件)。当浏览器下一次再去访问
服务器时,会将该数据携带(通过设置消息头)给
服务器。服务器就可以知道浏览器上次访问过的信息了。
[color=darkred](2)cookie的使用[/color]
[color=green]A.创建cookie[/color]
Cookie c1 = new Cookie(String name,String value);
response.addCookie(c1);
cookie的值只能是ascii字符,对于中文(ascii
字符以外的字符),都需要编码。
URLEncoder.encode()
URLDecoder.decode()
[color=green]B.读取cookie[/color]
Cookie[] cookies = request.getCookies();
如果浏览器发送请求时,没有携带cookie,则
cookies = null。
[color=darkred]C.cookie的生存时间[/color]
[u]在默认情况下,浏览器会将cookie保存到内存里。
可以设置cookie的生存时间。
[/u]
Cookie c1 = new Cookie(String name,String value);
c1.setMaxAge(int age);
[color=olive]age > 0 : cookie最长生存时间是多长,
age < 0 : 浏览器会将cookie保存到内存里,
浏览器关闭,cookie会删除。
age = 0: 立即删除[/color]
[color=green]D. cookie的路径问题:
[/color]
[color=olive]cookie.setPath("/应用名");
表示当前应用名底下的所有组件(jsp,servlet)
都可以访问到该cookie[/color]
[color=indigo]servlet07
a
saveCookie.jsp
getCookie.jsp
getCookie.jsp
要访问saveCookie.jsp,输入的路径是:
http://localhost:8080/servlet07/a/saveCookie.jsp
此时,相当于设置的cookie的路径是
servlet07/a,此时,只有当前路径以及当前路径以下
的路径可以访问到该cookie。[/color][/b]
[color=darkred](1)什么是cookie?[/color]
是一种在客户端(浏览器)维护客户端状态的一种
状态管理技术。 其基本思想是:当浏览器第一次访问
服务器时,服务器会将数据通过设置消息头的方式,
发送给浏览器。浏览器可以将该数据保存到内存或者保存到
硬盘(是一个文本文件)。当浏览器下一次再去访问
服务器时,会将该数据携带(通过设置消息头)给
服务器。服务器就可以知道浏览器上次访问过的信息了。
[color=darkred](2)cookie的使用[/color]
[color=green]A.创建cookie[/color]
Cookie c1 = new Cookie(String name,String value);
response.addCookie(c1);
cookie的值只能是ascii字符,对于中文(ascii
字符以外的字符),都需要编码。
URLEncoder.encode()
URLDecoder.decode()
[color=green]B.读取cookie[/color]
Cookie[] cookies = request.getCookies();
如果浏览器发送请求时,没有携带cookie,则
cookies = null。
[color=darkred]C.cookie的生存时间[/color]
[u]在默认情况下,浏览器会将cookie保存到内存里。
可以设置cookie的生存时间。
[/u]
Cookie c1 = new Cookie(String name,String value);
c1.setMaxAge(int age);
[color=olive]age > 0 : cookie最长生存时间是多长,
age < 0 : 浏览器会将cookie保存到内存里,
浏览器关闭,cookie会删除。
age = 0: 立即删除[/color]
[color=green]D. cookie的路径问题:
[/color]
[color=olive]cookie.setPath("/应用名");
表示当前应用名底下的所有组件(jsp,servlet)
都可以访问到该cookie[/color]
[color=indigo]servlet07
a
saveCookie.jsp
getCookie.jsp
getCookie.jsp
要访问saveCookie.jsp,输入的路径是:
http://localhost:8080/servlet07/a/saveCookie.jsp
此时,相当于设置的cookie的路径是
servlet07/a,此时,只有当前路径以及当前路径以下
的路径可以访问到该cookie。[/color][/b]