1

我正在开发一个基于 OSGi 的应用程序,该应用程序org.osgi.service.http.HttpService不支持使用 Servlet 过滤器。

在我意识到我无法使用 Servlet 过滤器之前,我计划应用几个现有的过滤器。这些过滤器将适当的 HTTP 标头设置为:

  • 防止缓存响应
  • X-UA-Compatible使用标题控制 IE8 中的呈现

我在这里有什么选择?我不想使用meta元素来控制缓存,因为这种技术是不可靠的。使用meta元素来设置X-UA-Compatible标题可能是可以接受的,但我仍然对替代方法感兴趣。

4

5 回答 5

2

您可以使用 dm Server 将 WAR 文件直接部署到 OSGi 环境中。在 dm Server 中运行的 WAR 是完整的 WAR 和完整的捆绑包。

正在开展工作以标准化在 OSGi 上成为 WAR 的含义。该规范称为 OSGi Web 容器。工作进展非常顺利,我是一个很好的方法以及它的参考实现。我将在 4-5 天内提供 RI 的 alpha 代码以及详细说明用法的博客条目。关注 blog.springsource.com 上的 SpringSource 博客。

不幸的是,我无法链接到 dm 服务器,因为我是新用户 :(

于 2009-05-22T17:58:04.840 回答
1

这个添加 servlet 过滤器支持的问题提供了一些潜在的解决方法。

还:

Pax Web [扩展] OSGi Http 服务,提供更好的 servlet 支持、过滤器、侦听器、错误页面和 JSP 等,以满足最新版本的 Servlet 规范。

于 2009-05-21T03:05:36.510 回答
1

从 Eclipse 3.5 开始,您可以使用 org.eclipse.equinox.http.registry.filters扩展点定义过滤器。

于 2013-08-02T19:34:45.337 回答
0

Pax web 还不能在非 OSGI servlet 引擎(桥接模式)中工作。Apache Felix 在http://felix.apache.org上有一个很好的解决方案。

于 2009-08-26T17:38:43.743 回答
0

关于 Pax Web:

paxweb/Examples 页面上的示例不起作用。

例如,我输入以下命令:

pax-run scan-file:jar:mvn:org.ops4j.pax.web.samples/provision!/sample-helloworld-wc.bundles

而不是将我的浏览器指向:

http://localhost:8080/helloworld/wc

结果:

未找到错误404

此外,从文档中我不清楚 Pax Web 是否可以在非 OSGI servlet 引擎(例如 WebLogic、WebSphere)中工作。

于 2009-06-26T00:02:53.763 回答