过滤器实现统一编码以及过滤非法文字

一、新建过滤器

首先要新建一个过滤器,通过注解完成Filter配置

// 通过注解完成Filter配置,/*表示过滤所有请求@WebFilter("/*")

现在所有的页面都被过滤掉了,全部不能进行正常的请求,我们只需在doFilter()方法中写上

@Overridepublic 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);//继续执行,表示请求继续执行}

猜你喜欢

转载自blog.csdn.net/codeliang20/article/details/106377827