public class BadWordFilter { #region 变量 private HashSet hash = new HashSet(); private byte[] fastCheck = new byte[char.MaxValue]; private byte[] fast....
过滤器(Filter),功能非常的强大,是Servlet中最重要的技术之一,WEB应用的开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态图片文件或静态 html 文件等进行拦截,从而实现一些特殊的功能。例如实现URL级别的权限访问控制、过滤敏感词汇、压缩响应信息等一些高级功能。
Servlet API中提供了一个Filter接口,开发web应...
分类:
编程语言 时间:
2015-02-05 18:30:44
阅读次数:
254
敏感词过滤,国内混的同学看到这个都会会心一笑。其实敏感词过滤,在几乎所有国家都是存在的,只是表现的形式并不完全相同而已。
既然这个功能叫做关键词过滤,那么做在过滤器中,应该是一个好主意。
1、JAVA实现利用过滤器实现敏感信息过滤
过滤器的JAVA代码:
package com.filter;
import java.io.BufferedReader;
import java.io....
分类:
编程语言 时间:
2015-02-05 18:27:22
阅读次数:
246
有很多的数据,更新的频率很低,比如中国行政区划,为避免每次都要从数据库查询,因此可把这些数据放在中,提高系统响应速度。
这种功能可以在很多的地方实现,也可以在过滤器中完成。
我们在上一节说了敏感词过滤器,每一次数据都要读取文件,好像效率稍微低了点,我们把这个加到缓存中吧。
1、JAVA实现利用过滤器实现敏感信息过滤
过滤器的JAVA代码:
package com.filter;
...
分类:
编程语言 时间:
2015-02-05 18:26:53
阅读次数:
193
系列目录:Java内存模型深度解析:基础部分Java内存模型深度解析:重排序Java内存模型深度解析:顺序一致性Java内存模型深度解析:volatileJava内存模型深度解析:锁Java内存模型深度解析:finalJava内存模型深度解析:总结并发编程模型的分类在并发编程中,我们需要处理两个关键...
分类:
编程语言 时间:
2015-01-26 11:46:11
阅读次数:
277
1.DFA算法
DFA算法的原理可以参考这里,简单来说就是通过Map构造出一颗敏感词树,树的每一条由根节点到叶子节点的路径构成一个敏感词,例如下图:
代码简单实现如下:
public class TextFilterUtil {
//日志
private static final Logger LOG = LoggerFactory.getLogger(TextFi...
分类:
编程语言 时间:
2015-01-19 14:28:36
阅读次数:
220
原文:经典算法题每日演练——第八题 AC自动机 上一篇我们说了单模式匹配算法KMP,现在我们有需求了,我要检查一篇文章中是否有某些敏感词,这其实就是多模式匹配的问题。
当然你也可以用KMP算法求出,那么它的时间复杂度为O(c*(m+n)),c:为模式串的个数。m:为模式串的长度,n:为正文的长度,那...
分类:
编程语言 时间:
2015-01-16 12:48:17
阅读次数:
374
敏感词过滤SensitivewordFilter.javapackage aaa;import java.util.HashSet;import java.util.Iterator;import java.util.Map;import java.util.Set;import java.util...
分类:
其他好文 时间:
2015-01-07 10:33:43
阅读次数:
217