分析LogFilter

Posted yc123456

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了分析LogFilter相关的知识,希望对你有一定的参考价值。

package lee;

import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.*;

/**
* Description:
* <br/>网站: <a href="http://www.crazyit.org">疯狂Java联盟</a>
* <br/>Copyright (C), 2001-2016, Yeeku.H.Lee
* <br/>This program is protected by copyright laws.
* <br/>Program Name:
* <br/>Date:
* @author Yeeku.H.Lee [email protected]
* @version 1.0
*/

@WebFilter(filterName="log"
,urlPatterns={"/*"})
public class LogFilter implements Filter
{
// FilterConfig可用于访问Filter的配置信息
private FilterConfig config;
// 实现初始化方法
public void init(FilterConfig config)
{
this.config = config;
}
// 实现销毁方法
public void destroy()
{
this.config = null;
}
// 执行过滤的核心方法
public void doFilter(ServletRequest request,
ServletResponse response, FilterChain chain)
throws IOException,ServletException
{
// ---------下面代码用于对用户请求执行预处理---------
// 获取ServletContext对象,用于记录日志
ServletContext context = this.config.getServletContext();
long before = System.currentTimeMillis();
System.out.println("开始过滤...");
// 将请求转换成HttpServletRequest请求
HttpServletRequest hrequest = (HttpServletRequest)request;
// 输出提示信息
System.out.println("Filter已经截获到用户的请求的地址: " +
hrequest.getServletPath());
// Filter只是链式处理,请求依然放行到目的地址
chain.doFilter(request, response);
// ---------下面代码用于对服务器响应执行后处理---------
long after = System.currentTimeMillis();
// 输出提示信息
System.out.println("过滤结束");
// 输出提示信息
System.out.println("请求被定位到" + hrequest.getRequestURI() +
" 所花的时间为: " + (after - before));
}
}

技术分享图片

long before = System.currentTimeMillis();

long after = System.currentTimeMillis();

这两句代码定义了doFilter()过滤用户请求的范围。

 

HttpServletRequest hrequest = (HttpServletRequest) request;

HttpServletRequest接口是ServletRequest子接口,HttpServletRequest接口遵循http协议。将请求转换成HttpServletRequest请求。

 

System.out.println("Filter 已经截获到用户的请求的地址: "  + hrequest.getSeryletPath() );

输出提示信息,输出截获到用户的请求的地址。




























































以上是关于分析LogFilter的主要内容,如果未能解决你的问题,请参考以下文章

Clickhouse(流量分析(三).路径分析案例)

机器学习之数据探索——数据特征分析(分布分析)

团队项目-需求分析报告

NLP第九篇-句法分析

回归分析12:方差分析模型

如何做好用户分析