繁体   English   中英

是否必须在web.xml文件中指定servlet过滤器?

[英]Do servlet filters have to be specified in the web.xml file?

我公司有一个Servlet过滤器,我们希望将其包含在各种第三方Java Web应用程序中。 在编辑供应商的web.xml文件时有些犹豫。 犹豫不决吗? 还有另一种方法吗? 有问题的应用服务器是Tomcat和Weblogix ...

如果使用Servlet API最高版本为2.5,那么如果要实现可移植性就没有其他方法,您必须在web.xml中包含Filter

如果使用Servlet API 3.0,则可以在jar内使用web-fragment.xml ,或在过滤器上使用@WebFilter批注,它将自动进行部署(Web应用应仅指定metadata-complete="false"才能包括其他模块的声明)

AFAIK,他们必须进入web.xml。 您的犹豫是有根据的-我从不喜欢这种修改,因为这样很难合并供应商升级。 但我不确定您是否有选择。 只需确保您的黑盒/验收测试足够强大,就可以检测到升级期间过滤器何时掉线。

是的,它确实。

我已经能够以编程方式执行此操作( 在Jetty中请参见addFilter()方法),但这是特定的Jetty类,因此我不知道非容器特定的方法来解决此问题,因此请确保您的代码已部署在Tomcat和Jetty上,您的方法都是唯一安全的方法。

暂无
暂无

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

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