一个过滤敏感词的filter,看书学到的,小结之:
原理是将内容输出到response时,response将缓存起来,在filter中替换,然后再输出到客户端浏览器.因为默认的response不能缓存输出内容,
因此要自定义response,可以通过扩展HttpServletResponseWrapper 获得,
import java.io.CharArrayWriter;
import java.io.IOException;
import
java.io.PrintWriter;
import javax.servlet.http.HttpServletResponse;
import
javax.servlet.http.HttpServletResponseWrapper;
public class HttpCharacterResponseWrapper extends HttpServletResponseWrapper
{
private CharArrayWriter charArrayWriter = new CharArrayWriter();
public HttpCharacterResponseWrapper(HttpServletResponse response)
{
super(response);
}
@Override
public PrintWriter getWriter() throws IOException
{
return new PrintWriter(charArrayWriter);
}
public CharArrayWriter getCharArrayWriter() {