Servlet高级
第八章 、Servlet高级
Filter和Listener是Servlet规范中的两个高级特性,它们不用于处理客户端的请求。Filter对象用于对request、response对象进行修改,Listener用于对context、session、request对象进行监听。
善用这两个高级特性能够轻松地解决一些特殊问题。
8.1 Filter 过滤器
什么是Filter
Filter被称作过滤器,基本功能就是对Servlet的过程进行拦截,从而在Servlet进行响应处理前后实现一些特殊功能。
浏览器 — 请求/响应 — 过滤器Filter — Web资源(JSP、Servlet、HTML)
浏览器访问服务器中的目标资源时,会被Filter拦截,在Filter中进行预处理操作,然后再将请求转发给目标资源。当服务器接收到这个请求后悔对其进行响应,在服务器进行响应的过程中,也需要先将响应结果发送给过滤器,在过滤器中对响应结果进行处理后,才会发送给客户端。
方法声明 | 功能描述 |
---|---|
init(FilterConfig filterConfig) | 初始化过滤器,filterConfig内置过滤器的配置信息 |
doFilter(req,res,chain); | 参数chain代表当前Filter链的对象,调用其doFilter()方法才能把请求交付给Filter链的下一个Filter或者目标程序去处理 |