【发布时间】:2011-05-14 14:19:33
【问题描述】:
我有一个用 java 编写的 web 应用程序。我想运行一个“清理”方法,该方法将在每个 Web 请求结束时运行,就像在完成所有工作之后一样。我正在寻找类似过滤器的东西,它会在请求结束时运行,而不是在开始时运行。
这样做的方法是什么?
任何帮助将不胜感激
【问题讨论】:
我有一个用 java 编写的 web 应用程序。我想运行一个“清理”方法,该方法将在每个 Web 请求结束时运行,就像在完成所有工作之后一样。我正在寻找类似过滤器的东西,它会在请求结束时运行,而不是在开始时运行。
这样做的方法是什么?
任何帮助将不胜感激
【问题讨论】:
谢谢 stoupa。 详细信息可以在这里找到: http://download.oracle.com/docs/cd/B31017_01/web.1013/b28959/listener.htm#BABBHEGC
基本上你写一个实现ServletRequestListener的类,然后在你的web.xml中添加一些配置
<listener>
<listener-class>SessionLifeCycleEventExample</listener-class>
</listener>
【讨论】:
看一下ServletRequestListener接口:
http://tomcat.apache.org/tomcat-5.5-doc/servletapi/javax/servlet/ServletRequestListener.html
【讨论】:
chain.doFilter() 后进行清理,但这看起来更好。