/ / Wyślij określone nagłówki odpowiedzi typu MIME w Apache Tomcat - java, jsp, tomcat, serwlety

Wyślij określone nagłówki w odpowiedzi typu MIME w Apache Tomcat - java, jsp, tomcat, servlets

Mam uruchomiony serwer Apache Tomcat. Jeśli mam coś takiego:

webapp/
image1.png

Następnie mogę po prostu uzyskać do niego dostęp za pomocą:

example.com/image1.png

Co jest idealne, z tym wyjątkiem, że nie mam żadnej kontroli nad tym, jakie nagłówki są wysyłane. Chcę wysłać konkretne Expires nagłówek dla niektórych typów MIME (jak, dla image/png). Te nagłówki będą statyczne, więc nie mam nic przeciwko, jeśli muszę to określić w jakimś pliku XML i nie mogę być dynamiczny.

Czy to możliwe dzięki Apache Tomcat? Innym oczywistym sposobem jest odczytanie pliku i przesłanie go do przeglądarki z odpowiednimi nagłówkami, ale myślę, że może to być przesada.

Odpowiedzi:

1 dla odpowiedzi № 1

Użyj filtrów Tomcat do zastosowania tych nagłówków.

<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>

Więcej informacji na Dokumentacja filtra Tomcat


0 dla odpowiedzi nr 2

Możliwe, że nie używasz Tomcat 7, ale starszej wersji. W mojej instalacji Tomcat 7 znalazłem ten filtr spakowany w pliku catalina.jar