一.Cookie
语句:Cookie cookie = new Cookie(" “,” ");
setMaxAge (int expiry)和getMaxAge()方法
上面的这两个方法用于设置和返回Cookie在浏览器上保持有效的秒数。如果设置的值为一个正整数时,浏览器会将Cookie信息保存在本地硬盘中。从当前时间开始,在没有超过指定的秒数之前,这个Cookie都保持有效,并且同一台计算机上运行的该浏览器都可以使用这个Cooke信息。如果设置值为负整数时,浏览器会将Cookie信息保存在缓存中,当浏览器关闭时,Cooke信息会被删除。如果设置值为0时,则表示通知浏览器立即删除这个Cookie信息。默认情况下,Max-Age属性的值是-1。
setPath(String uri)和getPath()方法
上面的这两个方法是针对Cookie的Path属性的。如果创建的某个Cookie对象没有设置Path属性,那么该Cookie 只对当前访问路径所属的目录及其子目录有效。如果想让某个Cookie项对站点的所有目录下的访问路径都有效,应调用Cookie对象的 setPath()方法将其 Path 属性设置为“/”。
setDomain (String pattern)和getDomain()方法
上面的这两个方法是针对Cookie的domain属性的。domain属性是用来指定浏览器访问的域。例如,传智播客的域为“itcast.cn”。那么,当设置domain属性时,其值必须以“.”开头,如domain=.itcast.cn。默认情况下,domain属性的值为当前主机名,浏览器在访问当前主机下的资源时,都会将Cookie信息回送给服务器。需要注意的是,domain属性的值是不区分大小写的。
二.Session
1.HttpSession
public HttpSession getSession(boolean create)
public HttpSession getSession()
上面重载的两个方法都用于返回与当前请求相关的HttpSession对象。不同的是,**第1个getSession()方法根据传递的参数来判断是否创建新的HttpSession对象,如果参数为true,则在相关的 HttpSession 对象不存在时创建并返回新的 HttpSession对象,否则不创建新的HttpSession对象,而是返回null。****第2个getSession()方法则相当于第1个方法参数为true时的情况,在相关的HttpSession对象不存在时总是创建新的 HttpSession对象。**需要注意的是,由于getSession()方法可能会产生发送会话标识号的Cookie头字段,因此,**必须在发送任何响应内容之前调用getSession()方法。**要想使用 HttpSession 对象管理会话数据,不仅需要获取到HttpSession对象,还需要了解HttpSession对象的相关方法。