新聞中心
java如何快速過濾掉某個字符串包含的最長的一個詞
java快速過濾掉某個字符串包含的最長的一個詞方法:把敏感詞的第一個字符取出來,作為比較對象。遍歷整個字符串,如果發(fā)現(xiàn)字符跟敏感詞第一個字符相同,就從字符串取出跟關(guān)鍵詞相同長度的子串比較,如果相同就替換。本算法比較適合敏感詞都不長的場合。Java是一門面向?qū)ο蟮木幊陶Z言,不僅吸收了C++語言的各種優(yōu)點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特征。Java語言作為靜態(tài)面向?qū)ο缶幊陶Z言的代表,極好地實現(xiàn)了面向?qū)ο罄碚摚试S程序員以優(yōu)雅的思維方式進行復(fù)雜的編程。
我們提供的服務(wù)有:成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、四子王ssl等。為上千企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的四子王網(wǎng)站制作公司
java過濾非法字符的filter
filter代碼在pujia12345提供的代碼上改的;
jsp頁面的編碼你設(shè)成你自己的,我用的是utf-8。
input.jsp輸入后,正常跳轉(zhuǎn)到handle.jsp,而禁詞已經(jīng)被過濾。
filter:
package test;
import java.io.*;
import javax.servlet.*;
import java.util.*;
public class MyFilter implements Filter
{
private ListString unString;
public void init(FilterConfig filterConfig) throws ServletException
{
unString = new ArrayListString();
unString.add("日");
}
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException
{
String content = request.getParameter("content");//需要過濾的參數(shù)
if(content!=null){
for (int i = 0; i unString.size(); i++)
{
String strIllegal = unString.get(i);
if (content.indexOf(strIllegal) = 0)
{
content = content.replaceAll(strIllegal, "");//非法字符替換成空
}
request.setAttribute("content", content);//為request設(shè)置屬性保存修改后的值
}
}
chain.doFilter(request, response);
}
public void destroy()
{
//System.out.println("過濾器銷毀");
}
}
//---------------------------//
web.xml:
filter
filter-namemyfilter/filter-name
filter-classtest.MyFilter/filter-class
/filter
filter-mapping
filter-namemyfilter/filter-name
url-pattern/*/url-pattern
/filter-mapping
//---------------------------//
輸入頁面input.jsp:
%@page contentType="text/html;charset=utf-8"%
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ""
html xmlns=""
head
titleinput.jsp/title
/head
body
form action="handle.jsp" method="post"
input type="text" name="content" /
input type="submit" value=" 提交 " /
/form
/body
/html
//---------------------------//
input提交的頁面handle.jsp:
%@page contentType="text/html;charset=utf-8"%
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ""
html xmlns=""
head
title handle.jsp /title
/head
body
%
String content = (String)request.getAttribute("content");
out.println(content);
%
/body
/html
filter的使用 java 過濾器的幾種使用方法
過濾器
過濾器是處于客戶端與服務(wù)器資源文件之間的一道過濾網(wǎng),在訪問資源文件之前,通過一系列的過濾器對請求進行修改、判斷等,把不符合規(guī)則的請求在中途攔截或修改。也可以對響應(yīng)進行過濾,攔截或修改響應(yīng)。
如圖,瀏覽器發(fā)出的請求先遞交給第一個filter進行過濾,符合規(guī)則則放行,遞交給filter鏈中的下一個過濾器進行過濾。過濾器在鏈中的順序與它在web.xml中配置的順序有關(guān),配置在前的則位于鏈的前端。當(dāng)請求通過了鏈中所有過濾器后就可以訪問資源文件了,如果不能通過,則可能在中間某個過濾器中被處理掉。
在doFilter()方法中,chain.doFilter()前的一般是對request執(zhí)行的過濾操作,chain.doFilter后面的代碼一般是對response執(zhí)行的操作。過濾鏈代碼的執(zhí)行順序如下:
過濾器一般用于登錄權(quán)限驗證、資源訪問權(quán)限控制、敏感詞匯過濾、字符編碼轉(zhuǎn)換等等操作,便于代碼重用,不必每個servlet中還要進行相應(yīng)的操作。
當(dāng)前文章:過濾敏感詞java代碼的簡單介紹
本文來源:http://www.dlmjj.cn/article/doisjij.html