session :是记录在服务器端的(一块内存),和客
户端的浏览器关联在一起的;
cookie :是记录在客户端的;
只要是由父子关系的页面(同一个浏览器下),无
论哪个页面都能访问Session对象。
有父子关系的页面都叫一个Session。
关闭浏览器,则此session消失。
若此刻重新启动一个浏览器,则不是同一个
Session了。
如果浏览器支持cookie,则
jsp/servlet创建session对象的时候,向客户端
的cookie里写入和服务器端的session里相同的
SessionID,方便下次客户端再次访问
jsp/servlet时和客户端匹配(没有关闭浏览器)
在jsp/servlet 中,如果浏览器不支持cookie,则
必须自己编程使用URL重写实现。用到的函数:
response.encodeURL()
//作用:转码
地址栏URL后面加入了SessionId
session是有有效期的,在tomcat或者自己的
webApplication的web.xml中可以设置session的
有效期。
<session-config>
<session-timeout>30</session-timeout>
</session-config>
session不像cookie拥有路径访问的问题
同一个application下的jsp/servlet共享同一个
session,前提是同一个客户端窗口