繁体   English   中英

Servlet过滤器和OSGi HttpService

[英]Servlet Filters and the OSGi HttpService

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

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

  • 防止缓存响应
  • 使用X-UA-Compatible标头控制IE8中的渲染

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

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

正在进行的工作是标准化OSGi上的WAR意味着什么。 此规范称为OSGi Web容器。 工作进展非常顺利,我是一个很好的方法,以及它的参考实现。 我将在4-5天内提供RI的alpha代码以及详细说明用法的博客文章。 请关注blog.springsource.com上的SpringSource博客。

我很遗憾无法链接到dm Server因为我是新用户:(

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

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

也:

Pax Web [扩展] OSGi Http Service具有更好的servlet支持,过滤器,监听器,错误页面和JSP以及其他一些服务,以满足最新版本的Servlet规范。

关于Pax Web:

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

例如,我输入以下命令:

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

而不是指向我的浏览器:

HTTP://本地主机:8080 /的HelloWorld / WC

结果:

未找到错误404

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM