Java ServletAPI-过滤器响应包装器

Java ServletAPI-过滤器响应包装器,java,servlets,filter,servlet-filters,servlet-3.0,Java,Servlets,Filter,Servlet Filters,Servlet 3.0,我是Servlet编程新手,我对包装响应有一个问题。因为我不知道什么时候用它。例如,我有过滤器和servlet,如下所示。 过滤器 public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException { chain.doFilter(req, resp); HttpServletRespo

我是Servlet编程新手,我对包装响应有一个问题。因为我不知道什么时候用它。例如,我有过滤器和servlet,如下所示。
过滤器

public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException {    
        chain.doFilter(req, resp);
        HttpServletResponse httpServletResponse = (HttpServletResponse)resp;
        httpServletResponse.getWriter().println("hi from filter");
    }
Servlet

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {    
        response.getWriter().println("Hi from servlet");
    }
那么,它们之间有什么区别呢?我可以通过使用相同的响应对象来使用它们来编写代码,因为在servlet和过滤器之间存在全双工方式(诚恳地说,相同的请求和响应实例进入servlet并再次进入过滤器),不是吗?我有点困惑。我很感激你能给我一个很好的场景,可以很明显地展示包装类的目标。
感谢和问候:(

)如果你不想在响应中附加什么东西,但要转换servlet发送的内容(比如在中间添加东西,或者用其他块替换块,或者压缩)?实际上这不是包装或装饰,这只是在铸造…如果你不想在响应中添加什么,但是转换servlet发送的内容(比如在中间添加东西,或者用其他块替换块,或者压缩)?实际上这不是包装或装饰,这只是铸造…