一、新建过滤器
首先要新建一个过滤器,通过注解完成Filter配置
// 通过注解完成Filter配置,/*表示过滤所有请求
@WebFilter("/*")
现在所有的页面都被过滤掉了,全部不能进行正常的请求,我们只需在doFilter()方法中写上
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException{
chain.doFilter(request, response);//继续执行,表示请求继续执行
}
二、进行操作
接下来我们就可以在doFilter()方法里面进行统一编码和过滤非法文字(注意:这里的非法文字指的是参数中的非法文字)
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException{
System.out.println("过滤");
request.setCharacterEncoding("utf-8");//设置统一编码
//对所有的参数进行非法文字的过滤
Enumeration<String> en = request.getParameterNames();
while(en.hasMoreElements()) {
String paramName = en.nextElement();
String paramValue = request.getParameter(paramName).toString();
if(paramValue.indexOf("去你丫的")!= -1) {
System.out.println("不能传递脏话");
return;
}
}
chain.doFilter(request, response);//继续执行,表示请求继续执行
}