servlet中的对象作用域和Cookies的简单使用
1.对象作用域
作用域对象:可以保存数据,且数据被一个或者多个请求共享的对象
不同的作用域对象保存的数据时间长短不同,数据共享的范围也不同
作用域对象 |
属性操作方法 |
作用域范围说明 |
ServletContext(上下文) |
void setAttribute(String,Object) Object getAttribute(String) void removeAttribute(String) Enumeration getAttributeNames() |
整个web应用程序 |
HttpSession(会话) |
一个会话交互过程 |
|
ServletRequest(请求) |
一次请求过程 |
2.session
对象的销毁
(1)浏览器关闭时,并不意味着session对象被删除
(2)销毁session可以采用下面三种方式:
设置会话超时
在web.xml文件中配置
<session-config>
<session-timeout> 15 </session-timeout>(是以分钟为单位的)
</session-config>
在session对象上调用invalidate()方法
应用结束(崩溃或取消部署)
3.web服务器存储的区域
request:只有在本次请求中
session:每个人有一个特定session存储的信息,所有servlet可以共享。
servletContext:所有人存储的信息都放在同一个容器中,所有servlet可以共享。
4.在servlet中使用cookies
(1)将cookie发送到客户端的操作步骤:
创建一个或者多个cookies,使用构造方法指定cookies的名字和值
使用set方法将cookie设置为可选属性(使用setMaxAge设置保存时长)
使用HttpServletResponse对象的addCookie()方法将cookie插入到响应头
(2)读取客户端传入的cookie操作步骤:
使用HttpServletRequest对象的getCookies方法返回一个cookie对象数组
Servlet遍历该数组(调用getName()方法),直到找到与名称相匹配的cookie值
1.使用cookie存储数据
2.取出cookies中的值