过滤器处理编码问题和敏感词语

过滤器代码
/*


import java.io.IOException;
import java.lang.reflect.*;
import java.util.ArrayList;
import java.util.List;


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.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


public class disFilter implements Filter {
	List <String> list;
	@Override
	public void init(FilterConfig arg0) throws ServletException {
		list = new ArrayList<String>();
		list.add("MMP");
		list.add("NND");
	}	
	@Override
	public void destroy() {
		
	}
	@Override
	public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain chain)
			throws IOException, ServletException {
		   final HttpServletRequest req = (HttpServletRequest) arg0;
		   final HttpServletResponse res = (HttpServletResponse) arg1;
		
		   req.setCharacterEncoding("utf-8");
		   res.setContentType("text/html,charset=utf8");


		   HttpServletRequest proxy = (HttpServletRequest) Proxy.newProxyInstance(
		   req.getClass().getClassLoader(),
		   new Class[] {HttpServletRequest.class},
		   new InvocationHandler() {
			public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
				Object returnValue = null;
				
				String methodName = method.getName();
				
				if("getParameter".equals(methodName)){
					String value = req.getParameter(args[0].toString());
					
					String mothodSubmit = req.getMethod();
					if("GET".equals(mothodSubmit)){
						if(value!=null && !"".equals(value.trim())){	
						value = new String(value.getBytes("UTF-8"),"UTF-8");
						}
					}	
				for(String str :list){
					System.out.println(value);
					System.out.println(str);
					System.out.println(value.contains(str));
					if(value.contains(str)){
						System.out.println("爱你麻痹");
						value = value.replace(str, "我爱掌盟");
					}
				}
				System.out.println("123");
					return value;										
				}else{
					returnValue = method.invoke(req, args);
				}
				return returnValue;
			}
		});
		   chain.doFilter(proxy, res);
	}
}



*/


servlet部分:

/*



package Demo;


import java.io.IOException;
import java.io.PrintWriter;
import java.text.Format;


import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


public class disServlet extends HttpServlet {


	
	public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
         this.doPost(request, response);
	}




	public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        
		String content = request.getParameter("content");
		
		request.setAttribute("content", "content"+content);
		//转发
		request.getRequestDispatcher("/dis.jsp").forward(request, response);
	   
	}


}*/


猜你喜欢

转载自blog.csdn.net/erchouchou/article/details/80619979
今日推荐