Я хочу установить HTTP-заголовок «Expires», когда мой сервер Glassfish обслуживает статические ресурсы, такие как Javascript и файлы изображений.(потому что браузер должен их кэшировать)
Как это сделать на сервере Glassfish V 3.0.1?
Один из способов использования HttpServletResponseWrapper
Другой подход - использование фильтра, вот очень хорошая статья: Кэширование статических ресурсов в glassfish
Вы ссылаетесь на ресурсы с защищенной страницы ?? Тогда ответ Джигара Джоши, т. Е.
http://blogs.oracle.com/cwebster/entry/caching_static_resources_in_glassfish
не будет работать ...
Если у вас защищенная страница, вам помогут следующие.
Статические ресурсы не кэшируются по ссылке с защищенной страницы Glassfish
Glassfish использует каталину для контейнера сервлетов. Расширьте DefaultServlet, переопределите что-то вроде doGet() и добавьте нужные заголовки.
doGet()
http://tomcat.apache.org/tomcat-7.0-doc/api/org/apache/catalina/servlets/DefaultServlet.html
Смонтируйте свой собственный сервлет по умолчанию в /:
/
<servlet-mapping> <servlet-name>mydefault</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>