首先来说Cookie :
Cookie:保存到客户端的一个文本文件,与特定客户相关
Cookie以“名-值”对的形式保存数据,也就是一个键对应一个值
创建Cookie:new Cookie(name,value)
可以使用Cookie 的setXXX方法来设定一些相应的值
setName(String name)/getName()
setValue(String value)/getValue()
setMaxAge(int age)/getMaxAge()
利用HttpServletResponse的addCookie(Cookie)方法将它设置到客户端
利用HttpServletRequest的getCookies()方法来读取客户端的所有Cookie,返回一个Cookie数组
设置Cookie
SetCookies.java
读取Cookie
ShowCookies.java
Cookie分为两种:
1 除与当前窗口以及其子窗口的临时的当前访问的cookie,保证在内存当中,窗口关闭,代表当前,cookie消失,下次访问再重新给
2 属于文本,有生命周期,这个保存在硬盘当中
本质上是一个不同页面间数据的传递和保存,处理手段有很多种,保存手段也有很多种.
Cookie的作用域:
一个Servlet/jsp设置的cookie能够被一个同路径下面或者子路径下面的Servlet/jsp读到,这里的路径指URL.
Session :
服务器的一块内存(存key-value)
和客户端窗口对应(子窗口)(独一无二)
客户端和服务器有对应的SessionID,SessionID存储在客户端(可以是Cookie或者URL),其他都存储在服务端
客户端向服务器端发送SessionID的时候两种方式:
cookie(内存cookie)
rewriten URL
Session是以cookie方式进行发送,存在客户端浏览器缓存中,所以当浏览器已关闭session就会消失,同时对同一个客户而已session对象只有一个
如果想安全的使用session(不论客户端是否禁止cookie),只能使用URL重写(大大增加编程负担),所以很多网站要求客户端打开cookie
Session实际上是一个特定的时间概念。
ServletContext :
servletContext是一个接口,servletContext接口是Servlet中最大的一个接口,呈现了web应用的Servlet视图.