初学Java web(十)Filter 和 Listener

news2024/12/24 3:20:48

Filter和Listener

一.Filter

  • 概念:Filter表示过滤器,是JavaWeb三大组件(Servlet、Filter、Listener)之一。

  • 过滤器可以把对资源的请求拦截下来,从而实现一些特殊的功能。

  • 过滤器一般完成一些通用的操作,比如:权限控制、统一编码处理、敏感字符处理等等

1.快速入门

  • 定义类,实现Filter接口,并重写其所有方法

  public class FilterDemo implements Filter{
      public void init(FilterConfig filterConfig)
      public void doFilter(ServletRequest request
      public void destroy(){}
  }

  • 配置Filter拦截资源的路径:在类上定义@WebFilter注解

  @WebFilter("/*")
  public class FilterDemo implements Filter{}

  • 在doFilter方法中输出一句话,并放行

  public void doFilter(ServletRequest request,Ser
      System.out.println("filter被执行了...");
      //放行
      chain.doFilter(request,response);
  }

2.Filter执行流程

1.放行后访问对应资源,资源访问完成后,还会回到Fter中吗? 会

2.如果回到Filter中,是重头执行还是执行放行后的逻辑呢? 放行后逻辑

3.使用细节

3.1Filter拦截路径配置

  • Filter可以根据需求,配置不同的拦截资源路径

  @WebFilter("/*")
  public class FilterDemo

  • 拦截具体的资源:/index,jsp:只有访问lindex,jsp时才会被拦截。

  • 目录拦截:/user/:访问/user下的所有资源,都会被拦截后缀名拦截:

  • jsp:访问后缀名为jsp的资源,都会被拦截

  • 拦截所有:*:访问所有资源,都会被拦截

3.2过滤器链

  • 一个Web应用,可以配置多个过滤器,这多个过滤器称为过滤器链

  • 注解配置的Filter,优先级按照过滤器类名(字符串)的自然排序

二.监听器

  • 概念:Listener表示监听器,是JavaWeb三大组件(Servlet、Filter、Listener)之一。

  • 监听器可以监听就是在application,session,request:三个对象创建、销毁或者往其中添加修改删除属性时自动执行代码的功能组件

  • Listener分类:JavaWeb中提供了8个监听器

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/124297.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Nuttx学习入门

Nuttx学习 NuttX 是一个实时操作系统 (RTOS),强调标准合规性和占用空间小。可从 8 位扩展到 64 位微控制器环境,NuttX 中的主要管理标准是 POSIX 和 ANSI 标准。 NuttX 的主要环境依赖性是 (1) GNU make,(2) bash 脚本,和 (3) L…

第三十四章 数论——高斯消元解线性方程组

第三十四章 数论——高斯消元解线性方程组一、高斯消元1、线性方程组2、高斯消元步骤(1)数学知识铺垫增广矩阵和阶梯矩阵初等变换(2)高斯消元步骤二、代码模板1、问题:2、代码一、高斯消元 1、线性方程组 我们在小学…

P3884 [JLOI2009]二叉树问题

题目 如下图所示的一棵二叉树的深度、宽度及结点间距离分别为: 深度:44宽度:44结点 8 和 6 之间的距离:88结点 7 和 6 之间的距离:33 其中宽度表示二叉树上同一层最多的结点个数,节点 u, vu,v 之间的距离…

算法工程师需要学习的基础

文章目录应该早点系统地了解算法工程师需要学习的东西的,B站上的up主:梁唐讲的很好,大家可以去看一下,只截了一部分图做一个记录

MySQL5.7 多主一从(多源复制)同步配置

主从复制有如下一些优势: 分担负载:对业务进行读写分离,减轻主库I/O负载,将部分压力分担到从库上,缩短客户查询响应时间。 增加健壮性:在主库出现问题时,可通过多种方案将从库设置为主库&#…

100%全国产龙芯2K1000设计方案

国产工业处理器,龙芯2K1000主板,100%全国产化方案 可实现100%国产元器件方案,国产处理器 信迈2k1000开发板采用龙芯 2k1000处理器,处理器集成 2 个 GS264 处理器核,主频 1GHz,64 位 DDR3 控制器&#xff…

Vue与VueComponent的内置关系

上一节讲到了 Vue.extend 与 VueComponent 的区别,这一节讲一讲 Vue 与 VueComponent的内置关系。 原型与原型链 这里需要用到原型与原型链中的知识点,具体文章链接在这里。js中的原型与原型链 这里只需要理解一个点,那就是构造函数的protot…

【idea2022.3】安装教程2022-12

教程目录教程简介所需环境和版本软件下载执行过程安装激活开始使用前的配置结束语教程简介 换电脑了,又经历了一遍软件和环境的安装,已经安装好了jdk和对应版本的maven,所以接下来该安装idea等软件了 所需环境和版本 系统:win1…

软件测试人员30K的月薪,是个什么段位?

大家可以参照BAT等一线大厂的职级,一般是高级测试工程师和资深测试开发工程师的职位,下面是在字节跳动年薪40W的测试工程师 掌握的技能树主要包含哪个方面? 现在的行情,大家想要拿到30k这个薪资,不妨审视自己&#xf…

跨平台备份工具Duplicati

本文软件得到了网友 冷心 的推荐; 什么是 Duplicati ? Duplicati 是一个免费的开源备份客户端,可将加密的、增量的、压缩的备份安全地存储在云存储服务和远程文件服务器上。支持 Amazon S3、IDrive e2、Backblaze (B2)、Box、Dropbox、FTP、G…

【Flask框架】——27 SQLAlchemy高级

1、排序 order_by方法排序:可以指定根据模型中某个属性进行排序,"模型名.属性名.desc()"代表的是降序排序。 # 根据年龄降序 lst session.query(Student).order_by(Student.age.desc()).all() # 根据年龄升序 lst session.query(Student).…

WinNTSetup V5.3.0 Bata5 单文件版

前言 WinNTSetup 是一款Windows系统硬盘安装器,支持从PE和本地安装系统,支持支持NT内核的系统。 WinNTSetup 包括XP、Win7、Win8、Win8.1、Win10等这些系统。直接从硬盘安装系统,不需要光盘。WinNTSetup 还附加一些系统优化功能&#xff0…

Android---简易的底部导航栏

目录 一、activity_main.xml布局 二、给ViewPager2 创建适配器 三、ViewPager2 数据源 四、MainActivity.java类 1、初始化数据源。 2、ViewPager2 页面改变监听 3、BottomNavigationView 的每个 item 点击的监听 这里简单演示实现效果,实现快速开发&#xff…

mmdetection从入门到精通(一)-汇总目录

1.简介 MMDetection 是商汤出品的集成了目标检测/实例分割分割/全景分割几个方面顶级模型组合的,模块化的,基于 PyTorch 的目标检测开源工具箱。是深度学习工作者的必备工具,非常有必要深入掌握。 近期汇总一下从入…

今年最后一场官方活动

阅读本文大概需要 1.6 分钟。2022 年 12 月 26,新型冠状病毒肺炎正式更名为了新型冠状病毒感染,不再纳入《中华人民共和国国境卫生检查疫法》 规定的检疫传染病管理。文字层面上,这意味着我们口中的疫情,结束了。然而我却认为并没…

Django学习 Day9

1.F对象 一个F对象代表数据库中某条记录的字段的信息。 作用: 通常是对数据库中的字段的值在不获取的情况下进行操作 用于类属性(字段)之间的比较。 语法: From django.db.models import F F(‘列名’)例子: 所有Book数据表中的…

云游戏的2022:破局、新生、元宇宙

文|智能相对论 作者|青月 如果说2021年是「元宇宙元年」,那么2022年更像是元宇宙的「祛魅之年」,在这一年里,原本处在狂奔状态下的元宇宙正在褪去虚火。 在这样的大环境下,由于在实时性、兼容性、无限开创等关键特性的理念上的…

99. 激光炸弹——二维前缀和

地图上有 N 个目标,用整数 Xi,Yi 表示目标在地图上的位置,每个目标都有一个价值 Wi。 注意:不同目标可能在同一位置。 现在有一种新型的激光炸弹,可以摧毁一个包含 RR 个位置的正方形内的所有目标。 激光炸弹的投放是通过卫星定…

eclipse中安装ERMaster

eclipse中安装ERMaster 简介 参考网址: https://www.bilibili.com/video/BV1R4411a73T/?p22&spm_id_from333.880.my_history.page.click&vd_source42661b67a37800001020550eb4a4c45e 主要看这 3 集 ERMaster 在 jeesite 官网的介绍项目 参考网址&#x…

systemd(二)单元配置文件

概述 对于系统中的每一个单元(unit)都有一个配置文件,用于指示systemd如何启动或停止这个单元。 配置文件格式 [Unit]区块 [Unit]区块通常是配置文件的第一个区块,用来定义单元的元数据,以及配置与其他单元的关系。…