一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - JavaEE Filter敏感詞過濾的方法實例詳解

JavaEE Filter敏感詞過濾的方法實例詳解

2020-05-01 13:20YX_blog JAVA教程

我們無論是在聊天還是在留言時,都有一些信息不希望別人看到。那么如果過濾這些關鍵詞呢?下面小編給大家分享JavaEE Filter敏感詞過濾的方法實例詳解,感興趣的朋友一起學習吧

 我們在聊天的時候的或者留言的時候,有部分詞是不允許發表出來。我們可以采用過濾器實現這個功能。

我們只是簡單利用過濾器實現這個過濾的功能,有些地方沒寫的很全

前臺代碼:

?
1
2
3
4
5
6
7
<body>
<form action="<c:url value='/WordServlet'/>" method="post">
姓名:<input type="text" name="name"/><br/>
留言內容:<textarea rows="10" cols="10" name="textarea"></textarea><br/>
<input type="submit" value="提交"/>
</form>
</body>

Servlet里面的代碼:

JavaEE Filter敏感詞過濾的方法實例詳解

僅僅只是把從前臺收的數據讀取出來??蠢锩娴?a href="/article/1285.html">敏感詞是都過濾。

代碼:

?
1
2
3
4
5
6
7
8
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String name =request.getParameter("name");//名字
String text=request.getParameter("textarea");//瀏覽內容
PrintWriter pw =response.getWriter();
pw.println("name="+name);//這里直接輸出,僅僅只是為了查看能否過濾那些關鍵字。。
pw.print("內容"+text);
}

過濾器:

過濾的作用就可以體現了,過濾器的是在客戶端訪問服務器的之間進行攔截的。

我們知道過濾器能夠控制request和response,所以我們能夠對這個進行下手。

從客戶端請求是request,所以我們只需要在半路將其攔截,修改里面的值就可以實現過濾了。采用了包裝的設計模式;

過濾器代碼:

?
1
2
3
4
5
6
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest req=(HttpServletRequest) request;
MyFilter myf =new MyFilter(req);
chain.doFilter(myf, response);//采勇我們加強的類的request,傳給后面的servlet使用
}

自己手動寫一個myFilter類來修改里面我們需要用到的函數。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class MyFilter extends HttpServletRequestWrapper{
//這是采用包裝模式
public MyFilter(HttpServletRequest request) {
super(request);
}
@Override //從寫這個方法
public String getParameter(String name) {
String words =super.getParameter(name);
System.out.println(words);//過濾前的文字
List<String> list=WordUtils.getword();
for(String ll:list){
words=words.replace(ll, "*");//敏感詞匯采用**代替
}
return words;
}

為了方便維護,我們的敏感詞匯的獲取專門寫了一個工具,方便取,當然也方便管理員添加進去。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public class WordUtils {
//采用單例模式
private static List<String> list =new ArrayList<String>();//我們可以從這訪問數據庫中存的敏感詞匯,封裝成list返回
static {//手動添加幾個
list.add("坑貨");
list.add("罵人");
list.add("傻逼");
}
public static List<String> getword(){
return list;
}
public static void addWord(String name){
list.add(name);
}
public static void sava(){
//這里可以list里面的數據存到數據庫中,方便維護,當然也可以寫增刪改查等
}

在這里,只要含有這個詞的,全部會變成*

效果圖;

JavaEE Filter敏感詞過濾的方法實例詳解

總結:過濾器的強大,可以修改request和response對象一起,你需要調什么函數,我們就可以采用包裝設計模式的方式修改這個函數,變成我們想要的效果,這個和代理設計模式有點類似。

以上所述是小編給大家介紹的使用JavaEE filter 過濾敏感詞的方法的相關知識,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产裸舞在线一区二区 | 亚洲天堂中文 | 成人国产在线播放 | 青青草原社区 | 热99在线观看 | 91插视频 | 思思玖玖玖在线精品视频 | 99久久一香蕉国产线看观看 | 亚州在线播放 | 22222色男人的天堂 | 成人小视频在线观看 | 日韩一区在线播放 | 91视频国产一区 | 青草草在线| 丫鬟粗大狠狠贯穿h | 娇妻与公陈峰姚瑶小说在线阅读 | 久久久精品日本一区二区三区 | 四虎影院在线免费观看 | 免费理伦片高清在线 | 午夜视频一区二区三区 | 国产欧美日韩精品在线 | 蜜桃影像传媒推广 | 国产一卡2卡3卡四卡国色天香 | 放荡警察巨r麻麻出轨小说 范冰冰特黄xx大片 饭冈加奈子在线播放观看 法国老妇性xx在线播放 | ady@ady9.映画网| 动漫精品午夜在线播放 | 亚洲国产美女精品久久 | 男女全黄h全肉细节文 | a级黄色片免费 | 91短视频版高清在线观看免费 | 茄子视频懂你更多apl | 国产福利专区精品视频 | 国产高清在线播放免费观看 | 国产精品99精品久久免费 | 四虎综合九九色九九综合色 | 欧美日韩视频在线第一区二区三区 | 青青操在线 | 国产成人精品一区二区不卡 | 男生同性视频twink在线 | 亚洲成av人影院 | 美女下面揉出水免费视频 |