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