利用StringEscapeUtils工具类对字符串进行各种转义与反转义(Java)

apache工具包common-lang中有一个很有用的处理字符串的工具类,其中之一就是StringEscapeUtils,这个工具类是在2.3版本以上加上的去的,利用它能很方便的进行html,xml,java等的转义与反转义,而且还能对关键字符串进行处理预防SQL注入,不过好像common-lang3.0以后我看着好像没这个处理SQL语句的方法了,想用的话前提时引入对应的jar包,以下为它的部分方法:

它的方法,全是静态,直接用类调用即可,下边来根据代码看看它们几个的用法和效果,一看一目了然:

package stringescapeutils;

import org.apache.commons.lang.StringEscapeUtils;

public class StringEscapeUtilsTest {

	public static void main(String args[]){

		String sql="1' or '1'='1";
		System.out.println("防SQL注入:"+StringEscapeUtils.escapeSql(sql));	//防SQL注入

		System.out.println("转义HTML,注意汉字:"+StringEscapeUtils.escapeHtml("<font>chen磊  xing</font>")); 	//转义HTML,注意汉字
		System.out.println("反转义HTML:"+StringEscapeUtils.unescapeHtml("<font>chen磊  xing</font>"));	//反转义HTML

		System.out.println("转成Unicode编码:"+StringEscapeUtils.escapeJava("陈磊兴")); 	//转义成Unicode编码

		System.out.println("转义XML:"+StringEscapeUtils.escapeXml("<name>陈磊兴</name>")); 	//转义xml
		System.out.println("反转义XML:"+StringEscapeUtils.unescapeXml("<name>陈磊兴</name>")); 	//转义xml

	}
}

输入结果:

防SQL注入:1'' or ''1''=''1
转义HTML,注意汉字:<font>chen磊  xing</font>
反转义HTML:<font>chen磊  xing</font>
转成Unicode编码:\u9648\u78CA\u5174
转义XML:<name>陈磊兴</name>
反转义XML:<name>陈磊兴</name>

转载请注明—作者:Java我人生(陈磊兴)   原文出处:http://blog.csdn.net/chenleixing/article/details/43456987





时间: 2024-10-17 21:46:41

利用StringEscapeUtils工具类对字符串进行各种转义与反转义(Java)的相关文章

利用StringEscapeUtils对字符串进行各种转义与反转义(Java)

利用StringEscapeUtils对字符串进行各种转义与反转义(Java) 分类: java编程思想 Guava-Commons-xml-json等工具类库2015-02-03 20:51 6290人阅读 评论(1) 收藏 举报 StringEscapeUtils用法例StringEscapeUtils使用java中字符串的转义字符串转义工具StringEscapeUtils apache工具包common-lang中有一个很有用的处理字符串的工具类,其中之一就是StringEscapeUt

关于commons-lang.jar包中的StringEscapeUtils类的转义与反转义

如果要求不被转义的话可以采用StringEscapeUtils.unescapeXml(ss);方法 下面是其他的一些转义的方法 String str = "中国共产党"; System.out.println("用escapeJava方法转义之后的字符串为:"+StringEscapeUtils.escapeJava(str)); System.out.println("用unescapeJava方法反转义之后的字符串为:"+StringEsc

利用StringUtils工具类进行String为空的判断

  利用工具类进行String类型数据的非空判断,让自己的项目代码变得更加的简洁明了. 判断某字符串是否为空,为空的标准是 str==null 或 str.length()==0 下面是 StringUtils 判断是否为空的示例: StringUtils.isEmpty(null) = true StringUtils.isEmpty("") = true StringUtils.isEmpty(" ") = false //注意在 StringUtils 中空格

Android工具类之字符串工具类,提供一些字符串相关的便捷方法

/** * 字符串工具类,提供一些字符串相关的便捷方法 */ public class StringUtil { private StringUtil() { throw new AssertionError(); } /** * is null or its length is 0 or it is made by space * <p/> * <pre> * isBlank(null) = true; * isBlank("") = true; * isBl

java 读取配置文件工具类 (how to read values from properties file in java)

Java 读取配置文件工具类 使用 java.util.Properties import java.io.IOException; import java.io.InputStream; import java.util.Properties; public class PropertiesReader { private static Properties prop; static { reload(); } private static void reload() { prop = new

StringEscapeUtils类的转义与反转义方法

第一步.下载Jar包(commons-lang.jar) 下载地址:http://commons.apache.org/proper/commons-lang/download_lang.cgi 第二步.测试代码 1.HTML 转义 System.out.println(StringEscapeUtils.escapeHtml4("<div></div>")); 输出:<div></div> 反转义 System.out.println(

C#工具类之字符串扩展类

/// <summary> /// 字典串帮忙类 /// </summary> public static class StringHelper { /// <summary> /// 以默认编码返回字符串所对应的字节数组 /// </summary> /// <param name="data">字符串</param> /// <returns>字节数组</returns> public

[ java 工具类] xml字符串解析成Map(DOM解析)

package com.tencent.jungle.wechat.util; import com.google.inject.Singleton; import org.w3c.dom.Document; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.xml.sax.InputSource; import javax.xml.parsers.DocumentBuilder; import javax.xml.

commons-lang常用工具类StringEscapeUtils使用

在apache commons-lang(2.3以上版本)中为我们提供了一个方便做转义的工具类,主要是为了防止sql注入,xss注入攻击的功能. commons-lang常用工具类StringEscapeUtils使用 - wjoygz - pauls private zone 1.escapeSql 提供sql转移功能,防止sql注入攻击,例如典型的万能密码攻击' ' or 1=1 ' ' 1StringBuffer sql = new StringBuffer("select key_sn,