filter过滤器过滤特殊字符
来源:互联网 发布:灰色系统模型软件 编辑:程序博客网 时间:2024/05/22 09:07
Java中过滤特殊字符的方法大家都知道replace(),但是经过过滤器后传递的参数到达Action后,经request取得后还是原本网页输入的内容,不是我们修改param参数后的值。
//循环读取参数 while (params.hasMoreElements()){ param = (String) params.nextElement(); //获取请求中的参数 String[] values = servletrequest.getParameterValues(param);//获得每个参数对应的值 for (int i = 0; i < values.length; i++) {System.out.println("values[i] = "+values[i]);paramValue = values[i]; //转换目标字符变成对象字符,可以多个。后期扩展特殊字符库用于管理paramValue = paramValue.replaceAll("'",""); paramValue = paramValue.replaceAll("@","");paramValue = paramValue.replaceAll("孙悟空","***");//这里还可以增加,如领导人 自动转义成****,可以从数据库中读取非法关键字。values[i] = paramValue; } //把转义后的参数重新放回request中 request.setAttribute(param, paramValue); } //假设我页面输入:孙悟空/****Action 中调试代码******/String Parameterusername=request.getParameter("username");String Attributeusername=(String) request.getAttribute("username");System.out.println("Parameterusername"+Parameterusername);//输出孙悟空,不是我们想要的。System.out.println("Attributeusername"+Attributeusername);//输出****,这才是我们想要的结果。
所以我们必须改变param的值才对,更简明的说就是Java如果提供了setparamvalue的方法就好了,
后来API中提供了HttpServletRequestWrapper类,我们可以覆盖父类的方法MyRequestWrapper.java,
然后最后过滤chain.doFilter(new MyRequestWrapper((HttpServletRequest) request), response);
再测试就可以看到Parameterusername和Attributeusername都会输出****
filterdemo 是我的测试项目,有需要的可以下载
0 0
- filter过滤器过滤特殊字符
- Java过滤器过滤特殊字符
- java 过滤器(过滤客户端表单特殊字符、服务器端特殊字符、以及编码过滤)
- Filter过滤器 过滤请求
- Filter 字符过滤器
- jsp filter字符过滤器
- Filter字符编码过滤器
- Filter字符编码过滤器
- 特殊字符替换过滤器
- HTML特殊字符过滤器
- JAVA 特殊字符过滤器
- HTML特殊字符过滤器
- Filter过滤器—编码过滤
- Filter过滤非法字符
- Filter过滤敏感字符
- ASP特殊字符过滤
- ASP特殊字符过滤
- ASP过滤特殊字符
- 中水处理设备:小区中水回用设备优势及特点简要说明
- Sublime Text 2快捷键大全
- shutil.rmtree
- ceph存储 多网卡的7种bond模式原理
- 对话框中使用控件变量的时机
- filter过滤器过滤特殊字符
- Something write in FSE 2014
- java.lang.UnsatisfiedLinkError: no XXX in java.library.path
- android pull 解析 用switch解析 容易看懂 if----else if 繁琐
- Partition does not start on physical sector boundary
- 高手帮看看artdialog的弹出选择数组返回
- ffmpeg中avio_open无法打开中文路径的解决方法
- 微信公众请求URL超时常见解决方法
- 中水处理设备:一体化中水回用设备应用领域详细说明