Фильтры сервлетов и сервис OSGi HttpService - PullRequest
1 голос
/ 21 мая 2009

Я работаю над приложением на основе OSGi, которое использует org.osgi.service.http.HttpService, которое не поддерживает использование фильтров сервлетов.

Прежде чем я понял, что не смогу использовать фильтры сервлетов, я планировал применить пару существующих фильтров. Эти фильтры устанавливают соответствующие заголовки HTTP:

  • предотвратить кеширование ответов
  • управление рендерингом в IE8 с заголовком X-UA-Compatible

Какие у меня есть варианты? Я не хочу использовать элементы meta для управления кэшированием, поскольку эта техника ненадежна . Использование элемента meta для установки заголовка X-UA-Compatible, вероятно, приемлемо, но я все еще заинтересован в альтернативных подходах.

Ответы [ 5 ]

2 голосов
/ 22 мая 2009

Вы можете использовать dm Server для развертывания WAR-файлов непосредственно в среде OSGi. WAR-ы, которые запускаются в dm Server, являются полностью WAR-ами и полностью связываются.

В настоящее время ведется работа по стандартизации того, что значит быть WAR на OSGi. Эта спецификация называется OSGi Web Container. Работа продвигается очень хорошо, и я хорошо справляюсь с эталонной реализацией для нее. Я сделаю альфа-код RI доступным через 4-5 дней вместе с записью в блоге, подробно описывающей использование. Следите за блогом SpringSource на blog.springsource.com.

Я, к сожалению, не могу связаться с сервером dm, потому что я новый пользователь: (

1 голос
/ 02 августа 2013

Начиная с Eclipse 3.5, вы можете определять фильтры, используя точку расширения org.eclipse.equinox.http.registry.filters.

1 голос
/ 21 мая 2009

Эта проблема для добавления поддержки фильтра сервлетов предлагает некоторые возможные обходные пути.

Также:

Pax Web [расширяет] OSGi Http Service с лучшей поддержкой сервлетов, фильтров, слушатели, страницы ошибок и JSP и некоторые другие, чтобы встретить последние версии спецификаций сервлета.

0 голосов
/ 26 августа 2009

Pax web пока не будет работать в не-OSGI движке сервлета (режим моста). Apache Felix имеет хорошее решение для этого на http://felix.apache.org.

0 голосов
/ 26 июня 2009

Относительно Pax Web:

Примеры на странице paxweb / examples не работают.

Например, я ввожу эту команду:

файл сканирования pax-run: jar: mvn: org.ops4j.pax.web.samples / provision! /Sample-helloworld-wc.bundles

чем указать мой браузер:

http://localhost:8080/helloworld/wc

результат:

Ошибка 404 NOT_FOUND

Кроме того, для меня не ясно из документации, будет ли Pax Web работать в ядре сервлета, отличного от OSGI, например WebLogic, WebSphere.

...