客户端第一次请求服务端时,服务端会产生一个session对象(用于保存客户的信息),而且每一个session都有惟一的sessionId与之一一对应,来用于区分别的session。服务端会产生一个cookie,而且该cookie的name=JSESSIONID,value=服务端sessionId的值,而后服务端会在响应客户端的同时,将cookie发送给客户端,至此客户端就有一个JSESSIONID,所以客户端的cookie就和服务端的sessionId一一对应。浏览器
第二次或第n次请求时,服务端会先用客户端的cookie中的JSESSIONID,去服务端的session中匹配sessionId安全
String getId();获取sessionIdcookie
boolean isNew();判断是不是新用户session
void invalidate();销毁,使session失效app
void setAttribute();jsp
Object getAttribute():对象
void setMaxIncativeInterval(秒):获取最大有效非活动时间作用域
cookie | session | |
---|---|---|
保存的位置 | 客户端 | 服务端 |
安全 | 较不安全 | 较安全 |
保存的内容 | String | object |
pageContext JSP页面容器get
request 请求对象io
reponse 响应对象
session 会话对象
appliation 全局对象
{
getContextPath() 虚拟路径
getRealPath(String name):绝对路径 相对的绝对路径
}
config 配置对象
out 输出对象
exception 异常对象
page 当前JSP页面对象
pageContext 当前页面有效
request 同一次请求有效,其余请求无效(请求转发后有效,重定向后无效)
session 同一次会话有效
application 整个项目运行期间有效,切换浏览器以后也能够
以上四个范围对象经过setAttribute进行赋值,经过getAttribute进行取值。
尽可能使用范围小的