Web 器学习笔记(基础)

Filter 过滤器

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

作用:顾名思义可以过滤资源的请求,并实现特殊的需求

Filter 接口及它核心的 doFilter() 方法(执行前就是放行前逻辑)

void doFilter(ServletRequest, ServletResponse, FilterChain)

解析:FilterChain 接口是管理过滤器的“链式结构”,比如「禁止浏览器缓存」「实现自动登录」「编码过滤器」「敏感词过滤器」「压缩资源过滤器」「HTML转义过滤器」「缓存数据」…

过滤器其实也是责任链模式的一种实现,FilterChain层层往下执行,直到最后没有过滤器,就到了「目标资源」)

注意:注解配置的 Filter,优先级按照过滤器类名(字符串)的自然排序,比如:A~Z、0~9

 

 

 Listener 监听器

实际上就是实现特定接口的普通Java程序。它专门监听Java对象的方法调用/属性改变,并可以作出反应

回到 Servlet 层面上,我们更多的监听的是「Session」「Request」「ServletContext」「Application」这些对象的创建、销毁及属性内的变化(之后执行相应代码的功能组件)

针对监听上面的几个对象,我们可以做出一些小例子,比如说「统计网站的在线人数」「自动踢人」「定时清除Session的值」

作用总结:A发生了变化,而B需要依赖A发生的变化做出处理

Listener 分类:JavaWeb 提供了八个监听器
监听器分类监听器名称作用
ServletContext监听ServletContextListener

用于对 ServletContext 对象进行监听

(创建、销毁)

ServletContextAttributeListener

对 ServletContext 对象中属性的监听

(增删改属性)

Session监听HttpSessionListener

对 Session 对象的整体状态的监听

(创建、销毁)

HttpSessionAttributeListener

对 Session 对象中的属性监听

(增删改属性)

HttpSessionBindingListener监听对象于 Session 的绑定和解除
HttpSessionActivationListener对 Session 数据的钝化和活化的监听
Request监听ServletRequestListener

对 Request 对象进行监听

(创建、销毁)

ServletRequestAttributeListener

对 Request 对象中属性的监听

(增删改属性)

监听使用例子:ServletContextListener

  1. 定义实现了 ServletContextListener 接口的类
  2. 在实现类上添加 @WebListener 注解

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Excel 公式函数:学习基本示例

数据准备 对于本教程,我们将使用以下数据集。 家居用品预算 S / N项目数量价格小计价格适中吗?1芒果96002橘子312003番茄125004食用油565005汤力水133900 房屋建筑项目时间表 S/NITEM开始日期结束日期持续时间(天)1调查土地0…

000_差分信号

1.什么是差分信号 差分信号又叫做差模信号,使用差分信号传输时,需要2根信号线,这2根信号线的振幅相等,相位相反,通过2根信号线的电压差值来表示逻辑0和逻辑1。 差分信号表示逻辑值如下图: 2.差分信号的特…

IDEA2023.2.1中创建第一个Tomcat的web项目

首先,创建一个普通的java项目。点击【file】-【new】-【project】 创建一个TomcatDemo项目 创建如下图 添加web部门。点击【file】-【project structure】 选择【modules】-选中项目“TomcatDemo” 点击项目名上的加号【】,添加【web】模块 我们就会发现…

【Vue】快速入门案例与工作流程的讲解

🎉🎉欢迎来到我的CSDN主页!🎉🎉 🏅我是Java方文山,一个在CSDN分享笔记的博主。📚📚 🌟在这里,我要推荐给大家我的专栏《Vue快速入门》。&#x1f…

Springboot 实践(18)Nacos配置中心参数自动刷新测试

前文讲解了Nacos 2.2.3配置中心的服务端的下载安装,和springboot整合nacos的客户端。Springboot整合nacos关键在于使用的jar版本要匹配,文中使用版本如下: ☆ springboot版本: 2.1.5.RELEASE ☆ spring cloud版本 Greenwich.RELEASE ☆ sp…

学信息系统项目管理师第4版系列09_配置管理

1. 配置管理 1.1. 应用技术的和管理的指导和监控方法以标识和说明配置项的功能和物理特征,控制这些特征的变更,记录和报告变更处理和实现状态并验证与规定的需求的遵循性 1.1.1. GB/T 11457《信息技术软件工程术语》 2. 配置项 2.1. Configuration I…

Scapy 解析 pcap 文件从HTTP流量中提取图片

Scapy 解析 pcap 文件从HTTP流量中提取图片 前言一、网络环境示例二、嗅探流量示例三、pcap 文件处理最后参考 ​ 作者:高玉涵 ​ 时间:2023.9.17 10:25 ​ 环境:Linux kali 5.15.0-kali3-amd64,Python 3.11.4,scapy…

线性代数的本质(二)——线性变换与矩阵

文章目录 线性变换与矩阵线性变换与二阶方阵常见的线性变换复合变换与矩阵乘法矩阵的定义列空间与基矩阵的秩逆变换与逆矩阵 线性变换与矩阵 线性变换与二阶方阵 本节从二维平面出发学习线性代数。通常选用平面坐标系 O x y Oxy Oxy ,基向量为 i , j \mathbf i,…

什么是无人机全自动飞行系统?概念、构成、作用深度解析

无人机的工业化应用深入催生出新的痛点,无人机应用飞手培养难、成本高、技术参差不齐,以及应急响应和采集作业价值等没有得到充分释放,由此无人机自动飞行系统、无人机自动机场横空出世,因其无人化、自动化、无人机值守的应用特性…

【项目经验】:elementui多选表格默认选中

一.需求 在页面刚打开就默认选中指定项。 二.方法Table Methods toggleRowSelection用于多选表格,切换某一行的选中状态,如果使用了第二个参数,则是设置这一行选中与否(selected 为 true 则选中)row, selected 详细…

SSLRec:统一的自监督推荐算法库

论文链接: https://arxiv.org/pdf/2308.05697.pdf 论文代码: https://github.com/HKUDS/SSLRec TLDR 我们搭建了 SSLRec,一个统一的自监督推荐算法库。SSLRec 提供了一个标准化、灵活和全面的框架,用于整合不同场景下的推荐算法&a…

Vue2+Vue3

文章目录 Vue快速上手Vue是什么第一个Vue程序插值表达式Vue核心特性:响应式 Vue指令v-htmlv-show 与 v-ifv-else 与 v-else-ifv-onv-bindv-forv-model指令修饰符 计算属性watch侦听器(监视器)watch——简写watch——完整写法 Vue生命周期 和 …

网页的快捷方式打开自动全屏--Chrome、Firefox 浏览器相关设置

Firefox 的全屏方式与 Chrome 不同,Chrome 自带全屏模式以及APP模式,通过简单的参数即可设置,而Firefox暂时么有这个功能,Firefox 的全屏功能可以通过全屏插件实现。 全屏模式下,按 F11 不会退出全屏,鼠标…

GDB之(任意门)跳到任意位置(十四)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…

Pytorch-CNN-Mnist

文章目录 model.pymain.py网络设置注意事项及改进运行截图 model.py import torch.nn as nn class CNN_cls(nn.Module):def __init__(self,in_dim28*28):super(CNN_cls,self).__init__()self.conv1 nn.Conv2d(1,32,1,1)self.pool1 nn.MaxPool2d(2,2)self.conv2 nn.Conv2d(3…

Web 第一步:HTTP 协议(基础)

这里是JavaWeb的开头部分!那么先解释一下吧: Web:全球广域网,也称为万维网(www),能够通过浏览器访问的网站。 JavaWeb:是用Java技术来解决相关 Web 互联网领域的技术栈。 &#xf…

vite和webpack的区别

vite和webpack的区别 1、前言2、Webpack2.1 Webpack简述2.2 Webpack常用插件 3、Vite3.1 Vite简述3.2 Vite插件推荐 4、区别4.1 开发模式不同4.2 打包效率不同4.3 插件生态不同4.4 配置复杂度不同4.5 热更新机制不同 5、总结 1、前言 Webpack和Vite是现代前端开发中非常重要的…

深度解析shell脚本的命令的原理之ls

ls是一个常用的Unix和Linux命令,它的功能是列出目录内容。当运行ls命令时,操作系统会执行一系列步骤,以获取和显示指定目录中的文件和子目录。以下是对这个命令的深度解析: 解析参数和选项:首先,ls命令会解…

Linux:centos9的本地yum仓库配置

其实9和7的配置方法是差不多一样的,只不过你使用7的本地yum仓库里面直接挂载就可以直接把仓库位置指向挂载点 具体可以看我往期文章,但是先看完我下面的描述再去看我链接的文章才能看懂如何配置centos9的yum仓库 Linux:YUM仓库服务_鲍海超-…

Android Media3 ExoPlayer 开启缓存功能

ExoPlayer 开启播放缓存功能,在下次加载已经播放过的网络资源的时候,可以直接从本地缓存加载,实现为用户节省流量和提升加载效率的作用。 方法一:采用 ExoPlayer 缓存策略 第 1 步:实现 Exoplayer 参考 Exoplayer 官…