package
com.bingyang.model;
import
java.io.IOException;
import
java.util.ArrayList;
import
java.util.List;
import
java.util.StringTokenizer;
import
javax.servlet.Filter;
import
javax.servlet.FilterChain;
import
javax.servlet.FilterConfig;
import
javax.servlet.ServletException;
import
javax.servlet.ServletRequest;
import
javax.servlet.ServletResponse;
public
class
WordFilter
implements
Filter
{
private
List<String> unString;
/**
* 过滤器初始化,将要屏蔽的字符串都加载到list集合中.
*/
public
void
init(FilterConfig filterConfig)
throws
ServletException
{
unString =
new
ArrayList<String>();
String aa=
"日,tmd,TMD,滚蛋,系统"
;
StringTokenizer st =
new
StringTokenizer(aa,
","
);
while
(st.hasMoreElements()){
unString.add(st.nextElement().toString());
}
}
public
void
doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws
IOException, ServletException
{
request.setCharacterEncoding(
"utf-8"
);
String content = request.getParameter(
"content"
);
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);
}
}
chain.doFilter(request, response);
}
public
void
destroy()
{
}
}