• 简介

Filter也称之为过滤器,它是Servlet技术中最实用的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态图片文件或静态 html 文件等进行拦截,从而实现一些特殊的功能。例如实现URL级别的权限访问控制、过滤敏感词汇、压缩响应信息等一些高级功能。

  它主要用于对用户请求进行预处理,也可以对HttpServletResponse 进行后处理。使用Filter 的完整流程:Filter 对用户请求进行预处理,接着将请求交给Servlet 进行处理并生成响应,最后Filter 再对服务器响应进行后处理。

  • Filter过滤器功能
  1. 在HttpServletRequest 到达 Servlet 之前,拦截客户的 HttpServletRequest 。 根据需要检查 HttpServletRequest ,也可以修改HttpServletRequest 头和数据。
  2. 在HttpServletResponse 到达客户端之前,拦截HttpServletResponse 。 根据需要检查 HttpServletResponse ,也可以修改HttpServletResponse头和数据。
  • 拦截策略

 Filter接口中有一个doFilter方法,当开发人员编写好Filter,并配置对哪个web资源进行拦截后,WEB服务器每次在调用web资源的service方法之前,都会先调用一下filter的doFilter方法,因此,在该方法内编写代码可达到如下目的:

  1. 调用目标资源之前,让一段代码执行。
  2. 是否调用目标资源(即是否让用户访问web资源)。

  web服务器在调用doFilter方法时,会传递一个filterChain对象进来,filterChain对象是filter接口中最重要的一个对象,它也提供了一个doFilter方法,开发人员可以根据需求决定是否调用此方法,调用该方法,则web服务器就会调用web资源的service方法,即web资源就会被访问,否则web资源不会被访问。

参考链接:http://www.cnblogs.com/hellojava/archive/2012/12/19/2824444.html

最新文章

  1. ListView下拉加载一(分页)
  2. UWP 统一平台开发介绍
  3. C# 检测程序运行时间的方法,Stopwatch类
  4. CF 628B New Skateboard --- 水题
  5. POJ 2117 (割点+连通分量)
  6. select into from 和 insert into select 的区别和用法及 SQL SELECT INTO 中Undeclared variable错误解决办法
  7. html 5 canvas 绘制太极demo
  8. h5拖放-基础知识
  9. Android之Http网络编程(二)
  10. Quartz表达式生成器
  11. python在windows和linux环境的进程对比
  12. ecshop添加菜单以及权限分配
  13. pyhton 监听文件输入实例
  14. dajngo cache,throttling
  15. 使用impala对kudu进行DML操作
  16. PAT A1073 Scientific Notation (20 分)——字符串转数字
  17. jenkins构建的robot result结果不更新
  18. node启动时候报错 Error: Cannot find module 'express'
  19. LG3812 【模板】线性基
  20. bzoj 1875: [SDOI2009]HH去散步 -- 矩阵乘法

热门文章

  1. PyCharm+QTDesigner+PyUIC使用教程
  2. MSOCache office问题
  3. I/O复用(select)——回声服务器端/客户端
  4. react router @4 和 vue路由 详解(八)vue路由守卫
  5. Python自然语言处理---TF-IDF模型
  6. xshell提示必须安装最新的更新
  7. Saiku权限控制(四)
  8. Struts1的基础知识
  9. EF-获取自增ID值
  10. JVM运行时内存区域