Unterschiede zwischen ServletResponse und HttpServletResponseWrapper?

Ich bin neu auf servlet und Lesen von text zu filtern und Wrappern. Ich kann verstehen, Filter, aber verwirrt über Wrapper. In dem Buch, der Autor gibt ein Beispiel:

Falls kein Deckblatt:

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) {
        }
    }

Im Falle der wrapper:

 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) {
        }
    }

Warum müssen wir HttpServletResponseWrapper wir können zwar tun die gleiche Sache mit ServletResponse im Fall 1? Kann mir jemand ein klares Beispiel dafür, dass wir verwenden HttpServletResponseWrapper statt ServletResponse? Ich habe versucht zu google, fand aber kein Glück.

InformationsquelleAutor der Frage ipkiss | 2011-08-11

Schreibe einen Kommentar