apache工具包common-lang中有一個很有用的處理字符串的工具類,其中之一就是StringEscapeUtils,這個工具類是在2.3版本以上加上的去的,利用它能很方便的進行html,xml,Java等的轉義與反轉義,而且還能對關鍵字符串進行處理預防SQL注入。
它的方法,全是靜態,直接用類調用即可,下邊來根據代碼看看它們幾個的用法和效果,一看一目了然:

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 } }
輸入結果:
1 防SQL注入:1'' or ''1''=''1 2 轉義HTML,注意漢字:<font>chen磊 xing</font> 3 反轉義HTML:<font>chen磊 xing</font> 4 轉成Unicode編碼:\u9648\u78CA\u5174 5 轉義XML:<name>陳磊興</name> 6 反轉義XML:<name>陳磊興</name>
原文出處:http://blog.csdn.net/chenleixing/article/details/43456987