Java web笔记 三大组件之Filter

Springboot注解方式实现Filter、Servlet、Listener三大组件 本文讲解的知识点是基于Springboot 2.1.5.RELEASE版本。 一. 关键技术 Filter、Servlet、Listener是Java Web开发的三大利器,本文主要介绍Springboot如何通过注解方式创建它们。 要实现Filter、Servlet、Listener组件的功能需要涉及到以下几个核心注解: @ServletComponentScan @WebFilter @... 阅读详情

Filter
概念: Filter 表示过滤器,是JavaWeb三大组件(Servlet Filter Listener)之一.
过滤器可以把对资源的请求拦截下来,从而实现一些特殊的功能
过滤器一般完成一些通用的操作,比如:权限控制1.统一编码处理.敏感字符处理等等…
比如:地址栏输入别的页面可以不登录就能访问,我们可以用过滤器来拦截他们让用户必须登录才能使用其他的页面

定义类,实现Fiter接口,并重写其所有方法
Filter是servlet下的接口
核心的方法就是doFilter
配置Filter拦截资源的路径:在类上定义@WebFilter注解,/*代表所有页面
@WebFilter("/ * ")


package com.zking.web.filter;

import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.io.IOException;

/**
 * 登录验证的过滤器,要给与登录相关的资源放行,包括css,js和注册页面的也一样
 */
@WebFilter("/*")
public class loginFilter implements Filter {
    @Override
    public void init(FilterConfig filterConfig) throws ServletException {

    }

    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        HttpServletRequest req=(HttpServletRequest)servletRequest;
        //判断session中是否有user
        HttpSession session= req.getSession();
        Object user=session.getAttribute("user");

        //判断user是否为null
        if (user!=null){
            //登录过了
            //放行
            filterChain.doFilter(servletRequest,servletResponse);
        }else{
            //没有登录
            req.setAttribute("login.jsp","尚未登录");
            req.getRequestDispatcher("/jsp_03/admin/login.jsp").forward(servletRequest,servletResponse);
        }

    }

    @Override
    public void destroy() {

    }
}


放行分为放行前逻辑和放行后逻辑

放行后访问对应资源,资源访问完成后,还会回到Filter中
回到Filter中,直接执行放行后逻辑

执行放行前逻辑-->放行-->访问资源-->执行放行后逻辑 
Spring Boot:Web开发之三大组件的整合 Spring Boot Web开发之三大组件的整合介绍 阅读详情

相关推荐

从采集到播放:RV1106+H264全链路开发避坑指南(含FFmpeg转码技巧)

本文详细解析了基于Rockchip RV1106芯片构建H.264视频从采集到播放全链路的开发实践。内容涵盖RKMPI框架设计、VI/VENC模块配置、内存泄漏排查及FFmpeg高效转码技巧,旨在帮助嵌入式开发者规避常见陷阱,实现稳定高效的低延迟视频处理流水线。

weixin_29189377的博客 662

JavaWeb的Filter详解

**用户访问主界面过滤,只有登录的才能访问,没登录的都拦截**/ HttpServletRequest httpServletRequest =(HttpServletRequest) request;//获取servlet请求路径 String servletPath = httpServletRequest . getServletPath();//没登录,返回登录界面,已登录的放行 if(null == userName &&!

CAUC_lin的博客 1409

新手必看:如何用T265和ROS实现无人机室内精准定位(附PX4参数配置)

本文详细介绍了如何使用Intel Realsense T265和ROS实现无人机室内精准定位,包括硬件准备、ROS数据流架构设计、PX4参数配置及系统验证。特别针对视觉SLAM技术在室内环境中的应用,提供了从零搭建到进阶优化的全流程解析,适合无人机开发新手快速上手。

weixin_30642561的博客 406

springBoot项目搭建包含RBAC模块 -- 自定义过滤器实现权限校验(十)

上一章我们讲了用户登录开发,我们是基于redis管理token。这一章我们自定义过滤器实现权限校验,在项目中使用的是webflux不是springmvc。基于webflux自定义过滤器,通过实现WebFilter。因为项目使用的是webFlux,自定义过滤器主要是实现WebFilter重写filter方法。过滤器内容主要包含①:不拦截的路径直接放过;②:校验token;③:登出接口处理,删除token;④:用户权限校验,判断是否有访问权限;⑤:token续期和向heard头添加userId和userName

weixin_43470322的博客 1198

通达信强龙趋势幅图指标:从强弱分析到买卖点实战指南

在股票技术分析中,趋势判断一直是交易决策的核心环节。传统指标通常依赖均线交叉或MACD金叉来确认趋势,但这种确认机制天然存在滞后性,往往等信号明确时行情已走过大半。针对这一问题,基于价格位置、量能配合和均线结构三个维度综合打分的思想逐渐受到关注,通过量化个股所处强弱区间,帮助投资者更快识别强势股与风险信号。这类强弱分析工具不仅适用于刚接触公式编辑的新手,也能为有经验的交易者提供一把可视化的“强度刻度尺”。在实际应用中,结合回踩低吸、离场判断等交易场景,能够有效提升买卖点的把握能力。本文详细解析通达信强龙趋势

weixin_29044157的博客 328

VSAN 虚拟机丢失排查与恢复完整方案

VSAN虚拟机(含vCenter)显示无效 检查存储状态:登录ESXi Host Client,确认VSAN存储是否挂载。 若未挂载,通过SSH执行 手动挂载。 验证文件存在:检查虚拟机文件是否完整。 解除文件锁定:删除残留的 .lck 文件 手动注册虚拟机:强制注册虚拟机配置文件。 检查VSAN健康:验证集群节点在线、磁盘组状态正常,并测试节点间网络。 修复元数据:针对损坏对象,谨慎执行修复。 终极恢复:若数据丢失,从备份还原或联系VMware支持,提交日志

sido777的博客 2687

(WebFlux)004、WebFilter踩坑记录

1、遇到问题,还是要多看看呀,细细思考一下2、多看代码,发现问题,实现完美的解决方案。

编号94530 2096

基于STM32的智能台灯PWM调光与人体感应融合设计

本文详细介绍了基于STM32单片机的智能台灯设计方案,重点讲解了PWM调光技术与人体感应模块的融合实现。通过STM32的高级定时器产生精准PWM信号控制LED亮度,结合红外传感器实现人来灯亮、人走灯灭的智能体验,同时集成光敏传感实现环境自适应调光,打造高效节能的智能照明解决方案。

threejs5artist的博客 827

Java Web Filter 过滤器

基本概念 Filter 过滤器它是 JavaEE 的规范,也就是接口 Filter 过滤器它的作用是:拦截请求,过滤响应 拦截请求常见的应用场景有: 1、权限检查 2、日记操作 3、事务管理 等等 应用 有一个 admin 目录。这个 admin 目录下的所有资源(html 页面、jpg 图片、jsp 文件、等等)都必须是用户登录之后才允许访问 过滤所有在admin文件夹内的文件public class AdminFilter implements Filter { public void in

weixin_42524843的博客 195

企业微信API实战:解密external_userid的跨应用一致性管理

本文深入探讨企业微信API中external_userid的跨应用一致性管理问题,解析其本质及在不同应用场景下的ID不一致挑战。通过ID转换与统一管理方案,结合unionid实现跨应用客户数据整合,提供实战代码示例和架构设计,助力企业构建高效的客户管理系统。

weixin_29258297的博客 638

【产品经理修炼之道】- 基金产品-“TA系统 ”

TA:Transfer Agent 缩写,通常称成“登记过户”。开放式基金登记过户(TA)系统是基金的登记过户系统。其功能涵盖了基金交易业务的各个环节,包括账户业务处理,如投资者开户、修改账户资料、挂失/解挂等;日常交易业务处理,如认购、申购(一般申购和定期定额)、赎回(一般赎回、指定赎回、预约赎回等)、转托管、基金转换等;特殊业务处理,如非交易过户、账户冻结/解冻等;分红业务处理,如现金分红和红利再投资。

xiaoli8748的专栏 1679

JavaWeb——Filter

一、Filter简介  Filter和Servlet一样默认都是单例的,Filter是请求到Servlet过程中的一个屏障,可以拦截和放行请求,像登录和注册这种请求若被拦截的话就无法登录和注册,也就无法执行一些需要登录后才能执行的操作了。  Filter是JavaWeb中的三大组件(Servlet、Filter、Listener)之一,Filter直译过来叫过滤器,是用来过滤请求的,Filter虽...

如不來的博客 1495

软考备考:《系统规划与管理师教程》(第2版)第2章——数字ZG与数智化发展

🔴数字化转型的定义:数字化转型是建立在数字化转换、数字化升级基础上,进一步触及组织核心业务,以新建一种业务模式为目标的高层次转型。

✨ 欢迎来到【Seal ^_^ 的优快云博客】!✨ 961

JavaWeb三大组件——Filter最详细学习笔记

文章目录Filter详解一、Filter简介1.1 什么是Filter1.2 Filter的简单用法(权限检查)二、Filter的生命周期三、FilterConfig类的介绍四、FilterChain类(过滤器链)五、Filter过滤器的三种拦截方式5.1 精确匹配5.2 目录匹配5.3 后缀名匹配 Filter详解 一、Filter简介 1.1 什么是Filter Filter是JavaWeb三大组件之一,符合JavaEE的规范——接口。 JavaWeb的三大组件——Servlet程序、Listener监

越努力越幸运的博客 1177

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

WEB三大组件之Filter

在很多项目中通常需要用到filter来实现用户身份识别,并将识别出来的用户信息,保存到ThreadLocal对应的上下文,这样在后续的请求链路中,在任何地方都可以直接获取当前的登录用户了。使用WebFilter注解,标注到实现自己额的过滤器上,有几个参数需要注意,其中urlPatterns最为常用,表示这个filter使用与那些url请求(默认场景下全部都被拦截)也可以在这一层做限流等)若判定通行,则进入Servlet逻辑,Servlet执行完毕后,又返回Filter,最后在返回给请求方。

qq_64948664的博客 1547

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Java Web三大组件

上篇文章我们介绍了Servlet和Jsp以及一些Java Web开发的基础概念,本篇文章我们来介绍另一Java Web开发中的重要概念——Java Web三大组件,即Servlet、Filter和Listener。 1. Servlet 由于我们上篇文章已经介绍过Servlet了,这里就不再详细介绍了,透过现象看本质——什么是servlet。 2. Filter Filter(过滤器)用于拦截用户请求,在服务器作出响应前,可以在拦截后修改request和response。可以实现一次编码,多处应用。

卓立的博客 1512

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

JAVAWEB三大组件|servlet、filter、lisener

当Servlet容器接收到用户的HTTP请求后,由容器负责把请求转换为和对象,分别代表HTTP请求和响应,然后,经过若干个Filter组件后,到达最终的Servlet组件,由Servlet组件完成HTTP处理,将响应写入对象此外,还有一种Listener接口,可以监听各种事件,但不直接参与处理HTTP请求,具体实现由Web App完成,何时调用则由容器决定。ServletFilter和Listener都是运行在容器中的组件,只有容器才能主动调用它们。1、定义类,实现Filter接口,并重写其所有方法。

2301_79918816的博客 1194

JavaWeb三大组件【Servlet】【Filter】【Listener】学习笔记

本文主要详细讲解JavaWeb的三大组件:Servlet、Filter、Listener。内容包括三者的基本语法、用法,同时包含一个三者的综合案例,同时案例富有详细的解说

热爱编程、热爱生活、热爱探索 3181

SpringBoot使用注解扫描注册Java Web三大组件

SpringBoot使用注解扫描注册Java Web三大组件

呆萌很的博客 1363

[Java Web]Filter | 一文搞懂Web三大组件之一的Filter

在Java Web开发中,Filter是一种常用的组件,它可以在请求到达Web应用程序的Servlet之前或之后对请求进行拦截和处理

逐梦苍穹的博客 1287

JavaWeb三大组件啊-Filter

本文摘要: Filter过滤器是Servlet技术中的重要组件,用于在客户端与服务器之间建立中间层,实现对请求和响应的过滤处理。文章介绍了Filter的应用场景(如统一编码、登录验证、敏感词过滤)、配置方式(XML和注解开发)、生命周期(创建、初始化、执行、销毁)以及拦截路径的四种匹配模式(精确、目录、后缀、全匹配)。重点阐述了过滤器链的执行顺序规则,并通过两个实际案例(全站乱码处理和登录权限校验)展示了Filter的具体应用。使用Filter可以有效减少代码冗余,实现统一处理逻辑。

冬眠猫的博客 8371

【JavaWeb】 三大组件之过滤器 Filter

过滤器(Filter)是Java Web应用中的一种组件,它在请求到达Servlet或JSP之前或者响应送回客户端之前,对请求和响应进行预处理和后处理操作。通过使用过滤器,可以对请求进行过滤,拦截请求,修改请求参数,在请求被处理之前进行一些预处理操作;同时也可以对响应进行过滤,对响应内容进行修改,添加一些额外的处理。

dandelionl_的博客 2509

在springboot中使用web三大组件

springboot使用web三大组件

m0_73731267的博客 664

Web整合Servlet三大组件

经常熟悉Servlet的人知道,Servlet最主要的是它的三大组件。如果我们想要在SpringBoot中使用Servlet这三大组件,有两种方式,分别是组件注册和路径扫描。

F20220306292的博客 1778

Java Web三大组件之Filter过滤器

本文只是先做下简单的介绍,文章会持续更新....... Java Web三大组件(Servlet、Filter、Listener) 1、Filter过滤器概念 生活中的过滤器:净水器,空气净化器,大山里的土匪等 JavaWeb中的过滤器:当浏览器访问服务器资源时,过滤器就会拦截浏览器发过来的请求,实现一些特别的功能 作用:一般用于完成通用的操作,如登录验证,身份验证,...

No8g攻城狮的博客 650

Web三大组件之 —— Filter

目录 Demo 过滤器配置 url-pattern dispatcher 调度 Demo 写一个自己的类继承 Filter 接口 import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; im...

依着风睡的博客 770
上一篇: application&富文本编辑器&文件上传
下一篇: Java web笔记 三大组件之Listener
内涵神仙
博客等级 码龄5年 19粉丝 27原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值