10.2 Servlet装饰类
10.2 Servlet装饰类
Servlet
装饰类源自于4个实现类,它很少被使用,但是十分强大:ServletRequestWrapper
、ServletResponseWrapper
以及HttpServletRequestWrapper
、HttpServletResponseWrapper
。
这几个装饰类非常便于使用,因为它提供了每个方法的默认实现:
即ServletRequest
封闭的配置方法。通过继承ServletRequestWrapper
,只需要实现你需要变更的方法就可以了。如果不用ServletRequestWrapper
,则需要继承ServletRequest
并实现ServletRequest
中所有的方法。
装饰器设计模式中ServletRequestWrapper
的类图如下图所示。Servlet
容器在每次Servlet
服务调用时创建ServletRequest
、ContainerImpl
。直接继承ServletRequestWrapper
就可以装饰ServletRequest
了。