栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

filter&listener

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

filter&listener

什么是filter

Filter:一个实现了特殊接口(Filter)的Java类. 实现对请求资源(jsp,servlet,html,)的过滤的功能.

过滤器是一个运行在服务器的程序, 优先于请求资源(Servlet或者jsp,html)之前执行. 过滤器是javaweb技术中最为实用的技术.

3.2过滤器的作用

对目标资源(Servlet,jsp,html)进行过滤.

应用场景:登录权限检查,解决网站乱码,过滤敏感字符 ...

2.1配置文件方式

  1. 创建一个过滤器类,实现Filter接口

  2. 在web.xml中配置Filter

2.2注解方式

  1. 创建一个过滤器类,实现Filter接口

  2. 在Filter类上面添加@WebFilter("拦截路径")

回顾一下Serlvet生命周期:

init:初始化 默认在来了第一次请求时初始化,可以配置启动项loadOnStartup在服务器启动提前加载

service:服务 当来了请求时,提供服务

destroy:销毁 服务器正常关闭或者项目从服务器移除

Servlet和Filter生命周期的区别:

Filter是在服务器启动时进行初始化,而Servlet是默认来了第一次请求时进行初始化。

Filter是在来了请求并且请求资源刚好是要拦截的资源,就会执行过滤。

 * 过滤器拦截路径
 *     1.完全路径匹配:以/开头 /不能丢  eg:/demo01  表示只过滤/demo01的请求资源
 *          @WebFilter("/demo01")
 *     2.目录匹配:以/开头 以*结尾     eg:/user/*   表示过滤user下的所有请求资源
 *          @WebFilter("/user/*")
 *     3.扩展名匹配:以*开头          eg:*.do      表示过滤所有以.do结尾的请求资源
 *          @WebFilter("*.do")
 *     4.全局匹配:/*  表示过滤所有请求资源

  • 创建一个java类,实现Filter接口

  • 在类上添加注解@WebFilter("拦截路径")

  • 注意:过滤器一定要放行!!!

  • Filter生命周期描述

  • 服务器启动的时候, 会调用init()方法进行初始化 【调用一次】

  • 当每次请求路径和过滤器的拦截路径一致时就执行一次doFilter()方法,进行过滤 【调用多次】

  • 服务器正常关闭或者项目从服务器移除, 调用destory()方法进行销毁 【调用一次】

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/356232.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号