クラス WebContentInterceptor

実装されたすべてのインターフェース:
AwareApplicationContextAwareServletContextAwareHandlerInterceptor

public class WebContentInterceptor extends WebContentGenerator implements HandlerInterceptor
サポートされているメソッドと必要なセッションのリクエストをチェックし、構成されたキャッシュ設定を適用してレスポンスを準備するハンドラーインターセプター。

キャッシュ設定は、addCacheMapping(CacheControl, String...) および setCacheMappings(Properties) を使用したパスパターンを介して特定の URL に構成でき、WebContentGenerator.setCacheControl(CacheControl) を介したすべての URL のデフォルト設定にフォールバックします。

パターンマッチングは、PathMatcher または解析された PathPattern を使用して実行できます。構文はほぼ同じですが、後者は Web の使用に合わせて調整されており、より効率的です。選択は、resolved String lookupPath または parsed RequestPath の存在に依存します。これは、現在のリクエストに一致した HandlerMapping に依存します。

このインターセプターでサポートされるすべての設定は、AbstractController でも設定できます。このインターセプターは、主に HandlerMapping によってマップされたコントローラーのセットにチェックと準備を適用することを目的としています。

導入:
27.11.2003
作成者:
Juergen Hoeller, Brian Clozel, Rossen Stoyanchev
関連事項:
  • コンストラクターの詳細

  • メソッドの詳細

    • setAlwaysUseFullPath

      @DeprecatedSE public void setAlwaysUseFullPath(boolean alwaysUseFullPath)
      使用すべきではありません。
      5.3 以降、パスは外部で解決され、ServletRequestPathUtils.getCachedPathValue(ServletRequest) で取得されます
      構成された UrlPathHelper 上の same property へのショートカット。
    • setUrlDecode

      @DeprecatedSE public void setUrlDecode(boolean urlDecode)
      使用すべきではありません。
      5.3 以降、パスは外部で解決され、ServletRequestPathUtils.getCachedPathValue(ServletRequest) で取得されます
      構成された UrlPathHelper 上の same property へのショートカット。
    • setUrlPathHelper

      @DeprecatedSE public void setUrlPathHelper(UrlPathHelper urlPathHelper)
      使用すべきではありません。
      5.3 以降、パスは外部で解決され、ServletRequestPathUtils.getCachedPathValue(ServletRequest) で取得されます
      ルックアップパスの解決に使用する UrlPathHelper を設定します。
    • setPathMatcher

      public void setPathMatcher(PathMatcher pathMatcher)
      PathMatcher を構成して、URL パスを登録済みの URL パターンと照合し、リクエストのキャッシュ設定を選択します。

      これは、カスタマイズされた AntPathMatcher またはカスタム PathMatcher が必要な場合にのみ使用する必要がある高度なプロパティです。

      デフォルトでは、これは AntPathMatcher です。

      注意 PathMatcher を設定すると、parsed RequestPath が使用可能な場合でも、文字列パターンマッチングの使用が強制されます。

      関連事項:
    • setCacheMappings

      public void setCacheMappings(PropertiesSE cacheMappings)
      キャッシュ秒の設定をパターンを介して特定の URL パスにマップします。

      このインターセプターのデフォルトのキャッシュ秒設定をオーバーライドします。"-1" を指定して、デフォルトのキャッシュから URL パスを除外できます。

      パターン構文については、AntPathMatcherPathPattern、およびそれぞれが使用される場合の詳細については、クラスレベルの Javadoc を参照してください。構文は、Web での使用に合わせて調整された PathPattern とほぼ同じです。

      注意 : パスパターンは重複することはありません。リクエストが複数のマッピングに一致する場合、どのマッピングが適用されるかは実質的に未定義です(java.util.Properties にキーの順序付けがないため)。

      パラメーター:
      cacheMappings - URL パス(キーとして)とキャッシュの秒数の間のマッピング (値として、整数解析可能にする必要があります)
      関連事項:
    • addCacheMapping

      public void addCacheMapping(CacheControl cacheControl, StringSE... paths)
      特定の URL パスを特定の CacheControl にマップします。

      このインターセプターのデフォルトのキャッシュ秒数設定をオーバーライドします。空の CacheControl インスタンスを指定して、デフォルトのキャッシュから URL パスを除外できます。

      パターン構文については、AntPathMatcherPathPattern、およびそれぞれが使用される場合の詳細については、クラスレベルの Javadoc を参照してください。構文は、Web での使用に合わせて調整された PathPattern とほぼ同じです。

      注意 : パスパターンは重複することはありません。リクエストが複数のマッピングに一致する場合、どれが適用されるかは事実上未定義です(基になる java.util.HashMap のキーの順序付けがないため)。

      パラメーター:
      cacheControl - 使用する CacheControl 
      paths - 指定された CacheControl にマップされる URL パス
      導入:
      4.2
      関連事項:
    • preHandle

      public boolean preHandle(HttpServletRequestEE request, HttpServletResponseEE response, ObjectSE handler) throws ServletExceptionEE
      インターフェースからコピーされた説明: HandlerInterceptor
      ハンドラーの実行前のインターセプトポイント。HandlerMapping が適切なハンドラーオブジェクトを決定した後、HandlerAdapter がハンドラーを呼び出す前に呼び出されます。

      DispatcherServlet は、任意の数のインターセプターで構成される実行チェーンでハンドラーを処理し、ハンドラー自体を最後に処理します。このメソッドを使用すると、各インターセプターはチェーンの実行を中止することを決定でき、通常は HTTP エラーを送信するか、カスタムレスポンスを作成します。

      注意 : 非同期リクエスト処理には特別な考慮事項が適用されます。詳細については、AsyncHandlerInterceptor を参照してください。

      デフォルトの実装は true を返します。

      次で指定:
      インターフェース HandlerInterceptorpreHandle 
      パラメーター:
      request - 現在の HTTP リクエスト
      response - 現在の HTTP レスポンス
      handler - 型および / またはインスタンス評価のために、実行するために選択されたハンドラー
      戻り値:
      実行チェーンが次のインターセプターまたはハンドラー自体を続行する必要がある場合は、true。そうでない場合、DispatcherServlet は、このインターセプターがすでにレスポンス自体を処理していると想定します。
      例外:
      ServletExceptionEE
    • lookupCacheControl

      @Nullable protected CacheControl lookupCacheControl(PathContainer path)
      指定された解析済み pathCacheControl インスタンスを検索します。これは、HandlerMapping が解析された PathPatterns を使用する場合に使用されます。
      パラメーター:
      path - 一致するパス
      戻り値:
      一致した CacheControl、または一致しない場合は null 
      導入:
      5.3
    • lookupCacheControl

      @Nullable protected CacheControl lookupCacheControl(StringSE lookupPath)
      指定された文字列 lookupPath の CacheControl インスタンスを検索します。これは、HandlerMapping が PathMatcher との文字列パターンマッチングに依存している場合に使用されます。
      パラメーター:
      lookupPath - 一致するパス
      戻り値:
      一致した CacheControl、または一致しない場合は null 
    • lookupCacheSeconds

      @Nullable protected IntegerSE lookupCacheSeconds(PathContainer path)
      指定された解析済み path の cacheSeconds 値を見つけます。これは、HandlerMapping が解析された PathPatterns を使用する場合に使用されます。
      パラメーター:
      path - 一致するパス
      戻り値:
      一致した cacheSeconds、または一致するものがない場合は null 
      導入:
      5.3
    • lookupCacheSeconds

      @Nullable protected IntegerSE lookupCacheSeconds(StringSE lookupPath)
      指定された文字列 lookupPath の cacheSeconds インスタンスを検索します。これは、HandlerMapping が PathMatcher との文字列パターンマッチングに依存している場合に使用されます。
      パラメーター:
      lookupPath - 一致するパス
      戻り値:
      一致した cacheSeconds、または一致するものがない場合は null 
    • postHandle

      public void postHandle(HttpServletRequestEE request, HttpServletResponseEE response, ObjectSE handler, @Nullable ModelAndView modelAndView) throws ExceptionSE
      この実装は空です。
      次で指定:
      インターフェース HandlerInterceptorpostHandle 
      パラメーター:
      request - 現在の HTTP リクエスト
      response - 現在の HTTP レスポンス
      handler - 型やインスタンスの検査のために、非同期実行を開始したハンドラー(または HandlerMethod
      modelAndView - ハンドラーが返した ModelAndView (null にすることもできます)
      例外:
      ExceptionSE - エラーの場合
    • afterCompletion

      public void afterCompletion(HttpServletRequestEE request, HttpServletResponseEE response, ObjectSE handler, @Nullable ExceptionSE ex) throws ExceptionSE
      この実装は空です。
      次で指定:
      インターフェース HandlerInterceptorafterCompletion 
      パラメーター:
      request - 現在の HTTP リクエスト
      response - 現在の HTTP レスポンス
      handler - 型やインスタンスの検査のために、非同期実行を開始したハンドラー(または HandlerMethod
      ex - ハンドラーの実行時にスローされる例外(ある場合)。これには、例外リゾルバーを介して処理された例外は含まれません
      例外:
      ExceptionSE - エラーの場合