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