0

Apache Tomcat サーバーを実行しています。次のようなものがある場合:

webapp/
    image1.png

次に、次を使用して簡単にアクセスできます。

example.com/image1.png

どのヘッダーが送信されているかを制御できないことを除けば、これは完璧です。Expires特定の MIME タイプ ( for など) の特定のヘッダーを送信したいと考えていますimage/png。これらのヘッダーは静的であるため、XML ファイルでこれを指定する必要があり、動的にすることはできません。

Apache Tomcat で可能ですか? もう 1 つの明白な方法は、ファイルから読み取り、適切なヘッダーを付けてブラウザーに出力することですが、それはやり過ぎかもしれません。

4

2 に答える 2

2

このヘッダーを適用するには、Tomcatフィルターを使用します。

<web-app ...>
    ...
    <filter>
       <filter-name>ExpiresFilter</filter-name>
       <filter-class>org.apache.catalina.filters.ExpiresFilter</filter-class>
       <init-param>
          <param-name>ExpiresByType image</param-name>
          <param-value>access plus 10 minutes</param-value>
       </init-param>
       <init-param>
          <param-name>ExpiresByType text/css</param-name>
          <param-value>access plus 10 minutes</param-value>
       </init-param>
       <init-param>
          <param-name>ExpiresByType application/javascript</param-name>
          <param-value>access plus 10 minutes</param-value>
       </init-param>
    </filter>
    ...
    <filter-mapping>
       <filter-name>ExpiresFilter</filter-name>
       <url-pattern>/*</url-pattern>
       <dispatcher>REQUEST</dispatcher>
    </filter-mapping>
    ...
 </web-app>

Tomcatフィルタードキュメントの詳細

于 2012-06-05T11:22:21.313 に答える
0

Tomcat 7を使用していない可能性がありますが、古いバージョンを使用しています。Tomcat 7のインストールで、フィルターがcatalina.jarにパッケージ化されていることがわかりました。

于 2012-06-19T22:02:09.407 に答える