1 log filter analysis分析
filter:与Servlet相似,过滤器是一些web应用程序组件,可以绑定到一个web应用程序中。但是与其他web应用程序组件不同的是,过滤器是"链"在容器的处理过程中的。这就意味着它们会在servlet处理器之前访问一个进入的请求,并且在外发响应信息返回到客户前访问这些响应信息。这种访问使得过滤器可以检查并修改请求和响应的内容
一个Filter 可负责拦截多个请求或响应:一个请求或响应也可被多个请求拦截。
创建一个Filter 只需两个步骤: (1)创建Filter 处理类:
(2)在web.xml 文件中配置Filter 。 创建Filter 必须实现javax.servlet.Filter 接口,在该接口中定义了三个方法。 ? void init(FilterConfig config): 用于完成Filter 的初始化。 ? void destroy(): 用于Filter 销毁前,完成某些资源的回收。 ? void doFilter(ServletRequest request, ServletResponse response,FilterChain chain): 实现过滤功能,该方法就是对每个请求及响应增加的额外处理。
过滤器Filter也具有生命周期:init()->doFilter()->destroy(),由部署文件中的filter元素驱动。在servlet2.4中,过滤器同样可以用于请求分派器,但须在web.xml中声明,INCLUDE或FORWARD或REQUEST或ERROR该元素位于filter-mapping中。

2.HttpServletRequest hrequest = (HttpServletRequest) request;

HttpServletRequest和ServletRequest都是接口,并且后者是前者的父接口。但是前者相对于后者多了一些针对于HTTP协议的方法,如getHead(String name)等等,所以在LogFilter中进行了转换。

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

这个程序语句作用是通过getServletPath()方法获取到了请求的路径,就是在日志中记录了请求的url。

long after = system.currentTimeMillis();

这个语句的作用是获取系统的当前时间。

Log Filter分析的更多相关文章

  1. (转)DB2 db2diag.log 日志分析

    DB2 db2diag.log 日志分析 原文:http://blog.csdn.net/lyjiau/article/details/52129997 db2diag.log是用来记录DB2数据库运 ...

  2. 【PHP】善用php-fpm的慢执行日志slow log,分析php性能问题

    (转)善用php-fpm的慢执行日志slow log,分析php性能问题  众所周知,mysql有slow query log,根据慢查询日志,我们可以知道那些sql语句有性能问题.作为mysql的好 ...

  3. log parser分析windows日志

    首先将windows安全日志导出,步骤如下: 运行eventvwr.msc命令,打开windows日志,如下图,将所有事件另存为: 保存完之后是一个.evtx格式的文件,将使用log parser分析 ...

  4. Monkey log异常分析说明

    以下主要针对在Android-Phone项目中进行Monkey log进行分析和说明,可以对bug提交作为参考. 要求熟悉,应用的包名.也就是说那个应用包出现问题,该属于那个模块,应用包名是判断依据. ...

  5. Oracle 11g的Redo Log和Archive Log的分析方法

    自Oracle 11g起,无需设置UTL_FILE_DIR就可以使用LOGMNR对本地数据库的日志进行分析,以下是使用LOGMNR的DICT_FROM_ONLINE_CATALOG分析REDO和归档日 ...

  6. openstack 中 log模块分析

    1 . 所在模块,一般在openstack/common/log.py,其实最主要的还是调用了python中的logging模块: 入口函数在 def setup(product_name, vers ...

  7. Android Native/Tombstone Crash Log 详细分析(转)

    转自:http://weibo.com/p/230418702c2db50102vc2h Android 虽然已经有好几年了,但是NDK的开放速度却非常缓慢,所以目前网络上针对对Android Nat ...

  8. Java web 实现 之 Filter分析ip统计网站的访问次数

    统计工作需要在所有资源之前都执行,那么就可以放到Filter中了. 我们这个过滤器不打算做拦截操作!因为我们只是用来做统计的. 用什么东西来装载统计的数据.Map<String,Integer& ...

  9. [日志分析] Access Log 日志分析

    0x00.前言: 如何知道自己所在的公司或单位是否被入侵了?是没人来“黑”,还是因自身感知能力不足,暂时还没发现?入侵检测是每个安全运维人员都要面临的严峻挑战.安全无小事,一旦入侵成功,后果不堪设想. ...

随机推荐

  1. 课堂小练习(complex类)

    定义一个复数类Complex,使得下面的代码能够工作: Complex c1(3,5);     //用复数3+5i初始化c1: Compex c2=4.5;      //用实数4.5初始化c2 c ...

  2. ASP.NET MVC 简单介绍①

    ASP.NET  MVC 简单介绍① 只做了重要描述,内容出自菜鸟教程网站内容. 目录 1布局 2HTML 帮助器 3.Razor 语法 4.添加样式 5.Layout 6. Controllers ...

  3. 【转】C# 中Linq查询所有上级节点或所有下级节点

    using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net ...

  4. idea 中add configuration

    记住:点击“+”号配置tomcat 第一步当然先得建一个web项目 1.file -> new -> project -Next -> Finish -项目建好了接下来就是配置了 - ...

  5. Linux系统启动过程(通俗易懂)

    前言: Linux是一种自由和开放源代码的类UNIX操作系统.该操作系统的内核由林纳斯·托瓦兹在1991年10月5日首次发布.在加上用户空间的应用程序之后,成为Linux操作系统.Linux是自由软件 ...

  6. 版本管理工具小乌龟TortoiseGit的安装和使用(2)

    内容中包含 base64string 图片造成字符过多,拒绝显示

  7. GIT 初始化 中文编码、自动换行

    解决中文编码: git config --global core.quotepath false git config --global gui.encoding utf-8 解决git log 中文 ...

  8. oracle中的SQL优化

    一.SQL语言的使用1.IN 操作符    用IN写出来的SQL的优点是比较容易写及清晰易懂,这比较适合现代软件开发的风格.    但是用IN的SQL性能总是比较低的,从ORACLE执行的步骤来分析用 ...

  9. JavaScript超酷时钟的制作

    <!DOCTYPE html PUBLIC "-//W3C//h2D XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  10. Python-接口自动化(四)

    python基础知识(四) (四)处理文件 a.文件的格式主要有txt.html.xml,接下来主要讲的是txt格式的文件处理 对文件进行读写等操作会用到的函数是open(),第一个参数file是指传 ...