每天进步一点点----敏感词过滤

敏感词过滤---一些关键代码自我练习
index.jsp
<body>
    <form action="<c:url value='/NoteServlet'/>" method="post">
    姓名:<input type="text" name="name"/><br/>
    <textarea rows="20" cols="10" name="note">
    留言信息:<br/>
    </textarea><br/>
    <input type="submit"/>
    </form>

NoteServlet.java
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
String name=request.getParameter("name");
String note=request.getParameter("note");
response.setContentType("text/html charset=utf-8");
response.getWriter().println(name+"说:"+note)    }
 

NoteFilter.java
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest req=(HttpServletRequest) request;
//给request做包装;
MyRequset request2=new MyRequset(req);
chain.doFilter(request2, response);
}
class MyRequset extends HttpServletRequestWrapper{
public MyRequset(HttpServletRequest request) {
super(request);
}
@Override
public String getParameter(String name) {

String val=super.getParameter(name);

//WordUtil写的敏感词库;这个词库应该是从数据库读取;项目启动时读取到内存中

List< String> words=WordUtil.getWords();
for(String word:words){
val=val.replaceAll(word, "***");//这里要记得去接;string每次都是新值
}

return val;   }    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值