クラス WebContentGenerator

実装されているすべてのインターフェース:
AwareApplicationContextAwareServletContextAware
既知の直属サブクラス
AbstractControllerAbstractHandlerMethodAdapterResourceHttpRequestHandlerWebContentInterceptor

public abstract class WebContentGenerator extends WebApplicationObjectSupport
AbstractControllerWebContentInterceptor など、あらゆる種類の Web コンテンツジェネレーターに便利なスーパークラス。独自の HandlerAdapter を持つカスタムハンドラーにも使用できます。

HTTP キャッシュ制御オプションをサポートします。対応する HTTP ヘッダーの使用は、"cacheSeconds" および "cacheControl" プロパティを介して制御できます。

作成者:
Rod Johnson, Juergen Hoeller, Brian Clozel, Rossen Stoyanchev
関連事項:
  • フィールドの詳細

  • コンストラクターの詳細

    • WebContentGenerator

      public WebContentGenerator()
      HTTP メソッド GET、HEAD、POST をデフォルトでサポートする新しい WebContentGenerator を作成します。
    • WebContentGenerator

      public WebContentGenerator(boolean restrictDefaultSupportedMethods)
      新しい WebContentGenerator を作成します。
      パラメーター:
      restrictDefaultSupportedMethods - このジェネレーターがデフォルトで HTTP メソッド GET、HEAD、POST をサポートする必要がある場合は true、制限されていない場合は false 
    • WebContentGenerator

      public WebContentGenerator(StringSE... supportedMethods)
      新しい WebContentGenerator を作成します。
      パラメーター:
      supportedMethods - このコンテンツジェネレーターでサポートされている HTTP メソッド
  • メソッドの詳細

    • setSupportedMethods

      public final void setSupportedMethods(@Nullable StringSE... methods)
      このコンテンツジェネレーターがサポートする HTTP メソッドを設定します。

      デフォルトは、単純なフォームコントローラー型の GET、HEAD、POST です。一般的なコントローラーとインターセプターには制限がありません。

    • getSupportedMethods

      @Nullable public final StringSE[] getSupportedMethods()
      このコンテンツジェネレーターがサポートする HTTP メソッドを返します。
    • getAllowHeader

      @Nullable protected StringSE getAllowHeader()
      構成済みの supported methods に基づく HTTP OPTIONS リクエストへのレスポンスで使用する "Allow" ヘッダー値を返します。サポートされるメソッドとして存在しない場合でも、リストに "OPTIONS" を自動的に追加します。これは、checkRequest(HttpServletRequest) を呼び出す前に HTTP OPTIONS リクエストが処理される限り、サブクラスがサポートされているメソッドとして "OPTIONS" を明示的にリストする必要がないことを意味します。
      導入:
      4.3
    • setRequireSession

      public final void setRequireSession(boolean requireSession)
      リクエストを処理するためにセッションが必要かどうかを設定します。
    • isRequireSession

      public final boolean isRequireSession()
      リクエストの処理にセッションが必要かどうかを返します。
    • setCacheControl

      public final void setCacheControl(@Nullable CacheControl cacheControl)
      CacheControl インスタンスを設定して、Cache-Control HTTP レスポンスヘッダーを構築します。
      導入:
      4.2
    • getCacheControl

      @Nullable public final CacheControl getCacheControl()
      Cache-Control HTTP レスポンスヘッダーを作成する CacheControl インスタンスを取得します。
      導入:
      4.2
    • setCacheSeconds

      public final void setCacheSeconds(int seconds)
      レスポンスにキャッシュ関連の HTTP ヘッダーを書き込むことにより、指定された秒数の間コンテンツをキャッシュします。
      • 秒 == -1(デフォルト値): 生成キャッシュ関連のヘッダーなし
      • 秒 == 0: 「キャッシュ制御: no-store」はキャッシュを防ぎます
      • 秒> 0: 「キャッシュ制御: max-age = seconds」はコンテンツのキャッシュを要求します

      より具体的なニーズについては、カスタム CacheControl を使用する必要があります。

      関連事項:
    • getCacheSeconds

      public final int getCacheSeconds()
      コンテンツがキャッシュされる秒数を返します。
    • setVaryByRequestHeaders

      public final void setVaryByRequestHeaders(@Nullable StringSE... varyByRequestHeaders)
      レスポンスがコンテンツネゴシエーションの対象であり、指定されたリクエストヘッダーの値に基づいて変更されることをクライアントに通知するために、"Vary" レスポンスヘッダーに追加する 1 つ以上のリクエストヘッダー名 ( "Accept-Language" など) を構成します。構成されたリクエストヘッダー名は、レスポンス "Vary" ヘッダーにまだ存在しない場合にのみ追加されます。
      パラメーター:
      varyByRequestHeaders - 1 つ以上のリクエストヘッダー名
      導入:
      4.3
    • getVaryByRequestHeaders

      @Nullable public final StringSE[] getVaryByRequestHeaders()
      "Vary" レスポンスヘッダーの構成済みリクエストヘッダー名を返します。
      導入:
      4.3
    • checkRequest

      protected final void checkRequest(HttpServletRequestEE request) throws ServletExceptionEE
      サポートされているメソッドと必要なセッションがある場合は、指定されたリクエストを確認してください。
      パラメーター:
      request - 現在の HTTP リクエスト
      例外:
      ServletExceptionEE - チェックが失敗したためにリクエストを処理できない場合
      導入:
      4.2
    • prepareResponse

      protected final void prepareResponse(HttpServletResponseEE response)
      このジェネレーターの設定に従って、指定されたレスポンスを準備します。このジェネレーターに指定されたキャッシュ秒数を適用します。
      パラメーター:
      response - 現在の HTTP レスポンス
      導入:
      4.2
    • applyCacheControl

      protected final void applyCacheControl(HttpServletResponseEE response, CacheControl cacheControl)
      指定された設定に従って HTTP Cache-Control ヘッダーを設定します。
      パラメーター:
      response - 現在の HTTP レスポンス
      cacheControl - 事前設定されたキャッシュ制御設定
      導入:
      4.2
    • applyCacheSeconds

      protected final void applyCacheSeconds(HttpServletResponseEE response, int cacheSeconds)
      指定されたキャッシュ秒を適用し、対応する HTTP ヘッダーを生成します。つまり、正の値の場合は指定された秒数のキャッシュを許可し、0 の値が指定された場合はキャッシュを禁止します。ブラウザーにリソースの再検証を指示しません。
      パラメーター:
      response - 現在の HTTP レスポンス
      cacheSeconds - レスポンスがキャッシュ可能になる未来の正の秒数、キャッシュを防ぐための 0
    • checkAndPrepare

      @DeprecatedSE protected final void checkAndPrepare(HttpServletRequestEE request, HttpServletResponseEE response, int cacheSeconds, boolean lastModified) throws ServletExceptionEE
      使用すべきではありません。
      4.2 の時点で、lastModified フラグは事実上無視され、明示的に構成されている場合にのみ must-revalidate ヘッダーが生成されるため
      このジェネレーターの設定に従って、指定されたリクエストとレスポンスを確認して準備します。
      例外:
      ServletExceptionEE
      関連事項: