public abstract class GenericFilterBean extends ObjectSE implements FilterEE, BeanNameAware, EnvironmentAware, EnvironmentCapable, ServletContextAware, InitializingBean, DisposableBean
web.xml
の filter
タグ内の init-param
エントリ)を Bean プロパティとして扱う、Filter
EE の単純な基本実装。あらゆる型のフィルターのための便利なスーパークラス。構成パラメーターの型変換は自動的に行われ、対応する setter メソッドは変換された値で呼び出されます。サブクラスが必要なプロパティを指定することも可能です。Bean プロパティ setter に一致しないパラメーターは単に無視されます。
このフィルターは、Filter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)
EE メソッドを実装する必要があるサブクラスに実際のフィルタリングを任せます。
この汎用フィルター基本クラスは、Spring ApplicationContext
の概念に依存していません。フィルターは通常、独自のコンテキストをロードせず、フィルターの ServletContext
を介してアクセス可能な Spring ルートアプリケーションコンテキストからサービス Bean にアクセスします(WebApplicationContextUtils
を参照)。
addRequiredProperty(java.lang.String)
, initFilterBean()
, Filter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)
EEコンストラクターと説明 |
---|
GenericFilterBean() |
修飾子と型 | メソッドと説明 |
---|---|
protected void | addRequiredProperty(StringSE property) サブクラスはこのメソッドを呼び出して、このプロパティ(公開する JavaBean プロパティと一致する必要がある)が必須であり、構成パラメーターとして提供する必要があることを指定できます。 |
void | afterPropertiesSet() サブクラスのカスタム初期化を含む可能性のある initFilterBean() メソッドを呼び出します。 |
protected Environment | createEnvironment() 新しい StandardServletEnvironment を作成して返します。 |
void | destroy() サブクラスはこれをオーバーライドして、カスタムフィルターのシャットダウンを実行できます。 |
Environment | getEnvironment() このフィルターに関連付けられている Environment を返します。 |
FilterConfigEE | getFilterConfig() このフィルターの FilterConfig を使用できるようにします(ある場合)。 |
protected StringSE | getFilterName() このフィルターの名前をサブクラスで利用できるようにします。 |
protected ServletContextEE | getServletContext() このフィルターの ServletContext をサブクラスで使用できるようにします。 |
void | init(FilterConfigEE filterConfig) このフィルターを初期化する標準的な方法。 |
protected void | initBeanWrapper(BeanWrapper bw) おそらくカスタムエディターを使用して、この GenericFilterBean の BeanWrapper を初期化します。 |
protected void | initFilterBean() サブクラスはこれをオーバーライドして、カスタム初期化を実行できます。 |
void | setBeanName(StringSE beanName) Spring Bean ファクトリで定義されている Bean 名を格納します。 |
void | setEnvironment(Environment environment) このフィルターを実行する Environment を設定します。 |
void | setServletContext(ServletContextEE servletContext) Bean ファクトリが実行される ServletContext を格納します。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
doFilterEE
protected final Log logger
public void setBeanName(StringSE beanName)
Bean として初期化する場合にのみ関連し、通常 FilterConfig インスタンスによって提供されるフィルター名へのフォールバックとして名前を持ちます。
BeanNameAware
の setBeanName
beanName
- ファクトリ内の Bean の名前。この名前は、ファクトリで使用される実際の Bean 名であり、最初に指定した名前とは異なる場合があります。特に内部 Bean 名の場合、実際の Bean 名は "#..." サフィックスを追加することで一意になります。必要に応じて、BeanFactoryUtils.originalBeanName(String)
メソッドを使用して、元の Bean 名(サフィックスなし)を抽出します。BeanNameAware
, getFilterName()
public void setEnvironment(Environment environment)
Environment
を設定します。 ここで設定される環境は、デフォルトで提供される StandardServletEnvironment
をオーバーライドします。
この Environment
オブジェクトは、このフィルターの init-parameters に渡されたリソースパスのプレースホルダーを解決するためにのみ使用されます。init-params を使用しない場合、この Environment
は基本的に無視できます。
EnvironmentAware
の setEnvironment
public Environment getEnvironment()
Environment
を返します。 何も指定されていない場合、デフォルトの環境は createEnvironment()
を介して初期化されます。
EnvironmentCapable
の getEnvironment
protected Environment createEnvironment()
StandardServletEnvironment
を作成して返します。サブクラスは、環境を構成したり、返された環境型を特殊化するために、これをオーバーライドできます。
public void setServletContext(ServletContextEE servletContext)
Bean として初期化する場合にのみ関連し、通常 FilterConfig インスタンスによって提供されるコンテキストへのフォールバックとして ServletContext を持ちます。
ServletContextAware
の setServletContext
servletContext
- このオブジェクトによって使用される ServletContext オブジェクト ServletContextAware
, getServletContext()
public void afterPropertiesSet() throws ServletExceptionEE
initFilterBean()
メソッドを呼び出します。 標準の init(FilterConfig)
メソッドが呼び出されない Bean として初期化する場合にのみ関連します。
InitializingBean
の afterPropertiesSet
ServletExceptionEE
initFilterBean()
, init(javax.servlet.FilterConfig)
public void destroy()
メモ: このメソッドは、標準のフィルター破棄および Spring アプリケーションコンテキストでのフィルター Bean 破棄から呼び出されます。
このデフォルトの実装は空です。
FilterEE
の destroyEE
DisposableBean
の destroy
protected final void addRequiredProperty(StringSE property)
このメソッドは、FilterConfig インスタンスによって駆動される従来の初期化の場合にのみ関連します。
property
- 必須プロパティの名前 public final void init(FilterConfigEE filterConfig) throws ServletExceptionEE
FilterEE
の initEE
filterConfig
- このフィルターの構成 ServletExceptionEE
- Bean プロパティが無効である(または必要なプロパティが欠落している)場合、またはサブクラスの初期化が失敗した場合。initFilterBean()
protected void initBeanWrapper(BeanWrapper bw) throws BeansException
このデフォルトの実装は空です。
bw
- 初期化する BeanWrapperBeansException
- BeanWrapper メソッドによってスローされた場合 PropertyEditorRegistry.registerCustomEditor(java.lang.Class<?>, java.beans.PropertyEditor)
protected void initFilterBean() throws ServletExceptionEE
メモ: このメソッドは、Spring アプリケーションコンテキストでの標準のフィルター初期化およびフィルター Bean 初期化から呼び出されます。フィルター名と ServletContext はどちらの場合でも使用できます。
このデフォルトの実装は空です。
ServletExceptionEE
- サブクラスの初期化が失敗した場合 getFilterName()
, getServletContext()
@Nullable public FilterConfigEE getFilterConfig()
getServletConfig()
に類似しています。WebLogic 6.1 に付属するサーブレットフィルターバージョンの getFilterConfig()
メソッドに類似するパブリック。
null
がない場合 GenericServlet.getServletConfig()
EE@Nullable protected StringSE getFilterName()
getServletName()
に類似しています。デフォルトで FilterConfig のフィルター名を取得します。Spring アプリケーションコンテキストで Bean として初期化された場合、Bean ファクトリで定義されている Bean 名にフォールバックします。
null
GenericServlet.getServletName()
EE, FilterConfig.getFilterName()
EE, setBeanName(java.lang.String)
protected ServletContextEE getServletContext()
getServletContext()
に類似しています。FilterConfig の ServletContext をデフォルトで使用します。Spring アプリケーションコンテキストで Bean として初期化された場合、Bean ファクトリが実行される ServletContext にフォールバックします。
IllegalStateExceptionSE
- ServletContext が利用できない場合 GenericServlet.getServletContext()
EE, FilterConfig.getServletContext()
EE, setServletContext(javax.servlet.ServletContext)