【004】SSH中转义特殊字符串以及非Web项目中的特殊字符转换

工作中需要把用户输入的特殊字符转义,以确保系统安全。

一、为何要这么做?

比如用户发个帖子,输入了。如果我们不进行任何转义,那么当其他用户浏览这个帖子的时候,这段文字会被浏览器理解成javascript代码解释执行。

二、如何转义?

为了解决这个功能,我想起了JSTL中的标签可以对特殊字符进行转义,于是查找了一下源码,发现可以使用JSTL中的一个工具类,这个工具类的全名如下:

 org.apache.taglibs.standard.tag.common.core.Util  用import引入该工具类并调用该工具类的escapeXml(String buffer) 方法即可。

下面的代码教会你如何在java代码中使用这个类

import org.apache.taglibs.standard.tag.common.core.Util;
public class Aa {
    public static void main(String args[]) {
        String a = "aaaaa


三、如果您的项目中没有用到JSTL或者不是Web项目

这种情况比较少,但也存在。比如你给网站写个后台工具程序、或者你的网站全部用jsp的 <% .... %>标签编写 (=。=!)。我找到了Util类的源代码,并对其进行了改写,下载链接在下面:

点击打开链接

你只要把这个类拷贝进你的源码中并根据需要修改package后面的包名即可。

你可能感兴趣的:(JAVA,SSH,JSP,JAVA)