gpt4 book ai didi

java - Tomcat 中存在的过滤器在 Jetty 中不存在,如何让 Jetty 忽略它?

转载 作者:行者123 更新时间:2023-11-30 09:18:55 26 4
gpt4 key购买 nike

我们有一个在 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?

最佳答案

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

如果您真的想在两个服务器上部署一个 war 文件而不被触及,那么您可以编写自己的过滤器,委托(delegate)给可用的 catalina CorsFilter,如果不可用则不执行任何操作。

您可以通过执行 Class.forName("org.apache.catalina.filters.CorsFilter") 来测试过滤器是否可用,然后查看是否出现异常。

关于java - Tomcat 中存在的过滤器在 Jetty 中不存在,如何让 Jetty 忽略它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18247752/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com