JavaEE Filter敏感詞過濾的辦法實例詳解。本站提示廣大學習愛好者:(JavaEE Filter敏感詞過濾的辦法實例詳解)文章只能為提供參考,不一定能成為您想要的結果。以下是JavaEE Filter敏感詞過濾的辦法實例詳解正文
我們在聊天的時刻的或許留言的時刻,有部門詞是不許可揭橥出來。我們可以采取過濾器完成這個功效。
我們只是簡略應用過濾器完成這個過濾的功效,有些處所沒寫的很全
前台代碼:
<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外面的代碼:
僅僅只是把早年台收的數據讀掏出來。看外面的敏感詞是都過濾。
代碼:
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,所以我們只須要在半路將其攔阻,修正外面的值便可以完成過濾了。采取了包裝的設計形式;
過濾器代碼:
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類來修正外面我們須要用到的函數。
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;
}
為了便利保護,我們的敏感辭匯的獲得專門寫了一個對象,便利取,固然也便利治理員添加出來。
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外面的數據存到數據庫中,便利保護,固然也能夠寫增刪改查等
}
在這裡,只需含有這個詞的,全體會釀成*
後果圖;
總結:過濾器的壯大,可以修正request和response對象一路,你須要調甚麼函數,我們便可以采取包裝設計形式的方法修正這個函數,釀成我們想要的後果,這個和署理設計形式有點相似。
以上所述是小編給年夜家引見的應用JavaEE filter 過濾敏感詞的辦法的相干常識,願望對年夜家有所贊助,假如年夜家有任何疑問請給我留言,小編會實時答復年夜家的。在此也異常感激年夜家對網站的支撐!