public void writeResponse(PrintWriter out) 
  {
   out.print( output.toCharArray() );
  }这个方法很清楚啊 拦截住原来内容,而向客户端输出output的内容

解决方案 »

  1.   

    我的意思是,你自己定义的方法,为什么doFilter会调用
      

  2.   

    我的filter就是把 new 了一个FileCaptureResponseWrapper对象比如叫fres,传入doFilter方法执行了一下,
    然后fres.toString(),就能捕获返回的数据,我是不明白这背后的机制,为什么就通过包装的这个类,就能截获返回的数据,这些自己定义的方法和变量,怎么保证会被执行
      

  3.   

    callBack函数,容器会自动识别这些函数并调用.
      

  4.   

    上面兄弟能详细说说吗?我怎么知道容器会调用哪几个函数啊,
    从而确定我必须override哪个函数呢?
      

  5.   

    一般ide工具就可以查看HttpServletResponseWrapper提供了哪些method啊?
      

  6.   

    就像applet的 init ,start函数能被浏览器调用一样这是一样的道理
      

  7.   

    我怎么知道容器会调用哪几个函数啊,
    从而确定我必须override哪个函数呢?HttpServletResponseWrapper
    有那么多函数,为什么只重写了这几个呢?
      

  8.   

    去看看servlet fileter SPEC