在显示的时候对非法字符进行转义
如果项目还处在起步阶段,建议使用第二种,直接使用jstl的<c:out>标签即可解决非法字符的问题。当然,对于Javascript还需要自己处理一下,写一个方法,在解析从服务器端获取的数据时执行以下escapeHTML()即可。
附:Javascript方法:
StringprototypeescapeHTML = function () {
return thisreplace(/&/g, ‘&’)replace(/>/g, ‘>’)replace(/</g, ‘<’)replace(/”/g, ‘"’);
}
如果项目已经开发完成了,又不想大批量改动页面的话,可以采用第一种方法,此时需要借助Spring MVC的@InitBinder以及orgapachecommonslangPropertyEditorSupport、orgapachecommonslangStringEscapeUtils
public class StringEscapeEditor extends PropertyEditorSupport {
private boolean escapeHTML;
private boolean escapeJavaScript;
private boolean escapeSQL;
public StringEscapeEditor() { super(); }
public StringEscapeEditor(boolean escapeHTML, boolean escapeJavaScript, boolean escapeSQL) {
super();
thisescapeHTML = escapeHTML;
thisescapeJavaScript = escapeJavaScript;
thisescapeSQL = escapeSQL;
}
@Override
public void setAsText(String text) {
if (text == null) {
setValue(null);下面将这两项写入Maven本地仓库:
添加依赖:
mvn install:install-file -DgroupId=comjfinal -DartifactId=jfina -Dversion=18 -Dpackaging=jar -Dfile=${jfinal_location}\jfinal-18-binjar
添加源文件:
mvn install:install-file -DgroupId=comjfinal -DartifactId=jfina -Dversion=18 -Dpackaging=jar -Dclassifier=sources -Dfile=${jfinal_location}\jfinal-18-bin-with-srcjar
Maven中添加依赖:
<!--添加本地jFinal依赖项-->
<dependency>
<groupId>comjfinal</groupId>
<artifactId>jfinal</artifactId>
<version>18</version>
</dependency>内存要大,memecache只用到内存
数据量过大只能增加服务器memcache服务器:可以配置分布式缓存
因为memcache一般是只供局域网使用的
工作原理是,其他硬件能用即可
其他解决方案:web服务器使用memcache缓存,然后把数据缓存在memcache服务器上,要特殊配置
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)