Tomcat记录http请求并调用java代码

时间:2012-04-30 18:47:17

标签: tomcat groovy groovlet

我有一个用Groovy编写的小项目,并在Tomcat 6.0上作为groovlet部署。 我现在的问题是我需要监控所有传入的请求并对每个请求执行自定义日志记录。

首先,我想在每个类中包含一个输出我需要的短代码,但后来我想可能是Tomcat可以将每个传入的http请求发送/复制到我的自定义日志记录类,它将根据我的喜好对其进行解析并执行一些操作更多的东西。

有可能这样做吗?如果是这样的话?

P.S:Tomcat必须是原创的 - 没有修改/自定义编辑。

谢谢。

1 个答案:

答案 0 :(得分:2)

您可以添加将执行日志记录的自定义filter

以下是Filter实现示例:

public class YourFilter implements Filter {

    public void init(FilterConfig filterConfig) throws ServletException {
        // do your initialization here
    }

    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain)
        throws IOException, ServletException {
        // do your custom logging here
    }

    public void destroy() {
        // do whats necessary on end of life
    }
}

在web.xml中配置/激活过滤器。

...
<filter>
    <filter-name>yourFilter</filter-name>
    <filter-class>org.example.YourFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>yourFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>  
...