java escape html_慎用StringEscapeUtils.escapeHtml步骤
慎用StringEscapeUtils.escapeHtml方法【转】
推荐使用Apache commons-lang的StringUtils来增强Java字符串处理功能,也一直在项目中大量使用StringUtils和StringEscapeUtils这两个实用类。
最近在数据库里发现某个表的内容全都成了HTML entity表示,中文也全被转换成了”我”这样的格式,而在页面上显示一切正常。最终发现造成这个后果的原因是在将字符串保存到数据库之前,用StringEscapeUtils.escapeHtml对其进行了处理。
字符串过滤是在许多Web应用开发中需要考虑的问题。比如用户输入一个左尖括号(
而某些内容是不会被编辑的,比如一般的电子邮件,这类就可以在用户提交表单之时转换,一劳永逸。于是我使用了StringEscapeUtils.escapeHtml来做这个工作。
如果是英文内容,没有任何问题,然而它将一个中文字符转换成了8个字符。在UTF-8的编码 中,每个汉字占用三个字节,每个英文字符占用一个字节。这样的转换造成了大量的空间浪费。
简单的办法是自己写一个escapeHtml方法,替换左右尖括号就可以了。虽然还有一些HTML entity未被转换,可能造成输出的网页不符合web标准,但是大部分浏览器都可以正常显示也就够了。
对要输出的网页内容编码,网上搜的方法。
public static String htmlEncode(String source) {
if (source == null) {
return "";
}
String html = "";
StringBuffer buffer = new StringBuffer();
for (int i = 0; i < source.length(); i++) {
char c = source.charAt(i);
switch (c) {
case '
buffer.append("<");
break;
case '>':
buffer.append(">");
break;
case '&':
buffer.append("&");
break;
case '"':
buffer.append(""");
break;
case 10:
case 13:
break;
default:
buffer.append(c);
}
}
html = buffer.toString();
return html;
}
java escape html_慎用StringEscapeUtils.escapeHtml步骤相关推荐
- java escape html_慎用StringEscapeUtils.escapeHtml方法【转】
推荐使用Apache commons-lang的StringUtils来增强Java字符串处理功能,也一直在项目中大量使用StringUtils和StringEscapeUtils这两个实用类. 最近 ...
- 慎用StringEscapeUtils.escapeHtml方法
原文链接:http://newleague.iteye.com/blog/1112673 推荐使用Apache commons-lang的StringUtils来增强Java字符串处理功能,也一直在项 ...
- 初学者成为优秀Java程序员的8个步骤
经常会有人问小千,如何从一名零基础初学者成为一名优秀的Java程序员.其实,小千见证了很多人从一名初学者逐步成长为一名优秀的Java开发工程师,他们或多或少都具有一些特征.下面,小千就给大家分享成为优 ...
- spring 加载java类_在Spring中基于Java类进行配置的完整步骤
在Spring中基于Java类进行配置的完整步骤 发布于 2020-7-7| 复制链接 基于Java配置选项,可以编写大多数的Spring不用配置XML,下面 前言JavaConfig 原来是 Spr ...
- java创建类的三个步骤_3个简单步骤即可测试Java 8
java创建类的三个步骤 即将发布的Java 8版本为Java开发人员带来了许多新功能,但是升级时始终存在代码破裂的风险. 我们都记得Java 7出厂时有一系列非常严重的错误 . 当然,我们所有人都可 ...
- 编写运行java的步骤,【简答题】编写运行Java程序需要经过哪些主要步骤? (30.0分)...
[简答题]编写运行Java程序需要经过哪些主要步骤? (30.0分) 更多相关问题 电子商务的()个支撑点是框架结构得以存在并能应用的基础.A.1B.2C.3 电子商务总体框架包括()个层次.A.2B ...
- Java转义工具类StringEscapeUtils的学习笔记
Java转义工具类StringEscapeUtils的学习笔记 前言 在java.commons.lang3 的包中有许多方便好用的工具类,类似于处理字符串的StringUtils,处理日期的Da ...
- java零基础入门的四大步骤
对于许多想要转换到Java开发的初学者来说,如何学习Java是一个问题.在很多人眼里,程序员是高薪的代名词,所以他们吸引了很多想要转到Java开发的初学者.但是对于很多初学者来说,他们不知道从哪里开始 ...
- StringEscapeUtils.escapeHtml的具体使用
在做代码高亮时,从数据库中取出代码如下(节选): <pre class="brush: java;"> 需要的应该是<pre class=\"brush ...
最新文章
- 从代码设计到应用开发,入坑深度学习看这本书就够了
- vb科学计算机x y,vb程序用vb实现系统的计算器功能1/x,sqrt,%,+/-, 爱问知识人
- 人脸识别屡遭非议 会成为“潘多拉魔盒”吗
- 计算机算法对程序设计的作用,计算机编程中数学算法的优化策略
- 应用宝上架审核要求_【建议收藏】安卓应用商店上架经验,含流程,方法
- bash编程练习题及答案
- RocketMQ(五):教你如何调试源代码
- linux 如何让.开头的文件不隐藏_如何使用 BusyBox 制作Linux最小文件系统
- ortools解决tsp_ortools系列:路由问题1
- NPM使用前设置和升级
- 物流货代公司管理系统
- 阿里云银行关键业务破冰 邢台银行首家
- SQL2008升级SQL2008R2完全教程
- ChIP-seq实战 | 染色质免疫共沉淀技术 | ATAC-seq | 染色质开放性测序技术
- 十一打卡推荐 | 在北京798 UCCA,百度AI的这场「秀」把我看high了
- 一种文件捆绑型病毒研究
- MATLAB模拟陀螺仪的运动轨迹(附完整代码)
- 导入Excel如何判是否有重复的行
- Apipost 上手指南
- signature=5a522a8356f9906b0b775bdada02a4c6,阜阳境内车辆违章信息公示(4月3—4月23)
热门文章
- 【开源】基于Java+SpringBoot+Vue+ElementUI的超市管理系统
- 计算机科学与技术(现代教育技术),现代教育技术
- python性能分析(一)——使用timeit给你的程序打个表吧
- html轮播台袋效果,使用html+js+css 实现页面轮播图效果(实例讲解)
- Windows 应急流程及实战演练
- Mathematica绘制椭圆摆线簇(二)
- Linux 如何设置密码复杂度?
- 《Linux7通过LAMP环境构搭建WordPress论坛 》
- mysql 分表和分区_Mysql分表和分区的区别
- UE4中采集360°全景图片和视频