【问题标题】:Filter that exists in Tomcat doesn't in Jetty, how do I get Jetty to ignore it?Tomcat 中存在的过滤器不在 Jetty 中,如何让 Jetty 忽略它?
【发布时间】:2013-08-17 08:25:43
【问题描述】:

我们有一个在 Tomcat 和 Jetty 中运行的项目。我在 web.xml 中添加了一个过滤器:

<filter>
    <filter-name>CorsFilter</filter-name>
    <filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
</filter>

CorsFilter 类随 Tomcat 一起提供,但 Jetty 没有找到它(因此无法启动)。

有什么方法可以让 Jetty 忽略这个声明?还是只适用于Tomcat?

【问题讨论】:

    标签: java tomcat servlets jetty


    【解决方案1】:

    显而易见的解决方案是将其从 web.xml 中删除。这毕竟是部署描述符,它的存在正是为了自定义应用的部署。

    如果您真的想在两个服务器上部署一个单一的战争文件而不被触及,那么您可以编写自己的过滤器,委托给 catalina CorsFilter 可用,如果不可用则不做任何事情。

    您可以通过Class.forName("org.apache.catalina.filters.CorsFilter") 测试过滤器是否可用,并查看是否有异常。

    【讨论】:

    • 谢谢。这几乎就是我最终要做的事情,我将其删除,并通过我们的部署过程将其放入 Tomcats 全局 web.xml 中。在我们的例子中,这个设置也可能是全局的。
    猜你喜欢
    • 2023-03-23
    • 2014-10-03
    • 2012-01-03
    • 2014-09-12
    • 1970-01-01
    • 2013-11-01
    • 1970-01-01
    • 2012-11-23
    • 1970-01-01
    相关资源
    最近更新 更多