亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JAVA如何使用動態代理對象進行敏感字過濾

發布時間:2021-09-28 14:46:45 來源:億速云 閱讀:205 作者:小新 欄目:編程語言

這篇文章將為大家詳細講解有關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<String> list = new ArrayList<String>(); //敏感詞匯集合  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如何使用動態代理對象進行敏感字過濾”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

海城市| 宁阳县| 磐石市| 井研县| 偏关县| 大洼县| 怀仁县| 河间市| 柘荣县| 大同市| 门头沟区| 大洼县| 阿勒泰市| 湄潭县| 霍林郭勒市| 锦州市| 临泽县| 昭苏县| 铁岭市| 拉萨市| 山阴县| 江北区| 抚宁县| 宁德市| 五台县| 东阳市| 嫩江县| 南郑县| 襄樊市| 南川市| 甘孜县| 海门市| 苍南县| 鄂尔多斯市| 鹤峰县| 资阳市| 繁峙县| 东海县| 从江县| 泗洪县| 石泉县|