cookie的持久化:
常用方法:
setMaxAge(int):设置cookie的最大生存时间,以秒为单位
int的设置:
int=0:立即干掉cookie,必须path一样
int=-1:默认,浏览器关闭即失效
注意:
默认情况下,浏览器关闭,cookie就销毁了
cookie不能跨浏览器
cookie的路径:
常用方法:
setPath():
注意:
默认的写法: 以"/"开始,以"/"结束,中间内容是访问路径从项目名开始,到servlet的最后一个/结束
例如:

:8080/javaee_day11/a/b/c/hello
默认的路径为:/javaee_day11//a/b/c/
路径的作用:
在访问服务器的时候,具体携带哪些cookie
结论:
若访问的路径包含cookie设置好的路径,则携带
如:
Cookie c=new Cookie("lastTime",new Date().getTime()+"");
c.setMaxAge(60*60);
c.setPath("/javaee_day11/a/b/c");
再次访问时不会有cookie
创建、添加cookie
案例:获取上次访问时间(两个servlet)
案例:获取上次访问时间(一个servlet)
案例:查看图书访问记录
session:
session是运行在服务器端的会话技术。为每一个用户的浏览器分配一个独享的session,用来存放当前浏览器的数据,
返回给浏览器一个id(jsessionid),每次访问页面的时候,会携带jsessionid。jsp注释的格式服务器拿到jsessionid,然后在
session池中查找对应的session,拿过来给浏览器使用。
session要依赖于cookie。若浏览器的cookie禁用了,必须重写url。
session是一个域对象。
常用的方法:
xxxAttribute()
注意:session是javaweb特有的,不同于cookie
生命周期:
从request.getSession()开始产生,通过cookie将此jsessionid返回给浏览器。
销毁时机:
1.session过期
session默认过期时间为30分钟 <session-timeout>30</session-timeout>
通过setMaxInActiveInterval(int interval):设置session的过期时间,单位也是秒
2.服务器关闭
3.主动关闭
通过session.invalidate()手动的销毁session
session的执行流程:
1.浏览器发送请求
2.服务器接受请求,查看浏览器中是否有jsessionid,若有,则拿jsessionid去session池中找
若能找到,直接拿过来使用;若找不到,则创建一个session将jsessionid通过cookie返回给浏览器
3.浏览器中没有jsessionid,创建一个session,将jsessionid返回给浏览器。
session的常用方法:
HttpSession request.getSession():返回一个session
案例:用session显示购物车中商品及数量
url重写(知道了解)
禁用cookie的时候需要重写url
常用方法:
response.encodeRedirectURL(url)
用于对sendRedirect方法后的url地址进行重写
response.encodeURL(url)
用于对表单action和超链接的url地址进行重写
cookie中不支持中文
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-66190-2.html
就是有人先知道要双降啊