java按时间禁言,自学Java第94天

现在在网上发一些什么文字

若是涉及到一些粗鄙之语就会被屏蔽掉

要么警告、那么禁言甚至是封禁账号

那它是怎么实现的呢?

使用昨天学的过滤器就可以实现

我写了一个屏蔽敏感词的案例

大致地说一下其实现思路:

有一个form表单文本域加上按钮

要对文本域中用户输入的数据校验

创建一个过滤器

路径对应就是form表单的提交路径

其主要有init()方法和doFilter()方法

在init方法中需要获取敏感词有哪些

敏感词不少,按照分类分成很多文件

每行前面是敏感词,后面是级别,用|隔开

再将这些文件放入一个文件夹中

在init方法中根据路径获取该文件夹

遍历获取里面的各个文件

使用IO流中的缓冲流一行一行地读取文件

其中要是用split方法将每一行的内容切割开

以|为界,0索引位位敏感词,1索引位为级别

根据不同的级别存入不同的敏感词集合中

在doFilter中获取用户输入的数据

遍历init方法中获取的三类敏感词集合

将用户输入的数据和其正则匹配

若是匹配一样,就警示用户

当然可以根据级别做不同的处理

我这边就只是模拟了警示用户的情况

方法是在request域对象中存入警示信息

在前端页面中使用El表达式获取域对象的消息

以上就是对实现思路的说明​,果然:

这代码写出了和将思路说出来还真是两码事

-​

总觉得自己讲的不清楚

又想说的面面俱到但是又觉得太啰嗦

说不定还有些说错了,只能说还得多练吧

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值