Web笔记——Filter过滤器
○ 概念: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过滤器相关推荐
- Shiro笔记五:Shiro内置Filter过滤器
Shiro笔记五:Shiro内置Filter过滤器 shiro内置的过滤器 核心过滤器类:DefaultFilter,配置哪个路径对应哪个拦截器进行处理. authc:org.apache.shiro ...
- java filter教程_Java Web Filter 过滤器学习教程(推荐)
一.Filter简介 Filter也称之为过滤器,它是Servlet技术中最激动人心的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态 ...
- 使用filter过滤器实现简单用户登录验证(不用配置web.xml文件)
一.filter过滤器的作用 如果想要获取中文字符,或者是显示提交的中文,就需要添加以下代码,来防止乱码的情况发生. request.setCharacterEncoding("utf-8& ...
- Filter 过滤器和 Listener 监听器,java面试必问底层
一.Filter 过滤器 1.概述 2.开发步骤 3.过滤器执行流程 4.过滤器生命周期 5.过滤器配置问题 6.过滤器链(配置多个过滤器) [二.Listener 监听器]( <一线大厂Jav ...
- Filter过滤器(超详细)
声明:本文是根据博主学习内容所整理得的笔记,仅作为交流学习使用,需要观看视频的请移步:http://www.atguigu.com/ 1.Filter ?什么是过滤器 Filter 过滤器它是 Jav ...
- Filter过滤器和动态代理处理机制和案例(Filter过滤器和动态代理结合)
关注公众号:"奇叔码技术" 回复:"java面试题大全"或者"java面试题" 即可免费领取资料 Filter过滤器和动态代理处理机制和案例 ...
- Filter(过滤器)
一.Filter过滤器(重要) Javaweb中的过滤器可以拦截所有访问web资源的请求或响应操作. 1.Filter快速入门 1.1.步骤: 1. 创建一个类实现Filter接口 2. 重写接口中方 ...
- filter[过滤器]使用大全
一.页面编码过滤器 1.开发EncodingFilter.java文件,继承自javax.servlet.Filter: package bluemoon.crm.systemmanage.strut ...
- (JavaWeb)Filter过滤器
Filter过滤器 Filter:过滤器,用来过滤网站的数据. 自动登录 统一设置编码格式 访问权限控制 敏感字符过滤等 过滤器实际上就是对web资源进行拦截,做一些处理后再交给下一个过滤器或serv ...
最新文章
- JS实现HTML上用button打开文件对话框
- Windows server 2012 搭建×××图文教程(一)安装×××相关服务
- 调用startActivityForResult后直接调用onActivityResult
- Win10 Microsoft Store 微软商店 Error 0x00000193 解决方法
- 基于xp系统搭建android开发环境
- java oracle 乐观锁,oracle为什么默认乐观锁
- php获取网页js中的json,从php获取json数据使用js读取显示到网页笔记
- servlet乱码 解决方法 2种方法
- TensorFlow实现LeNet5模型
- 分布式缓存Memcached---开篇的话
- 大规模分布式系统资源管理(一)
- Spring Cloud EurekaService 服务部署服务注册与发现(一)
- 记HTML5 a 标签的一个小坑 1
- HDU Calling Extraterrestrial Intelligence Again
- Android实现侧滑recycleView+CardVeiw卡片阴影效果
- 中科院软件所的毕业去向(硕+博)
- 机房收费系统(二)之下机退卡
- Cesium中使用Sampler3D,3D纹理,实现体渲染
- 达达开放平台php,达达开放平台对接的使用教程
- 已知圆柱体的底面半径c语言,C语言编程题带答案