【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>  

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/1380585.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

(一)Java实现五子棋(联机版)游戏

(一)设计思路&#xff1a; 游戏效果如下图所示&#xff1a; 游戏描述&#xff1a; 游戏采用Java设计&#xff0c;采用了面向对象思想&#xff0c;游戏使用Swing实现面板&#xff1b;采用哈希表Hashtable建立客户端和服务器端之间输入输出流的通信&#xff0c;使用户之间可以进…

Java并发编程(三)线程同步 上[synchronized/volatile]

概念 当使用多个线程来访问同一个数据时,将会导致数据不准确,相互之间产生冲突,非常容易出现线程安全问题,比如多个线程都在操作同一数据,都打算修改商品库存,这样就会导致数据不一致的问题。 所以我们通过线程同步机制来保证线程安全,加入同步锁以避免在该线程没有完成操作之前…

微信 [] provider:wx76a9a06e5b4e****, version:1.0.3, AppID 不合法,invalid appid Error: provider:wx76a9a06e

报错&#xff1a; [] provider:wx76a9a06e5b4e****, version:1.0.3, AppID 不合法,invalid appid Error: provider:wx76a9a06e5b4e693e, version:1.0.3, AppID 不合法,invalid appid at E:\微信web开发者工具\code\package.nw\core.wxvpkg\d670f7f30a19b01584db216c5c3f5a75.…

揭秘Google数据中心网络B4(李博杰)

本篇可以说是论文《B4: Experience with a Globally-Deployed Software Defined WAN》中文解析篇。 导读&#xff1a;这是“走进 SIGCOMM 2013”系列的第二篇。Google 首次将其数据中心广域网 (WAN) 的设计和三年部署经验完整地公之于众&#xff0c;这篇论文可能被评为 Best Pa…

由于没有公钥,无法验证下列签名: NO_PUBKEY 3B4FE6ACC0B21F32

**问题&#xff1a;**在使用sudo apt-get update更新的时候&#xff0c;报了以下错误 **解决&#xff1a;**打开终端&#xff0c;下载对应密钥 sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F32 3B4FE6ACC0B21F32是缺少的密钥&#xff0c;缺少…

Vulnhub渗透测试 DR4G0N B4LL: 1

项目地址&#xff1a;Dr4g0n b4ll: 1 ~ VulnHub 前期信息收集 使用Nmap 进行主机发现 使用Nmap 进行端口扫描 目标开启ssh(22)、http(80) 在页面源代码中发现提示 多次base解码后为 DRAGON BALL 使用Dirscan目录扫描 发现robots.txt base64解码为 you find the hidden dir …

为unigui程序搭建chrome手机浏览器(B4A)

缘起&#xff1a; 使用手机自带的浏览器来访问unigui开发的移动网页程序&#xff0c;必须在手机浏览器的url地址栏中输入ip地址和port号&#xff0c;使用起来影响体验&#xff0c;如果想有像native app一样的体验&#xff0c;请跟随以下的步骤去体验一下。 1、下载WebViewExtr…

B4i(iOS)应用程序所需的所有功能

B4i&#xff08;iOS&#xff09;应用程序所需的所有功能 B4i&#xff08;iOS&#xff09;包括开发本地iOS应用程序所需的所有功能。编译的应用程序是本机iOS应用程序&#xff0c;没有额外的运行时或任何依赖项。B4i遵循与B4A相同的概念&#xff0c;允许您重用大部分代码并为An…

stm32 B3B4引脚当IO使用

记录 PB3&#xff0c;PB4主功能是JTDO,NJTRS&#xff0c;想使用IO功能时需要重定义功能&#xff0c;如下&#xff1b; void GPIO_B4B3(void)//特殊引脚 {GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO, ENABLE)…

论文笔记(1) B4: Experience with a Globally-Deployed Software Defined WAN

传送门&#xff1a;原论文连接 一、论文简介 本论文是Google在2013的SIGCOMM上发表的一篇关于其成功部署的基于SDN的B4系统的论文。其中介绍了B4的设计&#xff0c;以及在实际运行过程中的一些经验。本论文的参考价值在于&#xff0c;它是第一篇对于成功部署全球性的SDN系统的…

Google B4 论文阅读一

目录 一、B4网络介绍 1. 全局控制层&#xff08;global&#xff09; 2. 局部网络控制层&#xff08;site controllers&#xff09; 3. 物理设备层&#xff08;switch hardware&#xff09; 二、B4网络的效果 三、B4网络的改进和展望 说在前面&#xff0c;博客上有很多人已…

5v升9v升压电路

5v升9v升压电路 现在市场上有许多电子设备需要提供不同电压的供电能力。其中&#xff0c;升压电路是一种常见的电路类型&#xff0c;可以将低电压升高到所需要的电压水平。在本文中&#xff0c;我们将介绍一种5V升9V的升压电路方案&#xff0c;该方案具有以下特点&#xff1a;…

3日行程安排

22号 13&#xff1a;30出发到峡山码头坐船--横山岛景区 峡山码头 船费&#xff1a;来回70r 固定开船时间&#xff1a;9:30&#xff0c;12:00&#xff0c;14:00 或者&#x1f235;️12人自动开船&#xff0c;最晚4点有船返回 岛上风景 逛山海“小普陀”寺庙普南禅院,被誉为宁…

多线程与高并发--------线程

一、线程的基础概念 一、基础概念 1.1 进程与线程 什么是进程&#xff1f; 进程是指运行中的程序。 比如我们使用钉钉&#xff0c;浏览器&#xff0c;需要启动这个程序&#xff0c;操作系统会给这个程序分配一定的资源&#xff08;占用内存资源&#xff09;。 什么线程&am…

MMORPG大型游戏设计与开发(服务器 游戏场景 地图和区域)

地图的数据以及区域的信息是场景的重要组成部分&#xff0c;这些数据同时存在客户端和服务器&#xff0c;而且都是由编辑器生成的。那么保存的文件数据结构是怎样的&#xff1f;一张3D的场景地图又是怎样处理这些数据的&#xff1f;同时告诉大家这里同样只是讲的理论与设计&…

对话CMU计算机新院长:看好AI交叉创新出成果,建议新生先泛后专

2019-11-21 13:25:16 唐木 发自 天龙寺 量子位 报道 | 公众号 QbitAI 谁是全球最好的大学&#xff1f;谁有全球最好的计算机学院&#xff1f; 如果你问李开复、陆奇、沈向洋、洪小文等功成名就的计算机大牛&#xff0c;多半都会得到同一个答案&#xff1a; Carnegie Mellon …

[转]天龙八部服务器端-共享内存的设计

一、服务器构架 一个天龙八部游戏区&#xff0c;主要服务器部署情况如下图所示: 实际部署可能有所不同。区角色数据库可以安装到Machine4&#xff0c;那么一个区有5台物理机器。LoginServer和WorldServer、CharacterDB、BillingServer有连接。WorldServer和各个GameServer有连接…

天龙八部服务器端---共享内存的设计

2019独角兽企业重金招聘Python工程师标准>>> 原文地址&#xff1a;http://zhktiger.blog.sohu.com/163971755.html&#xff0c;非常感谢作者的分享。 一、服务器构架 一个天龙八部游戏区&#xff0c;主要服务器部署情况如下图所示: 实际部署可能有所不同。区角色…

天龙八部服务器端共享内存的设计

原文&#xff1a;http://zhktiger.blog.sohu.com/163971760.html 一、服务器构架 一个天龙八部游戏区&#xff0c;主要服务器部署情况如下图所示: 实际部署可能有所不同。区角色数据库可以安装到Machine4&#xff0c;那么一个区有5台物理机器。LoginServer和WorldServer、Chara…

初识鸿蒙跨平台开发框架ArkUI-X

HarmonyOS是一款面向万物互联时代的、全新的分布式操作系统。在传统的单设备系统能力基础上&#xff0c;HarmonyOS提出了基于同一套系统能力、适配多种终端形态的分布式理念&#xff0c;能够支持手机、平板、智能穿戴、智慧屏、车机等多种终端设备&#xff0c;提供全场景&#…