HTML特殊字符过滤器
2019独角兽企业重金招聘Python工程师标准>>>
package com.pdsu.filter;import java.io.IOException;import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletRequestWrapper;
import javax.servlet.http.HttpServletResponse;/*** 类说明:HTML特殊字符过滤器* * @author 作者: LiuJunGuang* @version 创建时间:2011-11-18 下午07:36:44*/
public class HTMLCharacterFilter 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;chain.doFilter(new HTMLCharacterRequest(request), response);}public void destroy() {}
}// html特殊字符处理类
class HTMLCharacterRequest extends HttpServletRequestWrapper {public HTMLCharacterRequest(HttpServletRequest request) {super(request);}@Overridepublic String getParameter(String name) {return filter(super.getParameter(name));}@Overridepublic String[] getParameterValues(String name) {String[] values = super.getParameterValues(name);if (values == null || values.length == 0)return values;for (int i = 0; i < values.length; i++) {String str = values[i];values[i] = filter(str);}return values;}/*** 对特殊的html字符进行编码* * @param message* @return*/private String filter(String message) {if (message == null)return (null);char content[] = new char[message.length()];message.getChars(0, message.length(), content, 0);StringBuilder result = new StringBuilder(content.length + 50);for (int i = 0; i < content.length; i++) {switch (content[i]) {case '<':result.append("<");break;case '>':result.append(">");break;case '&':result.append("&");break;case '"':result.append(""");break;default:result.append(content[i]);}}return (result.toString());}
}
在web.xml中添加如下内容:
<!-- HTML特殊字符过滤器 --><filter><filter-name>HTMLFiter</filter-name><filter-class>com.pdsu.filter.HTMLCharacterFilter</filter-class></filter><filter-mapping><filter-name>HTMLFiter</filter-name><url-pattern>/*</url-pattern></filter-mapping>
转载于:https://my.oschina.net/java2010/blog/356462
HTML特殊字符过滤器相关推荐
- java 特殊字符过滤器_java处理url中的特殊字符
java处理url中的特殊字符(如&,%...) URL(Uniform Resoure Locator,统一资源定位器)是Internet中对资源进行统一定位和管理的标志. 一个完整的URL ...
- Javaweb核心之servlet规范过滤器-----Filter
2 Servlet规范中的过滤器-Filter 2.1 过滤器入门 2.1.1 过滤器概念及作用 过滤器--Filter,它是JavaWeb三大组件之一.另外两个是Servlet和Listener. ...
- mysql进阶:企业数据库安全防护方案
0.引言 数据库安全是系统安全的重中之重,做好数据库安全防护及规范,是系统建设的基础. 今天我们来看看企业生产如何落地数据库安全防护机制. 1. 数据库安全问题 最好数据库安全,我们首先要了解能够威胁 ...
- PHP清洗过滤器Sanitize filters
名称 id 说明 标记flags 字符串过滤器(string) 513 去除字符串中标签(不会进行上下文的推断,如果找不到>会将<后面的字符都去除),可以选择去除或者编码特殊字符. FIL ...
- Elasticsearch –使用模式替换过滤器和自定义分析器忽略查询中的特殊字符
使用Elasticsearch 5,我们有一个字段,例如驾驶执照编号,其中的值可能包含特殊字符,并且由于用户在有限的验证范围内输入了值,因此值的大小写不一致. 例如,这些是假设值: CA-123-45 ...
- java 过滤器过滤特殊字符
1.继承Filter的过滤类 package fly.cloud.bank.config.filter;import org.springframework.stereotype.Component; ...
- linux搜索过滤器,Unix和Linux管道(pipe)和过滤器(filter)使用介绍
上一章Unix和Linux教程请查看:打印文件和发送邮件 在本章中我们将详细讨论Unix中的管道和过滤器.你可以将两个命令连接在一起,使一个程序的输出成为下一个程序的输入,以这种方式连接的两个或多个命 ...
- xss绕过字符过滤_XSS过滤器绕过总结
XSS过滤器绕过总结 黑名单过滤器绕过 黑名单模式下的过滤器是最常见的.他们的目标是检测特定模式并防止恶意行为.这完全是"模式"的问题,它们越准确,就越可以拦截攻击. 1. 注入脚 ...
- bash--shell高级编程-特殊字符
shell高级编程-特殊字符 特殊字符 用在脚本和其他地方的特殊字符 # 注释. 行首以#(#!是个例外)开头是注释. # This line is a comment. 注释也可以放在于本行命令的后 ...
最新文章
- 编写程序记录文件位置
- 重新安装nginx注意事项
- 每日一皮:这年头没点绝活连洗车都不行...
- MICRA OPENCART 自适应主题模板 ABC-0678-02
- Java网络编程及安全
- 第一节:框架前期准备篇之Log4Net日志详解
- Caffe2 的基本数据结构(Basics of Caffe2 - Workspaces, Operators, and Nets)[4]
- Redis学习-性能与优化(五)
- 初学jQuery之选择器
- 一键启动按钮线断了_【汽车用车】汽车一键启动功能不仅只用来打火,还可以这么操作?...
- php接收表单post数据由于数据字段太多导致丢失的案例
- 排队论的计算机模拟,8.2 排队论模型(二)-----计算机模拟.pdf
- 二叉树前中后序遍历及其本质
- 苹果iPad忘记了Apple ID密码该怎么办?(手机教程)
- WPS表格常用快捷键大全
- woocommerce 新增一个支付网关
- AcWing 黑暗城堡
- Python数据分析训练营——Python数据分析之Panads-1
- android 获取sn序列号
- Linux非交互式修改用户密码
热门文章
- 剑指offer_第3题_从尾到头打印链表
- LightGBM模型_相关资料整理
- 我们常称自己“码农”,这次已得到官方认定:“新生代农民工!
- 46 万奖金等你拿 | 微众银行第二届金融科技高校技术大赛报名中
- 中国 83 所高校上榜,清华位列第 15!QS 2021 年世界大学排名出炉
- 985 博士:导师是院士,直到毕业,我们都没单独说过一句话...
- locust压测工具:测试信息输出与分布式模式
- selenium提取数据之driver对象定位标签元素获取标签对象的方法
- 怎样才可以过大学英语六级啊,有没有好点的方法?【转载】
- VM创建虚拟机及安装Centos7