○ 概念:Filter表示过滤器,是JavaWeb三大组件(Servlet、Filter、Listener)之一。
○ 过滤器可以把对资源的请求拦截下来,从而实现一些特殊的功能。
○ 过滤器一般完成一些通用的操作,比如:权限控制、统一编码处理、敏感字符处理等待。。。

Filter快速入门

 ○ 定义类,实现FIlter接口,并重写其所有方法@Overridepublic void init(FilterConfig filterConfig)throws ServletException{}@Overridepublic void doFilter(ServletRequest servletRequest,ServletResponse servletResponse,FilterChainfilterChain)throws IOException, ServletException{}@Overridepublic void destroy(){}○ 配置Filter拦截资源的路径:在类上定义@WebFilter("/*") 注解@WebFilter("/*")public class FilterDemo implements Filter○ 在doFilter方法中输出一句话,并放行§ filterChain.doFilter(servletRequest,servletResponse);

Filter执行流程

pom.xml配置文件
<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target></properties><dependencies><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.27</version></dependency><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version><scope>provided</scope></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.5</version></dependency><dependency><groupId>javax.servlet.jsp</groupId><artifactId>jsp-api</artifactId><version>2.2</version><scope>provided</scope></dependency><dependency><groupId>jstl</groupId><artifactId>jstl</artifactId><version>1.2</version></dependency></dependencies><groupId>org.example</groupId><artifactId>filter-demo</artifactId><version>1.0-SNAPSHOT</version><build><plugins><plugin><groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId><version>2.2</version></plugin></plugins></build><packaging>war</packaging></project>
访问的页面的jsp文件
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Title</title>
</head>
<body><h1>Hello JSP~~</h1><%System.out.println("3.hello Jsp");%>
</body>
</html>
创建一个过滤器FilterDemo实现Filter接口
@WebFilter("/*")
public class FilterDemo implements Filter {@Overridepublic void init(FilterConfig filterConfig) throws ServletException {}@Overridepublic void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {//1.放行前,对request数据进行处理System.out.println("1.FilterDemo...");//放行filterChain.doFilter(servletRequest, servletResponse);//2.放行后,对response数据进行处理System.out.println("5.FilterDemo...");}@Overridepublic void destroy() {}
}

运行结果

输入链接,按下回车

页面显示Hello JSP~~

控制台输出,对应上述的Filter执行流程

• Filter使用细节

 ○ Filter拦截路径配置§ 拦截具体的资源:/index.jsp:只有访问index.jsp时才会被拦截§ 目录拦截:/user/*:访问/user下的所有资源都会被拦截§ 后缀名拦截:*.jsp:访问后缀名为jsp的资源都会被拦截§ 拦截所有:/*:访问所有资源都会被拦截○ 过滤器链§ 一个web应用,可以配置多个过滤器,这多个过滤器称为过滤器链

Web笔记——Filter过滤器相关推荐

  1. Shiro笔记五:Shiro内置Filter过滤器

    Shiro笔记五:Shiro内置Filter过滤器 shiro内置的过滤器 核心过滤器类:DefaultFilter,配置哪个路径对应哪个拦截器进行处理. authc:org.apache.shiro ...

  2. java filter教程_Java Web Filter 过滤器学习教程(推荐)

    一.Filter简介 Filter也称之为过滤器,它是Servlet技术中最激动人心的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态 ...

  3. 使用filter过滤器实现简单用户登录验证(不用配置web.xml文件)

    一.filter过滤器的作用 如果想要获取中文字符,或者是显示提交的中文,就需要添加以下代码,来防止乱码的情况发生. request.setCharacterEncoding("utf-8& ...

  4. Filter 过滤器和 Listener 监听器,java面试必问底层

    一.Filter 过滤器 1.概述 2.开发步骤 3.过滤器执行流程 4.过滤器生命周期 5.过滤器配置问题 6.过滤器链(配置多个过滤器) [二.Listener 监听器]( <一线大厂Jav ...

  5. Filter过滤器(超详细)

    声明:本文是根据博主学习内容所整理得的笔记,仅作为交流学习使用,需要观看视频的请移步:http://www.atguigu.com/ 1.Filter ?什么是过滤器 Filter 过滤器它是 Jav ...

  6. Filter过滤器和动态代理处理机制和案例(Filter过滤器和动态代理结合)

    关注公众号:"奇叔码技术" 回复:"java面试题大全"或者"java面试题" 即可免费领取资料 Filter过滤器和动态代理处理机制和案例 ...

  7. Filter(过滤器)

    一.Filter过滤器(重要) Javaweb中的过滤器可以拦截所有访问web资源的请求或响应操作. 1.Filter快速入门 1.1.步骤: 1. 创建一个类实现Filter接口 2. 重写接口中方 ...

  8. filter[过滤器]使用大全

    一.页面编码过滤器 1.开发EncodingFilter.java文件,继承自javax.servlet.Filter: package bluemoon.crm.systemmanage.strut ...

  9. (JavaWeb)Filter过滤器

    Filter过滤器 Filter:过滤器,用来过滤网站的数据. 自动登录 统一设置编码格式 访问权限控制 敏感字符过滤等 过滤器实际上就是对web资源进行拦截,做一些处理后再交给下一个过滤器或serv ...

最新文章

  1. JS实现HTML上用button打开文件对话框
  2. Windows server 2012 搭建×××图文教程(一)安装×××相关服务
  3. 调用startActivityForResult后直接调用onActivityResult
  4. Win10 Microsoft Store 微软商店 Error 0x00000193 解决方法
  5. 基于xp系统搭建android开发环境
  6. java oracle 乐观锁,oracle为什么默认乐观锁
  7. php获取网页js中的json,从php获取json数据使用js读取显示到网页笔记
  8. servlet乱码 解决方法 2种方法
  9. TensorFlow实现LeNet5模型
  10. 分布式缓存Memcached---开篇的话
  11. 大规模分布式系统资源管理(一)
  12. Spring Cloud EurekaService 服务部署服务注册与发现(一)
  13. 记HTML5 a 标签的一个小坑 1
  14. HDU Calling Extraterrestrial Intelligence Again
  15. Android实现侧滑recycleView+CardVeiw卡片阴影效果
  16. 中科院软件所的毕业去向(硕+博)
  17. 机房收费系统(二)之下机退卡
  18. Cesium中使用Sampler3D,3D纹理,实现体渲染
  19. 达达开放平台php,达达开放平台对接的使用教程
  20. 已知圆柱体的底面半径c语言,C语言编程题带答案

热门文章

  1. 指令 出厂_口碑营销_南澳出口木箱出厂价
  2. html 在手机上运行,怎么在手机上打开HTML
  3. 【离散数学中的数据结构与算法】六 排列与组合二
  4. 【OS学习笔记】十三 保护模式一:全局描述符表(GDT)
  5. 关于linux系统中无法识别某一命令问题的解决方案
  6. Django的各种初识
  7. Java IO学习--(五)字节和字符数组
  8. Python 爬虫抓取代理IP,并检测联通性
  9. iOS 动画绘制线条颜色渐变的折线图
  10. dba_segments和dba_tables的不同