转义通常用在需要写入数据库的时候,经过转义可以避免很多潜在的问题,使系统更健壮。但是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
		
	}
}


Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐