org.seasar.wicket
クラス S2WicketFilter

java.lang.Object
  上位を拡張 org.apache.wicket.protocol.http.WicketFilter
      上位を拡張 org.apache.wicket.protocol.http.ReloadingWicketFilter
          上位を拡張 org.seasar.wicket.S2WicketFilter
すべての実装されたインタフェース:
javax.servlet.Filter

public class S2WicketFilter
extends org.apache.wicket.protocol.http.ReloadingWicketFilter

S2Containerに対応させたWicketFilter。

web.xmlにはこのフィルタを登録すれば、WicketおよびS2Container双方とも使用できるようになります。 WicketFilterおよびS2ContainerFilterは登録しないでください。

Wicketのdevelopmentモードの時にのみ以下の機能が有効になります。

クラスの自動リロード(HotDeploy)
web.xmlの初期化パラメータでreloadingClassPatternに指定したクラスが対象になります。
クラスリロード時の自動セッション無効化
クラスリロード時に全クラスローダで読み込まれたセッション上のインスタンスを破棄します。 クラスローダの違いによってセッションでエラーが出るのを回避します。

初期化パラメータ

applicationClassName
WicketのWebApplicationクラスの実装を指定します。
configuration
Wicketのコンフィギュレーションを「deployment」(配備時)もしくは「development」(開発時)で指定します。 指定しない場合はdevelopment(開発モード)となります。
debug
S2Containerの状態を表示するページのパスを指定します。
reloadingClassPattern
Wicketのコンフィギュレーションがdevelopmentの時にリロード対象とするクラスを指定します。 ここで、指定しなければクラスの自動リロードは行われません。","区切りによる複数クラスの指定、 および"*"によるワイルドカード指定が可能です。また、クラスパターンの頭に"-"をつけることで、 リロード対象から除外することができます。通常はconvention.diconで追加したrootPackageNameを指定します。

web.xml例

 <filter>
   <filter-name>s2wicketfilter</filter-name>
   <filter-class>org.seasar.wicket.S2WicketFilter</filter-class>
   <init-param>
     <!-- Wicketのアプリケーションクラス -->
     <param-name>applicationClassName</param-name>
     <param-value>org.seasar.wicket.example.ExampleApplication</param-value>
   </init-param>
   <init-param>
     <!-- Wicketの配備モード(デフォルトはdevelopmentモード) -->
     <!-- developmentモード時のみクラスの自動リロードが行われる -->
     <param-name>configuration</param-name>
     <param-value>deployment</param-value>
   </init-param>
   <init-param>
     <!-- S2Containerのデバッグ出力を行うパスを指定 -->
     <param-name>debug</param-name>
     <param-value>/debug</param-value>
   </init-param>
   <init-param>
     <!-- リロードを行う対象となるクラス(developmentモード時のみ有効) -->
     <param-name>reloadingClassPattern</param-name>
     <param-value>org.seasar.wicket.example.*</param-value>
   </init-param>
 </filter>
 <filter-mapping>
   <filter-name>s2wicketfilter</filter-name>
   <url-pattern>/*</url-pattern>
 </filter-mapping>
 

作成者:
TAKEUCHI Hideyuki (chimerast)

フィールドの概要
protected  org.slf4j.Logger logger
           
 
クラス org.apache.wicket.protocol.http.WicketFilter から継承されたフィールド
APP_FACT_PARAM, FILTER_MAPPING_PARAM, IGNORE_PATHS_PARAM
 
コンストラクタの概要
S2WicketFilter()
           
 
メソッドの概要
 void destroy()
           
 void doFilter(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response, javax.servlet.FilterChain chain)
           
protected  ClassLoader getClassLoader()
           
 void init(boolean isServlet, javax.servlet.FilterConfig filterConfig)
           
 
クラス org.apache.wicket.protocol.http.WicketFilter から継承されたメソッド
checkIfRedirectRequired, getApplication, getApplicationFactory, getFilterConfig, getFilterPath, getFilterPath, getFilterPathFromAnnotation, getFilterPathFromConfig, getFilterPathFromWebXml, getRelativePath, init, processRequestCycle, setFilterPath
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

logger

protected final org.slf4j.Logger logger
コンストラクタの詳細

S2WicketFilter

public S2WicketFilter()
メソッドの詳細

init

public void init(boolean isServlet,
                 javax.servlet.FilterConfig filterConfig)
          throws javax.servlet.ServletException
オーバーライド:
クラス org.apache.wicket.protocol.http.ReloadingWicketFilter 内の init
例外:
javax.servlet.ServletException

destroy

public void destroy()
定義:
インタフェース javax.servlet.Filter 内の destroy
オーバーライド:
クラス org.apache.wicket.protocol.http.WicketFilter 内の destroy

getClassLoader

protected ClassLoader getClassLoader()
オーバーライド:
クラス org.apache.wicket.protocol.http.ReloadingWicketFilter 内の getClassLoader

doFilter

public void doFilter(javax.servlet.ServletRequest request,
                     javax.servlet.ServletResponse response,
                     javax.servlet.FilterChain chain)
              throws IOException,
                     javax.servlet.ServletException
定義:
インタフェース javax.servlet.Filter 内の doFilter
オーバーライド:
クラス org.apache.wicket.protocol.http.WicketFilter 内の doFilter
例外:
IOException
javax.servlet.ServletException


Copyright © 2013 The Seasar Foundation and the others. All Rights Reserved.