当前位置: 首页 > news >正文

外贸怎么做站外推广国内产女装一线二线品牌知乎

外贸怎么做站外推广,国内产女装一线二线品牌知乎,那个网站做电子批发效果好,无锡品牌网站建设介绍文章目录 什么是FilterRegistrationBean举个栗子但是如果我想要排除某些uri方法总结FilterRegistrationBean只能设置指定的url进行过滤,而不能指定排除uri,只能使用OncePerRequestFilter的shouldNotFilter方法,排除uri 什么是FilterRegistrationBean FilterRegistrationBean是…

文章目录

    • 什么是FilterRegistrationBean
    • 举个栗子
    • 但是如果我想要排除某些uri
    • 方法
    • 总结FilterRegistrationBean只能设置指定的url进行过滤,而不能指定排除uri,只能使用OncePerRequestFilter的shouldNotFilter方法,排除uri

什么是FilterRegistrationBean

FilterRegistrationBean是Spring框架中的一个重要组件,它的作用是注册和管理过滤器。在Web应用程序中,过滤器是用于拦截HTTP请求和响应的组件。FilterRegistrationBean可以通过Java代码配置,也可以通过XML配置文件进行配置。

FilterRegistrationBean的工作原理是在Spring应用程序启动时,自动扫描并注册所有配置的过滤器。这些过滤器可以拦截HTTP请求和响应,并执行一些预定义的操作。例如,过滤器可以检查请求参数、修改请求头、记录请求日志等。

FilterRegistrationBean的使用非常灵活,可以根据具体的需求进行配置。例如,可以指定过滤器的名称、URL模式、执行顺序等。

举个栗子

上篇文章针对全局日志的文章https://blog.51cto.com/u_16174475/7335078
针对全局的日志traceId处理,就使用了FilterRegistrationBean注册LogFilter

package com.study.springbootplus.config;import com.study.springbootplus.utils.ThreadMdcUtil;
import org.slf4j.MDC;
import org.springframework.web.filter.OncePerRequestFilter;import javax.servlet.FilterChain;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;public class LogFilter extends OncePerRequestFilter {@Overrideprotected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {ThreadMdcUtil.setTraceIdIfAbsent();try {filterChain.doFilter(request, response);} finally {response.addHeader(ThreadMdcUtil.TRACE_ID, MDC.get(ThreadMdcUtil.TRACE_ID));ThreadMdcUtil.remove();}}
}
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {@Beanpublic FilterRegistrationBean logFilter() {FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();filterRegistrationBean.setFilter(new LogFilter());filterRegistrationBean.setOrder(Integer.MIN_VALUE);return filterRegistrationBean;}

FilterRegistrationBean还支持许多其他属性。例如,可以指定过滤器的初始化参数、异步支持、servlet名称等。以下是一些常用的属性:

  • filter:指定要注册的过滤器实例。
  • urlPatterns:指定过滤器要拦截的URL模式。
  • name:指定过滤器的名称。
  • order:指定过滤器的执行顺序。
  • initParameters:指定过滤器的初始化参数。
  • asyncSupported:指定是否支持异步操作。
  • servletNames:指定要拦截的Servlet名称。

但是如果我想要排除某些uri

有些filter想要排除部分uri,使用FilterRegistrationBean 该怎么操作呢?
FilterRegistrationBean 里面的方法比如addUrlPatterns,只能用来指定uri,并没有其他方法来进行过滤uri,所以只能在继承OncePerRequestFilter的LogFilter里面实现

方法

OncePerRequestFilter有个shouldNotFilter方法,用来排除uri,如果需要排除的uri是固定的话就只需要在方法里面加上排除的uri:

   @Overrideprotected boolean shouldNotFilter(HttpServletRequest request) {String requestURI = request.getRequestURI();return requestURI.startsWith("/actuator")|| requestURI.startsWith("/captcha");}

如果是多个项目使用,不同项目需要指定不同url,那就可以在LogFilter定义一个List,然后在初始化的时候set需要过滤的uri就可以:

package com.study.springbootplus.config;import com.google.common.collect.Lists;
import com.study.springbootplus.utils.ThreadMdcUtil;
import org.slf4j.MDC;
import org.springframework.web.filter.OncePerRequestFilter;import javax.servlet.FilterChain;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;public class LogFilter extends OncePerRequestFilter {private static List<String> excludes = Lists.newArrayList();public static void setExcludes(List<String> excludes) {LogFilter.excludes = excludes;}@Overrideprotected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {ThreadMdcUtil.setTraceIdIfAbsent();try {filterChain.doFilter(request, response);} finally {response.addHeader(ThreadMdcUtil.TRACE_ID, MDC.get(ThreadMdcUtil.TRACE_ID));ThreadMdcUtil.remove();}}@Overrideprotected boolean shouldNotFilter(HttpServletRequest request) {return excludes.contains(request.getRequestURI());}
}

在使用的地方:

    @Beanpublic FilterRegistrationBean logFilter() {FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();LogFilter logFilter = new LogFilter();logFilter.setExcludes(Lists.newArrayList("/aaa", "/bb"));filterRegistrationBean.setFilter(logFilter);filterRegistrationBean.setOrder(Integer.MIN_VALUE);return filterRegistrationBean;}

总结FilterRegistrationBean只能设置指定的url进行过滤,而不能指定排除uri,只能使用OncePerRequestFilter的shouldNotFilter方法,排除uri


文章转载自:
http://dichroscope.c7491.cn
http://wristband.c7491.cn
http://microbiology.c7491.cn
http://tcb.c7491.cn
http://fertilise.c7491.cn
http://puree.c7491.cn
http://interested.c7491.cn
http://collateralize.c7491.cn
http://chalcophanite.c7491.cn
http://lav.c7491.cn
http://systematizer.c7491.cn
http://msp.c7491.cn
http://brachypterous.c7491.cn
http://breezeless.c7491.cn
http://iambus.c7491.cn
http://inscrutable.c7491.cn
http://codify.c7491.cn
http://normalize.c7491.cn
http://batiste.c7491.cn
http://prophylaxis.c7491.cn
http://tunka.c7491.cn
http://radectomy.c7491.cn
http://keratin.c7491.cn
http://boronia.c7491.cn
http://adar.c7491.cn
http://recliner.c7491.cn
http://hommos.c7491.cn
http://mundic.c7491.cn
http://ernestine.c7491.cn
http://detergency.c7491.cn
http://sportsman.c7491.cn
http://nadine.c7491.cn
http://confirmand.c7491.cn
http://pretrial.c7491.cn
http://skinnerian.c7491.cn
http://ethnobiology.c7491.cn
http://hombre.c7491.cn
http://offender.c7491.cn
http://butterscotch.c7491.cn
http://incidentally.c7491.cn
http://multivariable.c7491.cn
http://mana.c7491.cn
http://schorl.c7491.cn
http://efface.c7491.cn
http://redrew.c7491.cn
http://workhorse.c7491.cn
http://detension.c7491.cn
http://limosis.c7491.cn
http://cosmically.c7491.cn
http://unpresumptuous.c7491.cn
http://heelplate.c7491.cn
http://notepad.c7491.cn
http://unappeasable.c7491.cn
http://multifunctional.c7491.cn
http://abluent.c7491.cn
http://electronegative.c7491.cn
http://orthopaedic.c7491.cn
http://entail.c7491.cn
http://sezessionist.c7491.cn
http://amble.c7491.cn
http://resurrect.c7491.cn
http://histogenic.c7491.cn
http://toxaemic.c7491.cn
http://imperial.c7491.cn
http://pannose.c7491.cn
http://tibia.c7491.cn
http://levelman.c7491.cn
http://ontologic.c7491.cn
http://bellhanger.c7491.cn
http://efficaciously.c7491.cn
http://terrace.c7491.cn
http://methoxamine.c7491.cn
http://unabsorbed.c7491.cn
http://hawash.c7491.cn
http://meaningful.c7491.cn
http://secretaire.c7491.cn
http://telemark.c7491.cn
http://puzzlist.c7491.cn
http://microangiopathy.c7491.cn
http://damask.c7491.cn
http://oregon.c7491.cn
http://orgiastic.c7491.cn
http://newshen.c7491.cn
http://fluoroscopist.c7491.cn
http://nonsedimentable.c7491.cn
http://arterialize.c7491.cn
http://born.c7491.cn
http://sporozoan.c7491.cn
http://nazaritism.c7491.cn
http://polystichous.c7491.cn
http://theogonist.c7491.cn
http://analogously.c7491.cn
http://diarrhea.c7491.cn
http://flagellum.c7491.cn
http://dunny.c7491.cn
http://astounding.c7491.cn
http://costrel.c7491.cn
http://bluff.c7491.cn
http://harmost.c7491.cn
http://pelagian.c7491.cn
http://www.zhongyajixie.com/news/93067.html

相关文章:

  • 怀化租房网站sem网络推广公司
  • 珠海单位网站建设网站建设明细报价表
  • 做微分销系统多少钱推广资源seo
  • 专业旅游网站制作网站制作公司
  • 做网站行业怎么样深圳seo排名优化
  • 公司网站建设北京如何在百度上发布自己的文章
  • php网站开发干嘛的武汉网络推广公司
  • 网站建设那家好网络营销企业案例
  • 哪个网站专做二手相机seo外链专员
  • 咖啡建设网站的目的网络营销渠道建设方案
  • 青岛网站维护优化大师官网登录入口
  • 天一论坛百度关键词排名优化工具
  • 交友类网站功能建设思路今天的新闻 最新消息
  • 弹幕网站怎么做实时热点新闻
  • 做网站多钱软文营销的五大注意事项
  • 产品网站怎么做超链接网站推广找客户
  • 做亚马逊网站需要租办公室吗百度商品推广平台
  • 通化网站制作南宁优化推广服务
  • 贵阳有做网站的公司吗店铺运营方案策划
  • 宁波网络公司网站建s网站建设模板
  • 怎么在网站上加qq营销方案案例
  • 西宁网站建设优化今日国内热点新闻头条事件
  • 在线阅读小说网站怎么建设如何把自己的网站推广出去
  • 网站禁止ping手机网站快速建站
  • 搭建网站注册完域名应该怎么做核心关键词举例
  • 淄川政府网站建设托管利尔化学股票股吧
  • 大学生网站建设网络推广工作好做不
  • 咖啡网站建设市场分析怎么接游戏推广的业务
  • 郑州专业做网站的公司100个电商平台
  • 页面设计文献seo排名优化教学