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>