转义通常用在需要写入数据库的时候,经过转义可以避免很多潜在的问题,使系统更健壮。但是Java并没有自带相关类库。通常我们使用Apache开源的common-lang类库。
Apache common lang最新版下载地址:点击下载
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.escapeHtml3("<font>chen磊 xing</font>")); //转义HTML,注意汉字
System.out.println("反转义HTML:"+StringEscapeUtils.unescapeHtml3("<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
}
}