责任链或过滤器模式1-使用过滤器

来源:互联网 发布:防止js注入 编辑:程序博客网 时间:2024/05/16 09:58
//过滤器接口public interface Filter {public String doFilter(String str);}
//HTML的过滤器public class HTMLFilter implements Filter{@Overridepublic String doFilter(String str) {if(str==null)return "";str=str.replace("<", "[");str=str.replace(">", "]");return str;}}
//敏感词的过滤器public class SensitiveFilter implements Filter{@Overridepublic String doFilter(String str) {if(str==null)return "";str=str.replace("敏感", "mingan");return str;}}
//字符串过滤的处理类public class Process {private String str;//把要使用的过滤器写在一起过滤的数组中Filter[] filters={new HTMLFilter(),new SensitiveFilter()};//过滤的处理方法public String process(){for(Filter filter : filters){str=filter.doFilter(str);}return str;}public String getStr() {return str;}public void setStr(String str) {this.str = str;}}
public class Client {public static void main(String[] args) {String str="这是我的一个敏感链接<a>优酷</a>";Process pro=new Process();pro.setStr(str);str=pro.process();System.out.println(str);}/** * 运行结果: * 这是我的一个mingan链接[a]优酷[/a] */}
原创粉丝点击