sax错误:org.xml.sax.SAXParseException: Content is not allowed in
prolog解决 html
缘由及其解决办法: spring
1.xml编码错误 windows
该xml是UTF-8编码的,若是该文件经过UltraEdit编辑后,会在无BOM头的UTF-8文件中加入BOM,可是DOM4j不认这个BOM(dom4j1.3),解决的办法能够经过升级dom4j到1.6解决www.dom4j.org dom
什么是BOM?http://www.unicode.org/faq/utf_bom.html#22Unicode规范中有一个BOM的概念。BOM——Byte Order Mark,就是字节序标记。在这里找到一段关于BOM的说明: 函数
在UCS 编码中有一个叫作"ZERO WIDTH NO-BREAK
SPACE"的字符,它的编码是FEFF。而FFFE在UCS中是不存在的字符,因此不该该出如今实际传输中。UCS规范建议咱们在传输字节流前,先传输 字符"ZERO WIDTH NO-BREAK
SPACE"。这样若是接收者收到FEFF,就代表这个字节流是Big-Endian的;若是收到FFFE,就代表这个字节流是Little- Endian的。所以字符"ZERO WIDTH NO-BREAK
SPACE"又被称做BOM。 编码
UTF-8不须要BOM来代表字节顺序,但能够用BOM来代表编码方式。字符"ZERO WIDTH NO-BREAK
SPACE"的UTF-8编码是EF BB BF。因此若是接收者收到以EF BB BF开头的字节流,就知道这是UTF-8编码了。 spa
Windows就是使用BOM来标记文本文件的编码方式的。 code
2.xml文件存在非法字符 orm
把xml 动手敲一遍,删除不应有的间隔符:好比空格,制表符(TAB)等。 xml
异常提示是Content is not allowed in prolog.意思就是说文件开头的时候有问题。
怎么去掉BOM:
首先windows自带的记事本会在保存UTF-8编码的文件时无论是否含有BOM一概加上BOM,因此千万别用记 事本。比较新版本的UltraEdit(如下简称UE,你们都是这么叫的)都对BOM支持比较好,因此推荐使用新版本的UE来解决这个问题。我用的版本是 UltraEdit-32 11.00a+中文版。首先打开UE,选择菜单栏“高级”-“配置”,出现一个选项卡窗口,在“常规”选项卡中找到“保存时对全部UTF-8文件头标记 (BOM)”和“对在UltraEdit里建立的新文件写入UTF-8文件头标记(如上面)”,把它们的复选框都取消不选,而后肯定。这个时候UE默认情 况下就不会对没有BOM的文件加入BOM,注意若是不执行上述操做UE默认也是会加的!那已经含有BOM的文件如何清除BOM呢?下面演示给你们。首先打 开文件,选择菜单栏“文件”-“格式转换”-“UTF-8 转 ASCII”,这样文件会被转为ASCII编码,BOM就不会存在了,由于上面说过BOM是在UCS编码的头部的,而后再选择菜单栏“文件”-“格式转 换”-“ASCII
转 UTF-8(Unicode编辑)”,这个时候文件会被转回为UTF-8编码,由于咱们上面选了不自动加BOM,因此这个时候的文件是不带BOM的,而后 保存文件。整个操做过程就完毕了。
response.getWriter().println(resourceJson);
result=eval('('+result+')');
List<BaseAddress>
listBaseAddress = interTicketsReservationService
.findBaseAddressByCityName(cityName);
JSONArray strJson = JSONArray.fromObject(listBaseAddress);
response.getWriter().println(strJson);
org.springframework.jdbc.UncategorizedSQLException:
SqlMapClient operation; uncategorized SQLException for SQL []; SQL state
[null]; error code [17002];
解决办法:com.domain.base.BaseParent 的构造函数中有一个protected的方法,即
public BaseParent(){
init();
}
protected void init(){}
把这个方法去掉就能够了
原来须要cglib的po的构造函数中不能加任何别的方法
若是加了 protected
的方法,会出现异常
若是加了 public 的方法,不会出异常,但延迟加载会无效。
org.dom4j.DocumentException:
Error on line 1 of document : The markup
in the document following the root element must be well-formed. Nested
exception: The markup in the document following the root element must be
well-formed.
解决办法:拼接的XML中没有根节点。