由于开发人员在Filter中可以得到代表用户请求和响应的request和response对象,因此在编程中可以使用Decorator(装饰器)模式对request、response对象进行包装,再把包装对象传给目标资源,从而实现一些特殊需求。
Decorator设计模式的实现步骤:
Decorator设计模式的实现步骤:
- 找出被装饰的对象继承了什么接口或父类,编写一个类也去继承这些接口或父类。
- 在类中定义一个变量,变量类型即被装饰对象的类型。
- 在类中定义一个构造函数,接收被装饰的对象。
- 覆盖被装饰对象中需要自行实现的方法,编写方法代码。
本文主要介绍如何使用Decorator装饰设计模式在过滤器中包装一个request对象的装饰类,从而解决全站范围内的request(get、post)和response中的参数乱码问题。
package com.empiresteven.filter;
import java.io.IOException;
import java.io.UnsupportedEncodingExc