我可以使用其他引用的类库中的Java servlet过滤器类吗?

ele*_*ron 5 java servlets filter java-ee

我的项目中有五个Web应用程序,并且希望过滤HTTP请求,但是我不想Filter为每个Web应用程序编写一个类,因为没有特定于应用程序的行为。最实用的方法是什么?

我试图Filter在另一个名为的类库中仅创建一个,MyClassLibrary但是它不起作用。Web应用程序可以使用该库中的其他类,因此我认为没有参考问题。

web.xml应用程序之一的过滤器部分是:

<filter>
    <filter-name>SampleFilter</filter-name>
    <filter-class>MyClassLibrary.Filters.SampleFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>SampleFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>
Run Code Online (Sandbox Code Playgroud)

这将导致异常:

java.lang.ClassNotFoundException:MyClassLibrary.Filters.SampleFilter

平台:Windows,NetBeans,GlassFish

Gla*_*boz 1

请检查以下内容

  • 确保你的类编译时没有任何错误
  • 确保这些 Web 应用程序的部署引用了包含您的库的项目/jar
  • 从名称上看,SampleFilter 是一个内部类。如果是这种情况,请确保 Filters 和 SampleFilter 是 MyClassLibrary 的静态内部类并且没有 args 构造函数
  • MyClassLibrary 前面是否缺少包名称?