JAVA如何使用动态代理对象进行敏感字过滤
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章将为大家详细讲解有关JAVA如何使用动态代理对象进行敏感字过滤,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。package com.hopetesting.
千家信息网最后更新 2026年10月31日JAVA如何使用动态代理对象进行敏感字过滤
这篇文章将为大家详细讲解有关JAVA如何使用动态代理对象进行敏感字过滤,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
package com.hopetesting.web.filter;import javax.servlet.*;import javax.servlet.annotation.WebFilter;import java.io.BufferedReader;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang.reflect.Proxy;import java.util.ArrayList;import java.util.List;/** * @author newcityman * @date 2019/9/13 - 19:41 */@WebFilter("/*")public class SensitiveWordsFilter implements Filter { public void destroy() { } public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException { //1、创建代理对象,增强getParameter方法 ServletRequest proxy_req = (ServletRequest) Proxy.newProxyInstance(req.getClass().getClassLoader(), req.getClass().getInterfaces(), new InvocationHandler() { @Override public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { //判断是否是getParameter方法 //如果是,增强getParameter方法 if (method.getName().equals("getParameter")) { //增强返回值 //获取返回值 String value = (String) method.invoke(req, args); if (value != null) { for (String str : list) { if (value.contains(str)) { value = value.replace(str, "******"); } } } return value; } return method.invoke(req, args); } }); chain.doFilter(proxy_req, resp); } private List list = new ArrayList(); //敏感词汇集合 public void init(FilterConfig config) throws ServletException { try { //1、获取文件的真实路径 ServletContext servletContext = config.getServletContext(); String realPath = servletContext.getRealPath("/WEB-INF/classes/敏感词汇.txt"); //2、读取文件 BufferedReader br = new BufferedReader(new FileReader(realPath)); //3、将文件的每一行读取到list中 String line = null; while ((line = br.readLine()) != null) { list.add(line); } br.close(); System.out.println(list); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }} 关于"JAVA如何使用动态代理对象进行敏感字过滤"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
对象
代理
文件
方法
篇文章
动态
更多
词汇
不错
实用
一行
内容
文章
知识
路径
参考
帮助
有关
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
广东猪兼强互联网科技有限公司
中关村互联网科技集团
互联网和科技创新
互联网科技深圳
重庆互联网络科技
科技与互联网发展
宁波青枫互联网科技有限公司
移动互联网科技公司
阿大互联网科技有限公司
速维有品互联网信息科技(苏州)有限公司
互联网科技和法律行业
明优互联网科技有限公司
滨湖区互联网智能科技产品有哪些
黑科技 体验场景 互联网大会
黑云互联网科技有限公司
互联网与数字科技关系
互联网科技包装股份有限公司上市
科技信息时代互联网发展
互联网科技大佬云集
优雇互联网科技有限公司
万易互联网科技有限公司
狮子座互联网科技培训
互联网实体化科技化
互联网科技博主是什么意思
小米互联网科技园设置
阿里互联网科技公司
现代互联网科技股
语蝶互联网科技有限公司
卓翼科技产业互联网合作
北京互联网科技类企业分布