如何检查数据包是否命中tomcat

时间:2011-06-14 07:11:59

标签: java tomcat tomcat6

是否可以检查是否有任何请求已经命中Tomcat?与Apache服务器的access.log类似的东西。我正在使用Tomcat 6。

3 个答案:

答案 0 :(得分:7)

Apache Tomcat提供配置目录 conf ,其中包含文件 server.xml 。在此文件的底部,必须取消注释并更改包含调整阀的行,称为 AccessLogValve

可以通过编辑器或应用程序轻松修改默认阀门参数和模式。这是一个相当详细的日志文件,可用于访问指标:

<Valve
   className="org.apache.catalina.valves.AccessLogValve."
   directory="logs"
   prefix="sitename_acc."
   suffix=".log"
   pattern='%a %A %b %B %h %l %m %p %q %u %t "%r" %s %U %D %S'
   resolveHosts="false"
   rotatable="true"
   fileDateFormat="yyyy-MM-dd"
/>

您甚至可以同时运行多个tomcat实例,每个实例都有自己的访问日志文件。

答案 1 :(得分:3)

答案 2 :(得分:0)

如果您需要这个来调试web.xml中定义的过滤器可能有用:

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

在您的过滤器实施MyFilter中,您可以访问ServletRequest,例如访问会话变量:

public class MyFilter implements Filter
{
  public void doFilter(ServletRequest request, ServletResponse response,
                       FilterChain chain) throws IOException, ServletException
  {
    chain.doFilter(request, response);
  }
}