springboot实现脏话屏蔽功能
springboot实现脏话屏蔽功能(简易版)
有的时候在项目开发中,遇到用到对聊天,留言等文字进行扫描判断是否可以正常显示,也就是脏话屏蔽,举个例子:我打LOL的时候喷人的时候系统就不让我输出或者替换成星号,今天我们也做一个简易版的脏话屏蔽功能
1.写一个脏话屏蔽工具类
import org.springframework.stereotype.Component;
import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletRequestWrapper;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@Component
// 过滤路径,过滤器名称
@WebFilter(urlPatterns = "/*", filterName = "testFilter")
public class TestFilter implements Filter {@Overridepublic void init(FilterConfig filterConfig) throws ServletException {}// 过滤@Overridepublic void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain)throws IOException, ServletException {// 获取requestHttpServletRequest request = (HttpServletRequest) servletRequest;// 获取responseHttpServletResponse response = (HttpServletResponse) servletResponse;// 创建脏话过滤规则DirtyWordsHttpServletRequest dirtyWordsHttpServletRequest = new DirtyWordsHttpServletRequest(request);// 执行filterChain.doFilter(dirtyWordsHttpServletRequest, response);}@Overridepublic void destroy() {}// 内部类脏话过滤规则class DirtyWordsHttpServletRequest extends HttpServletRequestWrapper {// 脏话字典、可以直接搜索脏话字典,然后通过io流进行读取和过滤private String[] words = {"傻", "滚", "死"};// 构造方法public DirtyWordsHttpServletRequest(HttpServletRequest request) {super(request);}// 重写getParameter方法@Overridepublic String getParameter(String info) {// 获取传来的参数值String value = super.getParameter(info);// 判断if (value == null) return "没有值";// 执行脏话转换for (String dword : words) {if (value.contains(dword)) value = value.replace(dword, "**");}// 返回过滤有的值return value;}}
}
2.在启动类开启注解注入bean全盘扫描脏话
@ServletComponentScan("com.wyh.unit.TestFilter")//开启脏话过滤
@org.springframework.boot.autoconfigure.SpringBootApplication
public class SpringBootApplication {public static void main(String[] args) {SpringApplication.run(SpringBootApplication.class, args);}
}
3.写一个方法进行测试
@RequestMapping("/zanghua")@ResponseBodypublic String test(HttpServletRequest request) {return request.getParameter("info");}
4.查看效果
总结:其实还是比较简单的,不过我们这个就是简易版的,复杂一些的设计大量繁琐的算法推理,大家有什么补充的欢迎下面留言,晚安!
springboot实现脏话屏蔽功能相关推荐
- 新浪微博推出具有中国特色的“关注但屏蔽”功能
关注一个人,又偷偷屏蔽他,这项功能有人称之"虚伪",有人称之"贴心". 请听题,如何礼貌地回答熟人的这个问题:"你为什么取消了微博上对我的关注?&qu ...
- Java技术:SpringBoot实现邮件发送功能
邮件发送功能基本是每个完整业务系统要集成的功能之一,今天小编给大家介绍一下SpringBoot实现邮件发送功能,希望对大家能有所帮助! 今天主要给大家分享简单邮件发送.HTML邮件发送.包含附件的邮件 ...
- 自动打包linux,Linux环境下Springboot自动打包发布功能
实现核心功能:完成Linux环境下Springboot自动打包发布功能 详细功能: 自动更新Svn最新代码 删除原有打包文件 自动打包 将打包之后的项目文件复制到其他服务器 关闭本地项目进程 重新启动 ...
- Springboot底层注解(容器功能)
1.组件添加 1.1.@Configuration 我们在这里准备了两个组件,宠物类和用户类,用户类包含用户姓名和年龄,宠物类包含宠物名 public class User {public Strin ...
- 通过HttpModule实现IP地址屏蔽功能
此前本想在网上找找实现Asp.Net的IP地址屏蔽功能的文章来参考,但是一搜索"IP 屏蔽 asp.net",出现的全都是: 这些都是对我此前写的<细说Asp.net的IP地 ...
- Springboot具有智能推荐功能的外卖点餐系统bia14计算机毕业设计-课程设计-期末作业-毕设程序代做
Springboot具有智能推荐功能的外卖点餐系统bia14计算机毕业设计-课程设计-期末作业-毕设程序代做 [免费赠送源码]Springboot具有智能推荐功能的外卖点餐系统bia14计算机毕业设计 ...
- JS屏蔽功能类(屏蔽F5,退格键,空格键......
1.屏蔽功能类ITPUB个人空间Ar~${ d8L4Y ITPUB个人空间0O:n2A d;w s 1.1 屏蔽键盘所有键ITPUB个人空间\3Z0Ce5{ 4i#tb(G` \22328375< ...
- c语言用星号输出国旗,“你知道脏话屏蔽是用星号的吧?”“对啊,怎么了?”...
小狼从小到大,只吃素不吃肉,更不捕猎物!为此狼爸妈十分忧虑,想尽各种办法让他成为真正的狼,可惜都失败了!有一天狼爸妈看见小狼气势汹汹狂追一只小兔,心里十分高兴!抓住后只见小狼掐住小兔,面目狰狞的吼道: ...
- Springboot集成社交登录功能(微博登录)以及Session共享
Springboot集成社交登录功能 pom <dependency><groupId>org.apache.httpcomponents</groupId>< ...
最新文章
- hdu1160FatMouse's Speed(DP)
- CenterFusion: 基于Radar和Camera融合的3D检测算法
- 深入理解WMS(四):从WMS的角度分析Activity之间的关系
- NTU 课程笔记:CV6422 样本分布
- python socket发送组播数据_Python socket 如何实现广播单播切换
- win7连接sftp_SFTP远程连接服务器上传下载文件-vs2013项目实例
- 云中台技术架构_为什么开放基础架构在云中很重要
- 结对开发——一维数组最大子数组判断溢出
- struts2 s:selects:radio 标签用法
- daily scrum 12.2
- H3C PBR(策略路由)实验
- vue 获取汉字的全拼、简拼、首拼
- [Spring]~@Valid(实体类参数校验)
- 2022煤炭生产经营单位(安全生产管理人员)判断题及在线模拟考试
- mac运行ps特别慢_Mac Mac运行越来越慢?变卡顿?试试看这些加快小诀窍!
- 提升代码覆盖率的经验
- FMDB And Dao
- 小波在图像融合中的应用
- 给大家推荐一位我佩服的Python工程师
- 寒食 —— [当代] 光剑
热门文章
- html调用外部js文件乱码,引用的js文件有中文时乱码
- [附源码]java毕业设计生产型企业员工管理系统
- 飞桨PaddlePaddle(论文复现)-BigGAN解读
- 网络安全基础知识学习之Web安全百问百答
- 安捷伦Signal Generators Programming Guide 记录
- 设置网页便签 html5,基于jQuery的页面便签插件
- 使用PyInstaller将Pygame库编写的小游戏程序打包为exe文件
- python对新媒体运营的帮助_做新媒体运营有什么好处
- 开源音乐播放器_使用开源音乐播放器设计生活中的配乐
- Matlab基本语法(一)