クラス CacheControlFilter
java.lang.Object
jakarta.servlet.GenericFilter
jakarta.servlet.http.HttpFilter
org.opengion.hayabusa.filter.CacheControlFilter
- すべての実装されたインタフェース:
Filter
,FilterConfig
,Serializable
@WebFilter(filterName="CacheControlFilter",
urlPatterns="/*")
public final class CacheControlFilter
extends HttpFilter
CacheControlFilter は、Filter インターフェースを継承した アクセス制御クラスです。
web.xml で filter 設定することにより、Webアプリケーションへのアクセスを制御できます。
※ @WebFilter アノテーションだけでは、上手く動かなかった。
本来は、org.apache.catalina.filters.ExpiresFilter を使用する所だが、単純に
キャッシュさせる設定だけ入れたかっただけなので、こちらにした。
Cache-Control ヘッダーに対して、private,max-age=31536000,immutable を設定します。
対象は、.css , .js , .gif , .png です。
大文字、小文字の区別有で、リクエストURIの後ろ一致で判定しています。
【WEB-INF/web.xml】
<filter>
<filter-name>CacheControlFilter</filter-name>
<filter-class>org.opengion.hayabusa.filter.CacheControlFilter</filter-class>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CacheControlFilter</filter-name>
<url-pattern>/*;/url-pattern>
</filter-mapping>
- 関連項目:
- 変更履歴:
- 8.3.0.0 (2022/08/01) 新規追加
- 機能分類
- フィルター処理
- 導入されたバージョン:
- JDK17.0,
-
ネストされたクラスの概要
ネストされたクラス修飾子とタイプクラス説明(package private) static final class
ResponseWrapper の継承クラス とりあえず、Wrapper 無しでもヘッダーの設定が出来たので、今は未使用とします。 -
コンストラクタの概要
コンストラクタ -
メソッドの概要
修飾子とタイプメソッド説明void
doFilter
(ServletRequest req, ServletResponse res, FilterChain chain) フィルター処理本体のメソッドです。void
init
(FilterConfig filterConfig) Filter インターフェースの init メソッド (何もしません)。クラスから継承されたメソッド jakarta.servlet.http.HttpFilter
doFilter
クラスから継承されたメソッド jakarta.servlet.GenericFilter
getFilterConfig, getFilterName, getInitParameter, getInitParameterNames, getServletContext, init
-
コンストラクタの詳細
-
CacheControlFilter
public CacheControlFilter()デフォルトコンストラクター- 変更履歴:
- 8.5.3.2 (2023/10/13) JDK21対応。警告: デフォルトのコンストラクタの使用で、コメントが指定されていません
-
-
メソッドの詳細
-
init
Filter インターフェースの init メソッド (何もしません)。 実行時のURLを標準出力に出力します。- 定義:
init
インタフェース内Filter
- オーバーライド:
init
クラス内GenericFilter
- パラメータ:
filterConfig
- FilterConfigオブジェクト- 変更履歴:
- 8.3.0.0 (2022/08/01) 新規追加
-
doFilter
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException フィルター処理本体のメソッドです。- 定義:
doFilter
インタフェース内Filter
- オーバーライド:
doFilter
クラス内HttpFilter
- パラメータ:
req
- ServletRequestオブジェクトres
- ServletResponseオブジェクトchain
- FilterChainオブジェクト- 例外:
IOException
- 入出力エラーが発生した場合、throw されます。ServletException
- サーブレット関係のエラーが発生した場合、throw されます。- 変更履歴:
- 8.3.0.0 (2022/08/01) 新規追加
-