Захват сгенерированного динамического контента на стороне сервера

ичок в сервлете и читаю текст о фильтрах и обертках. Я могу понять фильтры, но запутался в обертках. В книге автор приводит пример:

Если нет обертки:

public void doFilter(ServletRequest request, ServletResponse response,
            FilterChain chain)
            throws IOException, ServletException {

        String name = request.getParameter("name").trim();

        try {
            chain.doFilter(request, response);
            PrintWriter out = response.getWriter();
            if (name.length() == 0) {
                out.println("Some message");
                out.println("</body>");
                out.println("</html>");
                out.close();
            }
        } catch (Throwable t) {
        }
    }

В случае обертки:

 public void doFilter(ServletRequest request, ServletResponse response,
            FilterChain chain)
            throws IOException, ServletException {

        String name = request.getParameter("name").trim();

        HttpServletResponse httpRes = (HttpServletResponse) response;
        HttpServletResponseWrapper resWrapper = new HttpServletResponseWrapper(httpRes);
        try {
            chain.doFilter(request, response);

            PrintWriter out = resWrapper.getWriter(); // why dont we just use response.getWriter();
            if (name.length() == 0) {
                out.println("<h3>Some message");
                out.println("</body>");
                out.println("</html>");
                out.close();
            }
        } catch (Throwable t) {
        }
    }

Зачем намHttpServletResponseWrapper в то время как мы можем сделать то же самое сServletResponse в случае 1? Может ли кто-нибудь дать мне четкий пример, который мы ДОЛЖНЫ использоватьHttpServletResponseWrapper вместоServletResponse? Я пытался гуглить, но не нашел удачи.

Ответы на вопрос(2)

Ваш ответ на вопрос