教育行业A股IPO第一股(股票代码 003032)

全国咨询/投诉热线:400-618-4000

问答>JavaEE>Filter过滤器有哪些高级应用?

Filter过滤器有哪些高级应用?

来源传智教育2022年04月21日 15时28分47秒

  Filter过滤器除了可以获取到代表用户请求和响应的request、response对象,还可以对request和response对象中的任何信息进行修改,可以通过包装类来实现。在Servlet API中,提供了HttpServletRequestWrapper和HttpServletResponseWrapper两个类,它们分别是request和response对象的包装类。

  HttpServletRequestWrapper和HttpServletResponseWrapper作为request和response对象的包装类,都采用了装饰设计模式。所谓装饰设计模式,指的是通过包装类的方式,动态增强某个类的功能。想要更好地理解装饰设计模式,需要了解装饰设计模式的3个特点。

  (1)包装类要和被包装对象实现同样的接口。

  (2)包装类持有一个被包装对象,例如,在HttpServletRequestWrapper定义的构造方法中,需要传递一个HttpServletRequestWrapper类型的参数。

  (3)包装类在实现接口的过程中,对于不需要包装的方法原封不动地调用被包装对象的方法来实现,对于需要包装的方法自己实现。

和我们在线交谈!