客户端状态管理
cookie
存在于用户浏览器,存放数据量很小
ctrl shift del,可以删除
用户可以篡改cookie,安全性不高。
session:服务器端保存与客户端会话状态的技术
存在于服务器,存放数据量大,安全性高。
以类似散列表的形式存储,
如果没有转发,两个servlet的值不同
如果转发了,两个servlet的值共享。
同浏览器 同servlet | 同浏览器 不同servlet | 不同浏览器 不同servlet | |
---|---|---|---|
request | √ | × | × |
session | √ | √ | × |
application | √ | √ | √ |
demo:登录以后才允许访问主页
1.做登录页面
2.做主页
3.做登录的servlet:login,同时让登录页面 form 的 action 为 login 。
login中对比账号密码,成功后转发到主页,不成功重定向登录页。
4.为了让别人只能通过登陆后才能访问主页,需要增加过滤器filter。
过滤器面向全部请求,请求分为三种路径:主页|loginServlet|登录页