クラス FileFilter
java.lang.Object
org.opengion.hayabusa.filter.FileFilter
- すべての実装されたインタフェース:
Filter
Filter インターフェースを継承した HTMLデモ画面を作成するフィルタクラスです。
web.xml で filter 設定することにより、使用できます。
このフィルターでは、通常の画面アクセスを行うと、指定のフォルダに対して
JSPをHTMLに変換した形で、ファイルをセーブしていきます。このHTMLは、
デモサンプル画面として、使用できます。
出来る限り、デモ画面として使えるように、画面間リンクや、ボタン制御を
JavaScript を挿入する事で実現しています。
フィルターに対してweb.xml でパラメータを設定します。
・saveDir :ファイルをセーブするディレクトリ(初期値:filetemp/DIR/)
・omitFiles :セーブ対象外のファイルのCSV形式での指定(初期値:eventColumnMaker.jsp,realtimecheck.jsp)
パラメータがない場合は、G:/webapps/作番/filetemp/DIR/ 以下に自動設定されます。
また、ディレクトリが、相対パスの場合は、G:/webapps/作番/ 以下に、絶対パスの
場合は、そのパスの下に作成されます。 *
【WEB-INF/web.xml】
<filter>
<filter-name>FileFilter</filter-name>
<filter-class>org.opengion.hayabusa.filter.FileFilter</filter-class>
<init-param>
<param-name>saveDir</param-name>
<param-value>filetemp/DIR/</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>FileFilter</filter-name>
<url-pattern>/jsp/*</url-pattern>
</filter-mapping>
- 機能分類
- フィルター処理
- 導入されたバージョン:
- JDK5.0,
-
コンストラクタの概要
コンストラクタ -
メソッドの概要
修飾子とタイプメソッド説明void
destroy()
Filter インターフェースの destroy メソッド (何もしません)。void
doFilter
(ServletRequest req, ServletResponse res, FilterChain chain) Filter インターフェースの doFilter メソッド Filter クラスの doFilter メソッドはコンテナにより呼び出され、最後のチェーンにおける リソースへのクライアントリクエストのために、毎回リクエスト・レスポンスのペアが、 チェーンを通して渡されます。void
init
(FilterConfig filterConfig) フィルターの初期処理メソッドです。static boolean
フィルターの内部状態(強制停止/解除)を取得するメソッドです。static void
setUseFilter
(boolean flag) フィルターの実行/停止を設定するメソッドです。
-
コンストラクタの詳細
-
FileFilter
public FileFilter()デフォルトコンストラクター- 変更履歴:
- 8.5.3.2 (2023/10/13) JDK21対応。警告: デフォルトのコンストラクタの使用で、コメントが指定されていません
-
-
メソッドの詳細
-
doFilter
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException Filter インターフェースの doFilter メソッド Filter クラスの doFilter メソッドはコンテナにより呼び出され、最後のチェーンにおける リソースへのクライアントリクエストのために、毎回リクエスト・レスポンスのペアが、 チェーンを通して渡されます。 このメソッドに渡される FilterChain を利用して、Filter が リクエストやレスポンスをチェーン内の次のエンティティ(Filter)にリクエストとレスポンスを 渡す事ができます。 このメソッドの典型的な実装は以下のようなパターンとなるでしょう。 1. リクエストの検査 2. オプションとして、入力フィルタリング用にコンテンツもしくはヘッダをフィルタリング するためにカスタム実装によるリクエストオブジェクトのラップ 3. オプションとして、出力フィルタリング用にコンテンツもしくはヘッダをフィルタリング するためにカスタム実装によるレスポンスオブジェクトラップ 4. 以下の a)、b) のどちらか a) FileterChain オブジェクト(chain.doFilter()) を利用してチェーンの次のエンティティを呼び出す b) リクエスト処理を止めるために、リクエスト・レスポンスのペアをフィルタチェーンの次の エンティティに渡さない 5. フィルタチェーンの次のエンティティの呼び出した後、直接レスポンスのヘッダをセット- 定義:
doFilter
インタフェース内Filter
- パラメータ:
req
- ServletRequestオブジェクトres
- ServletResponseオブジェクトchain
- FilterChainオブジェクト- 例外:
IOException
- 入出力エラーが発生したときServletException
- サーブレット関係のエラーが発生した場合、throw されます。- 変更履歴:
- 6.3.8.3 (2015/10/03) フィルターの停止処理。, 6.8.4.2 (2017/12/25) エンコード変換対応対応のキー(fileDownloadサーブレットでエンコードをON/OFF指定に利用), 8.0.0.1 (2021/10/08) USE_STR_CONV_KEY 廃止
-
init
フィルターの初期処理メソッドです。 フィルターに対してweb.xml で初期パラメータを設定します。 ・saveDir :ファイルをセーブするディレクトリ(初期値:filetemp/DIR/) ・omitFiles :セーブ対象外のファイルのCSV形式での指定(初期値:eventColumnMaker.jsp,realtimecheck.jsp) ファイル名には、jsp まで含めてください。omitFiles.contains( jspID ) で判定します。 -
destroy
Filter インターフェースの destroy メソッド (何もしません)。 サービス状態を終えた事を Filter に伝えるために Web コンテナが呼び出します。 Filter の doFilter メソッドが終了したか、タイムアウトに達した全てのスレッドにおいて、 このメソッドを一度だけ呼び出されます。 Web コンテナがこのメソッドを呼び出した後は、 Filter のこのインスタンスにおいて二度と doFilter メソッドを呼び出す事はありません。 このメソッドは、フィルタに保持されている(例えば、メモリ、ファイルハンドル、スレッド) 様々なリソースを開放する機会を与え、あらゆる永続性の状態が、メモリ上における Filter の現在の状態と同期しているように注意してください。 -
setUseFilter
フィルターの実行/停止を設定するメソッドです。 初期値は、true:実行 です。- パラメータ:
flag
- (true:実行 false:停止)- 変更履歴:
- 6.3.8.3 (2015/10/03) フィルターの停止処理。メソッド名変更、引数の意味反転。
-
isUseFilter
フィルターの内部状態(強制停止/解除)を取得するメソッドです。 これは、現在、アクセス制限がどうなっているかという状態ではなく、 強制停止されているかどうかの確認メソッドです。- 戻り値:
- (true:実行 false:停止)
- 変更履歴:
- 6.3.8.3 (2015/10/03) フィルターの停止処理。メソッド名変更、戻り値の意味反転。
-