过滤器是一种特殊的servlet,servlet能实现的功能,过滤器也能实现,一般过滤器使用目的是处理改web的共性问题。
Filter的dispatcher元素有4种取值, 分别代表四种拦截方式,在web.xml中配置filter时配置。
REQUEST 拦截直接的请求方式
INCLUDE 拦截页面包含的访问方式
FORWARD 拦截请求转发访问方式
ERROR 拦截出错页面的访问方式
过滤器的使用案例
1、包装request,解决全局中文乱码问题。
2、封装response,将固定的访问资源通过流写成静态页面供访问,防止每次访问数据库。
3、实现自动登录,通过cookie和session技术,实现记住密码的功能。在过滤器中实现登录放行。
4、记住上次访问时间。通过发送cookie在过滤器中获取并在过滤器中登录再次发送最后一次访问时间的cookie
5、防盗链,在cookie中判断response的defer是否是本主机,如果是则放行。
6、sitemesh模板技术。对前台页面的版块控制。