java过滤器api_springboot集成过滤器
封装自定义接口filter
包含两个方法,第一个过滤的路径数组,第二个为过滤器执行的顺序.spring boot 会按照order值的大小,从小到大的顺序来依次过滤。
package com.theeternity.common.baseFilter;
import javax.servlet.Filter;
/**
* @program: ApiBoot
* @description: 封装Filter
* @author: TheEternity Zhang
* @create: 2019-02-17 13:08
*/
public interface MappingFilter extends Filter {
String[] addUrlPatterns();
int order();
}
书写具体的filter
package com.theeternity.beans.filterConfig;
import com.theeternity.common.baseFilter.MappingFilter;
import javax.servlet.*;
import javax.servlet.FilterConfig;
import java.io.IOException;
/**
* @program: ApiBoot
* @description: 权限过滤器
* @author: TheEternity Zhang
* @create: 2019-02-17 13:14
*/
public class AuthFilter implements MappingFilter {
@Override
public String[] addUrlPatterns() {
return new String[]{"/*"};
}
@Override
public int order() {
return 0;
}
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
//具体逻辑
}
@Override
public void destroy() {
}
}
注入bean到容器
package com.theeternity.beans.filterConfig;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* @program: ApiBoot
* @description: 注册过滤器
* @author: TheEternity Zhang
* @create: 2019-02-17 13:10
*/
@Configuration
public class FilterConfig {
private Logger logger= LoggerFactory.getLogger(FilterConfig.class);
@Bean
public FilterRegistrationBean registFilter() {
FilterRegistrationBean registration = new FilterRegistrationBean();
AuthFilter authFilter=new AuthFilter();
registration.setFilter(authFilter);
registration.addUrlPatterns(authFilter.addUrlPatterns());
registration.setOrder(authFilter.order());
registration.setName("AuthFilter");
return registration;
}
}
java过滤器api_springboot集成过滤器相关推荐
- (十六)ATP应用测试平台——java应用中的过滤器Filter、拦截器Interceptor、参数解析器Resolver、Aop切面,你会了吗?
前言 过滤器Filter.拦截器Interceptor.参数解析器Resolver.Aop切面是我们应用开发中经常使用到的技术,到底该如何使用这些web附属功能, 本小节我们就分别介绍一下其各自的用法 ...
- Java培训总结:过滤器链的实现方法、配置和案例分析
今天小千给大家分享的是Java培训总结:过滤器链的实现方法.配置和案例分析. 过滤器能够对网站中的各种内容进行过滤(页面.Servlet.图片.文件),可以在网站内容请求和响应时进行一些操作,完成一些 ...
- java过滤器放行_过滤器学习
过滤器学习: 问题: 目前我们访问Servlet,是可以直接进行访问的,没有进行任何防护.可能会造成服务器资源的浪费,以及安全性不高.我们希望在请求被Servlet处理之前,进行一次请求的校验,符合要 ...
- java 监听器 分类_java过滤器和监听器详解 分类: 学习专区
过滤器 1.Filter工作原理(执行流程) 当客户端发出Web资源的请求时,Web服务器根据应用程序配置文件设置的过滤规则进行检查,若客户请求满足过滤规则,则对客户请求/响应进行拦截,对请求头和请求 ...
- 用java写敏感词过滤器的代码
用java写敏感词过滤器的代码 这里采用动态代理,所以要创建proxy代理对象,利用代理,来增强某些方法(getParameter方法.getParameterMap方法.getParameterVa ...
- Java Servlet中Filter过滤器的原理以及使用方式
详细介绍了Java Web Servlet中的Filter过滤器的原理以及常见用法. 文章目录 1 Filter接口 1.1 过滤器的生命周期 1.2 doFilter过滤方法 2 Filter的使用 ...
- java 过滤器异常处理_Servlet 过滤器和异常处理
Servlet 编写过滤器 Servlet 过滤器可以动态地拦截请求和响应,以变换或使用包含在请求或响应中的信息.可以将一个或多个 Servlet 过滤器附加到一个 Servlet 或一组 Servl ...
- java web开发(过滤器)
[ 声明:版权所有,欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 过滤器,或许换成拦截器更合适一点.看到这个词,让我想到了linux kernel里面的netfi ...
- Java后端自顶向下方法——过滤器与回调函数
Java后端自顶向下方法--过滤器与回调函数 (一)回调函数与lambda表达式 在讲过滤器的原理之前,我们先来了解一下什么是回调函数.我们在平时开发中,经常会遇到模块之间的互相调用,调用的方式主要分 ...
最新文章
- oracle 统计一年中每个月数据总和_excel表格有每月数据 怎样统计全年的-用excel公式怎样计算每年每个月的数据总和?...
- jquery如何对多个对象绑定同一事件
- python的none是什么-Python中的None与Null(空字符)的区别
- 自学编程成功概率有多少可能
- 不连续曲线 highcharts_无人车运动规划中常用的方法:多项式曲线
- iOS应用开发的五个Java开源工具
- 笨办法学python3 pdf 脚本之家_解决python3输入的坑——input()
- 配置使用VCSA自带的备份恢复工具
- 19.多个版本的Netcat概览
- 基于windows server 2008 web服务器的性能,使用Windows Server 2008 R2理由_服务器评测与技术-中关村在线...
- iPhone7,苹果最后的摇钱树
- ai带来的革命_AI革命就在这里。 这与我们预期的不同。
- Cadence 17.2 Pad Editor入门指南(2)
- java 梯形校正_高清投影神器 联想YOGA平板2 Pro评测
- 聊一聊输入阻抗、输出阻抗和阻抗匹配
- 307条互联网交流缩略语(English Abbreviations on Internet)
- 计算机怎么搜索隐藏的网络,电脑如何连接隐藏wifi 笔记本电脑如何添加隐藏wifi?-192路由网...
- 雷电9模拟器安装抓包工具whistle证书
- 世界杯海信再出圈,三星:“谈不上愉悦”
- 非常漂亮的一款html引导页导航网站旋转头像变幻背景单页源码
热门文章
- lombok 生成代码_使用Project Lombok减少Java应用程序中的样板代码
- slf4j 桥接与被桥接_合成和桥接方法
- jvm破坏双亲委派_破坏JVM
- 如何利用ide进行跟踪调试_使用调试器进行事后跟踪
- Java“地铁”表(JavaFX)
- java8的新特性_Java8的
- defender 删除_Java 8中的默认方法(Defender方法)简介
- Neo4j:找到两个纬度/经度之间的中间点
- JavaFX将会留下来!
- __macosx_在5分钟内在MacOSX Lion中设置JAVA_HOME,MAVEN_HOME,ANT_HOME