使用Java程序过滤网页中的一些敏感字符

2014-11-24 07:14:31 · 作者: · 浏览: 0
import java.io.CharArrayWriter;import java.io.PrintWriter;
import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpServletResponseWrapper;

public class Ct  extends HttpServletResponseWrapper {
		private CharArrayWriter output;		// 重写tostring方法		public String toString() {				return output.toString();	}		public Ct(HttpServletResponse response) {		super(response);		this.output=new CharArrayWriter();			}		public PrintWriter getWriter(){				return new PrintWriter(output);			}	}

//过滤器import java.io.IOException;import java.io.PrintWriter;
import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletResponse;

public class HtmlFilter  extends HttpServlet implements Filter{
	public void doFilter(ServletRequest request, ServletResponse response,			FilterChain chain) throws IOException, ServletException {				//设置响应编码 		response.setCharacterEncoding("UTF-8");						PrintWriter out=response.getWriter();				Ct ct=new Ct((HttpServletResponse)response);		//执行下一步		chain.doFilter(request, ct);				String resStr=ct.toString().trim();		String newStr="";				if(resStr.contains("杂种儿")){						newStr=resStr.replaceAll("杂种儿", "***");					}				out.print(newStr);			}
	public void init(FilterConfig filterConfig) throws ServletException {		// TODO Auto-generated method stub			}
		}
//xml配置
  
index. jsp ecodeing HtmlFilter ecodeing *.jsp //jsp页面 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%> <html> My JSP 'index.jsp' starting page 你家吗 杂种儿