一个历史项目,客户要求改ip,由于系统较为久远,没有源代码,通过反编译后发现ip写死在类中,反编译后的代码基本没法进行修改,分析了代码后,发现与ip相关的内容为返回到页面中的字符串,所以,想到了使用Filter,在Filter中处理这些字符串,觉得可行,便查询了一些资料,试验成功。以下这个类是从网上找到的,试验成功后发现页面已经关了,对原作者表示抱歉的同时表示感谢。
package org.mice.ipchange;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpServletResponseWrapper;
public class ResponseWrapper extends HttpServletResponseWrapper {
private ByteArrayOutputStream buffer = null;
private ServletOutputStream out = null;
private PrintWriter writer = null;
public ResponseWrapper(HttpServletResponse resp) throws IOException {
super(resp);
buffer = new ByteAr