Filter过滤器|敏感词汇过滤
生活随笔
收集整理的這篇文章主要介紹了
Filter过滤器|敏感词汇过滤
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 一、需求及分析
- 二、過濾器
- 三、xml配置
- 四、測試sevlet
一、需求及分析
(1)對錄入的數據進行敏感詞匯過濾。
(2)敏感詞匯參考 敏感詞匯.txt文檔
(3)如果是敏感詞匯,替換為"***"。
分析:使用代理模式對request對象進行增強,增強獲取參數相關方法(getParameter等)。然后放行,傳遞代理對象。以getParameter為例,getParameterMap,getParameterValue與getParameter的邏輯一樣。
二、過濾器
- @WebFilter(value="/*"):使用注解配置,對所有的servlet都進行過濾。
- 注意在init()方法中將敏感詞匯.txt文件中的每一條敏感語句都放進了list集合中,這個使用流操作的方式要熟練。
- 使用流操作默認使用gbk編碼,所以注意要將敏感詞匯.txt中的編碼也該改為gbk。
- 在src下創建了一個名為"敏感詞匯.txt"的文件,其中的敏感詞匯如下:
三、xml配置
<?xml version="1.0" encoding="UTF-8"?> <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/javaeehttp://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" ><display-name></display-name><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list><servlet><description>This is the description of my J2EE component</description><display-name>This is the display name of my J2EE component</display-name><servlet-name>testServlet</servlet-name><servlet-class>com.gql.filter.testServlet</servlet-class></servlet><servlet-mapping><servlet-name>testServlet</servlet-name><url-pattern>/testServlet</url-pattern></servlet-mapping> </web-app>四、測試sevlet
package com.gql.filter;import java.io.IOException; import java.io.PrintWriter;import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;/*** 類說明:* 測試敏感詞匯* @author qianliangguo*/ public class testServlet extends HttpServlet {@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {String name = req.getParameter("name");String msg = req.getParameter("msg");System.out.println(name+":"+msg);}@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {this.doPost(req, resp);} }在瀏覽器地址欄輸入:http://localhost:8080/Filter/testServlet?name=用戶&msg=嚶嚶嚶,周冬雨你是大壞蛋。返回出的結果如下:
測試成功。
總結
以上是生活随笔為你收集整理的Filter过滤器|敏感词汇过滤的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 适合新手入门的8个python项目_推荐
- 下一篇: xtrabackup安装使用