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实现脏话屏蔽功能相关推荐

  1. 新浪微博推出具有中国特色的“关注但屏蔽”功能

    关注一个人,又偷偷屏蔽他,这项功能有人称之"虚伪",有人称之"贴心". 请听题,如何礼貌地回答熟人的这个问题:"你为什么取消了微博上对我的关注?&qu ...

  2. Java技术:SpringBoot实现邮件发送功能

    邮件发送功能基本是每个完整业务系统要集成的功能之一,今天小编给大家介绍一下SpringBoot实现邮件发送功能,希望对大家能有所帮助! 今天主要给大家分享简单邮件发送.HTML邮件发送.包含附件的邮件 ...

  3. 自动打包linux,Linux环境下Springboot自动打包发布功能

    实现核心功能:完成Linux环境下Springboot自动打包发布功能 详细功能: 自动更新Svn最新代码 删除原有打包文件 自动打包 将打包之后的项目文件复制到其他服务器 关闭本地项目进程 重新启动 ...

  4. Springboot底层注解(容器功能)

    1.组件添加 1.1.@Configuration 我们在这里准备了两个组件,宠物类和用户类,用户类包含用户姓名和年龄,宠物类包含宠物名 public class User {public Strin ...

  5. 通过HttpModule实现IP地址屏蔽功能

    此前本想在网上找找实现Asp.Net的IP地址屏蔽功能的文章来参考,但是一搜索"IP 屏蔽 asp.net",出现的全都是: 这些都是对我此前写的<细说Asp.net的IP地 ...

  6. Springboot具有智能推荐功能的外卖点餐系统bia14计算机毕业设计-课程设计-期末作业-毕设程序代做

    Springboot具有智能推荐功能的外卖点餐系统bia14计算机毕业设计-课程设计-期末作业-毕设程序代做 [免费赠送源码]Springboot具有智能推荐功能的外卖点餐系统bia14计算机毕业设计 ...

  7. JS屏蔽功能类(屏蔽F5,退格键,空格键......

    1.屏蔽功能类ITPUB个人空间Ar~${ d8L4Y ITPUB个人空间0O:n2A d;w s 1.1 屏蔽键盘所有键ITPUB个人空间\3Z0Ce5{ 4i#tb(G` \22328375< ...

  8. c语言用星号输出国旗,“你知道脏话屏蔽是用星号的吧?”“对啊,怎么了?”...

    小狼从小到大,只吃素不吃肉,更不捕猎物!为此狼爸妈十分忧虑,想尽各种办法让他成为真正的狼,可惜都失败了!有一天狼爸妈看见小狼气势汹汹狂追一只小兔,心里十分高兴!抓住后只见小狼掐住小兔,面目狰狞的吼道: ...

  9. Springboot集成社交登录功能(微博登录)以及Session共享

    Springboot集成社交登录功能 pom <dependency><groupId>org.apache.httpcomponents</groupId>< ...

最新文章

  1. hdu1160FatMouse's Speed(DP)
  2. CenterFusion: 基于Radar和Camera融合的3D检测算法
  3. 深入理解WMS(四):从WMS的角度分析Activity之间的关系
  4. NTU 课程笔记:CV6422 样本分布
  5. python socket发送组播数据_Python socket 如何实现广播单播切换
  6. win7连接sftp_SFTP远程连接服务器上传下载文件-vs2013项目实例
  7. 云中台技术架构_为什么开放基础架构在云中很重要
  8. 结对开发——一维数组最大子数组判断溢出
  9. struts2 s:selects:radio 标签用法
  10. daily scrum 12.2
  11. H3C PBR(策略路由)实验
  12. vue 获取汉字的全拼、简拼、首拼
  13. [Spring]~@Valid(实体类参数校验)
  14. 2022煤炭生产经营单位(安全生产管理人员)判断题及在线模拟考试
  15. mac运行ps特别慢_Mac Mac运行越来越慢?变卡顿?试试看这些加快小诀窍!
  16. 提升代码覆盖率的经验
  17. FMDB And Dao
  18. 小波在图像融合中的应用
  19. 给大家推荐一位我佩服的Python工程师
  20. 寒食 —— [当代] 光剑

热门文章

  1. html调用外部js文件乱码,引用的js文件有中文时乱码
  2. [附源码]java毕业设计生产型企业员工管理系统
  3. 飞桨PaddlePaddle(论文复现)-BigGAN解读
  4. 网络安全基础知识学习之Web安全百问百答
  5. 安捷伦Signal Generators Programming Guide 记录
  6. 设置网页便签 html5,基于jQuery的页面便签插件
  7. 使用PyInstaller将Pygame库编写的小游戏程序打包为exe文件
  8. python对新媒体运营的帮助_做新媒体运营有什么好处
  9. 开源音乐播放器_使用开源音乐播放器设计生活中的配乐
  10. Matlab基本语法(一)