【问题标题】:How to check if a packet hits tomcat如何检查数据包是否命中tomcat
【发布时间】:2011-06-14 07:11:59
【问题描述】:

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

【问题讨论】:

    标签: java tomcat tomcat6


    【解决方案1】:

    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 实例,每个实例都有自己的访问日志文件。

    【讨论】:

      【解决方案2】:

      【讨论】:

        【解决方案3】:

        如果您需要它来调试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);
          }
        }
        

        【讨论】:

          猜你喜欢
          • 2021-06-05
          • 2019-05-03
          • 2011-07-29
          • 1970-01-01
          • 2019-08-05
          • 1970-01-01
          • 1970-01-01
          • 2011-10-02
          • 1970-01-01
          相关资源
          最近更新 更多