脏话过滤器
注: 需要全文乱码过滤器的辅助
----------------------------------------------------------------------------------------
public class DirtyWordsFilter implements Filter {
public void init(FilterConfig filterConfig) throws ServletException { }
public void doFilter(ServletRequest req, ServletResponse resp,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response = (HttpServletResponse) resp;
DirtyWordsHttpServletRequest drequest = new DirtyWordsHttpServletRequest(request);
chain.doFilter(drequest, response);
}
public void destroy() { }
}
class DirtyWordsHttpServletRequest extends HttpServletRequestWrapper{
// 脏话字典
private String[] words = {"傻逼","禽兽","畜生"};
public DirtyWordsHttpServletRequest(HttpServletRequest request) {
super(request);
}
@Override
public String getParameter(String name) {
String value = super.getParameter(name);
if(value==null)
return "木有";
for(String dword:words){
if(value.contains(dword)) // 判断用户输入的内容中含有脏话
value = value.replace(dword, "**");
}
return value;
}
}
----------------------------------------------------------------------------------------
<filter>
<filter-name>DirtyWordsFilter</filter-name>
<filter-class>cn.itcast.filter.DirtyWordsFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>DirtyWordsFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
----------------------------------------------------------------------------------------
注: 需要全文乱码过滤器的辅助
----------------------------------------------------------------------------------------
public class DirtyWordsFilter implements Filter {
public void init(FilterConfig filterConfig) throws ServletException { }
public void doFilter(ServletRequest req, ServletResponse resp,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response = (HttpServletResponse) resp;
DirtyWordsHttpServletRequest drequest = new DirtyWordsHttpServletRequest(request);
chain.doFilter(drequest, response);
}
public void destroy() { }
}
class DirtyWordsHttpServletRequest extends HttpServletRequestWrapper{
// 脏话字典
private String[] words = {"傻逼","禽兽","畜生"};
public DirtyWordsHttpServletRequest(HttpServletRequest request) {
super(request);
}
@Override
public String getParameter(String name) {
String value = super.getParameter(name);
if(value==null)
return "木有";
for(String dword:words){
if(value.contains(dword)) // 判断用户输入的内容中含有脏话
value = value.replace(dword, "**");
}
return value;
}
}
----------------------------------------------------------------------------------------
<filter>
<filter-name>DirtyWordsFilter</filter-name>
<filter-class>cn.itcast.filter.DirtyWordsFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>DirtyWordsFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
----------------------------------------------------------------------------------------