10.2 Servlet装饰类

10.2 Servlet装饰类

Servlet装饰类源自于4个实现类,它很少被使用,但是十分强大:ServletRequestWrapperServletResponseWrapper以及HttpServletRequestWrapperHttpServletResponseWrapper
这几个装饰类非常便于使用,因为它提供了每个方法的默认实现:
ServletRequest封闭的配置方法。通过继承ServletRequestWrapper,只需要实现你需要变更的方法就可以了。如果不用ServletRequestWrapper,则需要继承ServletRequest并实现ServletRequest中所有的方法。

装饰器设计模式中ServletRequestWrapper的类图如下图所示。Servlet容器在每次Servlet服务调用时创建ServletRequestContainerImpl直接继承ServletRequestWrapper就可以装饰ServletRequest
这里有一张图片