Spring---apache.shiro--过滤器Filter---NameableFilter抽象类

本文详细介绍了如何使用JavaBeans兼容的方法来设置和获取Servlet过滤器的名字。如果没有显式设定,过滤器的名字将默认采用web.xml中定义的名字。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Allows a filter to be named via JavaBeans-compatible {@link #getName()}/{@link #setName(String)} methods. If no name is specified, the name of the filter will default to the name given to it in {@code web.xml} (the {@code FilterConfig}'s {@link javax.servlet.FilterConfig#getFilterName() filterName}).
允许通过与javabeans兼容的{@link #getName()}/{@link #setName(String)}方法来命名过滤器。如果没有指定名称,过滤器的名称将默认为在{@code web.xml}中给出的名称({@code FilterConfig}的{@link javax.servlet.FilterConfig#getFilterName() filterName})。
在这里插入图片描述

The name of this filter, unique within an application.
此过滤器的名称,在应用程序中唯一。

private String name;

getName()

Unless overridden by calling the {@link #setName(String) setName(String)} method, this value defaults to the filter name as specified by the servlet container at start-up:
除非被调用{@link #setName(String) setName(String)}方法覆盖,否则该值默认为servlet容器在启动时指定的过滤器名称:
this.name = {@link #getFilterConfig() getFilterConfig()}.{@link javax.servlet.FilterConfig#getFilterName() getName()};

   protected String getName() {
        if (this.name == null) {
            FilterConfig config = getFilterConfig();
            if (config != null) {
                this.name = config.getFilterName();
            }
        }
        return this.name;
    }

toStringBuilder()

返回一个和name相关的StringBuilder,如果name为空,则就会最终调用Object类的toString()方法,从而返回该类的类名与hashcode的字符串相关的StringBuilder

    protected StringBuilder toStringBuilder() {
        String name = getName();
        if (name == null) {
            return super.toStringBuilder();
        } else {
            StringBuilder sb = new StringBuilder();
            sb.append(name);
            return sb;
        }
    }

总结这个类可以做的事情:
1、设置Filter的name
2、通过FilterConfig获取Filter的name

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值