一. Filter (过滤器), session , cookie的生命周期
销毁: 服务器关闭的时候销毁
中间执行doFilter()操作
- Session: 创建: 服务器第一次调用getSession()时创建
销毁: 1.session过期,默认30mins
2.服务器非正常关闭,正常关闭session序列化到硬盘
3.手动调用session.invalidate();
作用范围:多次请求(一次会话,浏览器关闭则session丢失)
- Cookie: 会话级别的cookie-----默认cookie,浏览器关闭就会销毁
持久级别的cookie-----设置cookie的有效时间,关闭浏览器cookie孩子啊
如: cookie.setMaxAge(60*60*24*7), 有效时间为一周
手动销毁持久性Cookie. setMaxAge(0)---前提是有效路径cookie.realPath必须一致.
二. Filter的作用顺序: 根据<filter-mapping></filter-mapping>的配置顺序,由上而下运行.
三. filter实例练习:自动登录案例.
- 判断session中是否有用户的信息:
- session中如果有:放行.
- session中没有:
- * 从Cookie中获取:
- * Cookie中没有:放行.
- * Cookie中有:
- * 获取Cookie中存的用户名和密码到数据库查询.
- * 没有查询到:放行.
- * 查询到:将用户信息存入到session . 放行.
四. Filter案例二:通用字符编码过滤器
【增强request中的getParameter方法】
Filter相关
原文:http://www.cnblogs.com/7Seven/p/7257224.html