Mik*_* S. 12 java tomcat java-ee servlet-filters
我正在为学术目的编写一个项目,其中包括其他不相关的内容,包括编写一个监视servlet/jsp响应时间的过滤器.
问题是过滤器应该适用于服务器中的每个已部署的Web应用程序,而不仅仅是特定的应用程序,我无法找到有关应用"全局"过滤器的任何信息.
它甚至可能吗?
注意:重要的是要提到我使用Apache Tomcat 7作为首选服务器.
谢谢!
米奇
Bal*_*usC 18
您可以在Tomcat的公共类路径中提供过滤器并编辑Tomcat自己/conf/web.xml的过滤器,但这不会在不存在的webapp上下文中运行(即它不会涵盖所有可能的请求),并且在所有已部署的Web 应用程序中都可以覆盖它.更强大的解决方案取决于所使用的servlet容器.如果是Tomcat,则需要Valve组件.
开球示例:
import org.apache.catalina.valves.ValveBase;
public class MyValve extends ValveBase {
@Override
public void invoke(Request request, Response response) throws IOException, ServletException {
// ...
getNext().invoke(request, response);
}
}
Run Code Online (Sandbox Code Playgroud)
将其注册如下server.xml:
<Valve className="com.example.MyValve" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4766 次 |
| 最近记录: |