拦截技术之过滤器

来源:互联网 发布:彻底删除苹果手机数据 编辑:程序博客网 时间:2024/05/21 16:59

JavaEE中我目前知道的拦截技术有三种:
    (1)装饰模型
    (2)动态代理
    (3)过滤器

过虑器能对客户的请求进行预先处理,然后再将请求转发给其他web组件。

过滤器的过滤过程:
这里写图片描述

这里写图片描述

过滤器的技术要点:
    (1)可以拦截(在前端和Servlet之间),在doFilter方法中操作。
    (2)可以拦截服务器中的任意资源
    (3)该拦截基本不影响访问速度,并且可以多层过滤
    (4)优先级高于Servlet,请求时先于Servlet执行,在servlet完成后能继续执行。

拥有多个过滤器时,过滤器在请求时的拦截顺序:根据web.xml文件中<filter-mapping>的配置先后顺序确定,配置在前的先进行拦截。

说到配置web.xml,说个小插曲,在webx.ml配置时,如果不很熟悉,可以光标点至标签处,按F2查看当前标签及其子标签的配置个数及顺序。

过滤器的应用:增强功能,安全检测。

具体应用: 
为所拦截的Servlet统一设置编码
敏感词过滤
自动登录
网站信息分类设缓存

    设置缓存的技术,因各浏览器标准不一,一般设置三个:
 
response.setHeader("erpires","-1");
response.setHeader("pragma","no-cache");
response.setHeader("cache-control","no-cache");

上面是设置不缓存,如果要设置具体的缓存时间,可以如下:
 
Date date = new Date();
long time = date.getTime()+1000*60*24;(毫秒为单位)
response.setHeader(“上面三个参数”,time);

jsp前台中删除session中的信息:

<c:remove var="变量名" scope="session>
0 0