首页 > 其他分享 >2024/11/20日 日志 关于 Filter & Listener

2024/11/20日 日志 关于 Filter & Listener

时间:2024-11-21 19:57:53浏览次数:1  
标签:11 Listener 20 -- public Filter 拦截 监听

Filter

点击查看代码
-- Filter
-- 
-- ·概念:Filter 表示过滤器,是JavaWeb 三大组件(Servlet、Filter、Listener)之一
-- ·过滤器可以把对资源的请求拦截下来,从而实现一些特殊的功能。
-- ·过滤器一般完成一些通用的操作,比如:权限控制、统一编码处理、敏感字符处理等等
-- 
-- Filter 快速入门
-- 1.定义类,实现 Filter接口,并重写其所有方法
-- public class FilterDemo implements Filter {
-- public void init(Filterconfig filterconfig)
-- public void doFilter(ServletRequest request···
-- public void destroy(){}
-- 2.配置Filter拦截资源的路径:在类上定义 @WebFilter 注解
-- @WebFilter("/*")
-- public class FilterDemo implements Filter {
-- 3.在doFiter方法中输出一句话,并放行
-- public void doFilter(ServletRequest request···
-- System.out.println("filter 被执行了...");
-- //液行
-- chain.doFilter(request,response);
-- 
-- 1.执行流程 放行后访问对应资源,资源访问完成后,还会回到Filter中吗? 会
-- 2.如果回到Filter中,是重头执行还是执行放行后的逻辑呢? 放行后逻辑
-- 执行放行前逻辑->放行->访问资源->执行放行后逻辑
-- 
-- 使用细节
-- Filter 拦截路径配置
-- Filter 可以根据需求,配置不同的拦截资源路径
-- @WebFilter("/*")
-- public class FilterDemo
-- 拦截具体的资源:/indexjsp:只有访问index.jsp时才会被拦截
-- 目录拦截:/user/*:访问/user下的所有资源,都会被拦截
-- 后缀名拦截:*jsp:访问后缀名为jsp的资源,都会被拦截
-- 拦截所有:/*:访问所有资源,都会被拦截
-- 
-- 过滤器链
-- 一个Web应用,可以配置多个过滤器,这多个过滤器称为过滤器链
-- 注解配置的Filter,优先级按照过滤器类名(字符串)的自然排序
-- 

Listener

点击查看代码
-- Listener
-- 
-- Listener
-- · 概念:Listener表示监听器,是JavaWeb三大组件(Servlet、Filter、Listener)之一。
-- · 监听器可以监听就是在application,session,request三个对象创建、销毁
-- 或者往其中添加修改删除属性时自动执行代码的功能组件
-- · Listener分类:JavaWeb中提供了8个监听器
-- 监听器分类及监听器名称											作用
-- Servletcontext监听
-- ServletcontextListener          用于对Servletcontext对象进行监听(创建、销毁)
-- ServletcontextAttributeListener 对Servletcontext对象中属性的监听(增删改属性)
-- Session监听
-- HttpSessionListener             对session对象的整体状态的监听(创建、销毁)
-- HttpSessionAttributeListener    对session对象中的属性监听(增删改属性)
-- HttpSessionBindingListener      监听对象于session的绑定和解除
-- HttpSessionActivationListener   对session数据的钝化和活化的监听
-- Request监听 
-- ServletRequestListener          对Request对象进行监听(创建、销毁)
-- ServletRequestAttributeListener 对Request对象中属性的监听(增删改属性)
-- 
-- 例如:
-- ServletContextListener 使用
-- 1.定义类,实现ServletContextListener接囗
-- public class ContextioaderListener implements ServletContextListener {
-- /**
-- * Servletcontext对象被创建:整个web应用发布成功
-- * @param sce
-- */
-- /**
-- public void contextInitialized(ServletcontextEvent sce){}
-- /**
-- * ServletContext对象被销毁:整个web应用卸载
-- * @param sce
-- */
-- public void contextDestroyed(ServletContextEvent sce){}
-- }
-- 2.在类上添加@WebListener 注解
-- 

标签:11,Listener,20,--,public,Filter,拦截,监听
From: https://www.cnblogs.com/MoonbeamsC/p/18561427

相关文章

  • gscoolink:gsv2001的sdk移植
    1前言  以gsv的sdk的应用代码为例,将应用代码从m0核移植到m1核的mcu上;  因为用的是hal库,所以互相移植修改的并不多;实际改个头文件就可以编译了;  虽然我hal库用的是m1核的hal库,但是实际上我直接啥也没改,跑在m4核的gdf303上也没啥问题;2修改项目名  修改.uprojx的名字,......
  • 2024最新版Node.js详细安装教程(含npm配置淘宝最新镜像地址)
    一:Node.js安装浏览器中搜索Nodejs,或直接用网址:Node.js—在任何地方运行JavaScript建议此处下载长期支持版本(红框内):开始下载,完成后打开文件:进入安装界面,在此处勾选,再点击next:此处为你希望将Nodejs安装到哪里,可以是默认的,也可以自定义,前提是要明确安装到哪里。这里不......
  • [2024.11.21]IOI 赛制练习赛
    我爱IOI赛时虽然小L说题目按照字典序排列,但是我还是决定先看T1。由于是图论专场,所以我直接大胆对数据连边,然后胡了一个并查集,感觉很对。但发现不太好维护当前状态如何插入新值,简单画了一会发现只需要维护一个\(vis\)数组并放到祖先那里,就可以维护能否操作了。单身时间......
  • P7906 [Ynoi2005] rpxleqxq 题解
    P7906[Ynoi2005]rpxleqxq题解题目大意给定一个长度为\(n\)的序列\(A\),和一个常数\(k\)。有\(m\)次询问,每次给定一个区间\([l,r]\),询问有多少二元组\((i,j)\),满足:\(1\leqi<j\leqn\);\((A_i\oplusA_j)\leqk\)。Solve前置知识:莫队二次离线。对于普通莫队,端......
  • [CSP-S2019]Emiya 家今天的饭 题解
    题意分析给出一个矩阵,要求每行只能选一个节点,每列选的节点不能超过所有选的节点的一半,不能不选,给出每个节点的选择方案数,求总方案数考场思路考虑暴力枚举每一个点的选择情况,最后统计答案。对于行:但是因为有每一行只能选择一个的限制,所以考虑当前行选择一个后直接转跳到下一行......
  • [NOIP2016 提高组] 蚯蚓 题解
    考场思路考虑要动态维护最大值,可以直接使用优先队列进行维护,但是,考虑到我们并不好直接修改优先队列中的每一个元素,所以决定使用vector先排一遍序,再使用冒泡排序进行动态维护,时间复杂度\(O(mn)\),可以拿35pts。代码#include<iostream>#include<vector>#include<algorithm>......
  • 20222414 2024-2025-1《网络与系统攻防技术》实验五实验报告
    1.实验要求(1)从www.besti.edu.cn、baidu.com、sina.com.cn中选择一个DNS域名进行查询,获取如下信息:DNS注册人及联系方式该域名对应IP地址IP地址注册人及联系方式IP地址所在国家、城市和具体地理位置PS:使用whois、dig、nslookup、traceroute、以及各类在线和离线工具进行搜集信......
  • SS241121B. Soso 的模法矩阵(modmat)
    SS241121B.Soso的模法矩阵(modmat)题意给你长度为\(n\)的\(\{a_i\}\),长度为\(m\)的\(\{b_i\}\),设\(a_i'=\prod_{j=1}^ia_i,b_i'=\prod_{j=1}^ib_i\),对所有\(i\in[1,n],j\in[1,m]\),求\[(a_i'\bmodb_j')\bmod998244353......
  • 11.21 打工
    11.21打工copypropertiestry{if(StringUtils.isBlank(modelCode)){returnR.fail("modelCode不能为空");}ModelCenterresult=this.lambdaQuery().eq(ModelCenter::getModelCode,modelCode).on......
  • typeorm中如何清空表数据?TypeORM版本:V0.3.20 (2024-01-26)
    在最新版的TypeORM中,可以通过以下几种方式清空表数据。具体方法取决于你想要的操作和使用的数据库。//./data-source.tsimport"reflect-metadata";import{DataSource}from"typeorm";exportconstAppDataSource=newDataSource({type:"mysql",host:"......