我的login.xhtml
以:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
我使用的是Java 8,JSF,Primefaces,Maven,Tomcat8。
我认为我的配置有问题,例如servlet和web.xml
。
答案 0 :(得分:9)
XML解析错误:找不到元素位置:[...]行号1,列1
到目前为止,这个确切的错误意味着webbrowser在被指示将响应解释为XML时检索到一个完全空的响应,通常是通过Content-Type
标题,例如application/xhtml+xml
或{{ 1}},或者如果不存在,则通过application/xml
或.xhtml
等网址中的文件扩展名。
鉴于在请求JSF登录页面时发生这种情况,这强烈表明它包含语法/运行时错误,并且webapp没有正确配置错误处理。显然错误页面本身也被阻止在登录/安全约束之后,导致服务器无法呈现正常的&#34;错误页面包含所有异常详细信息,因此返回完全空的响应。
您最好的选择是读取服务器日志以获取实际异常和/或运行调试器和/或创建JSF exception handler,明确记录服务器日志的异常(以防您无法查找异常)因此他们似乎被吞下了)。一旦掌握了实际的例外情况,通常需要使用例外类型+消息+第一行作为关键字来查找互联网上的线索。
答案 1 :(得分:-1)
XML解析错误:未找到根元素
当您的客户端发送如下请求时,就会发生错误:
curl -X GET --header 'Accept: application/json' 'http://192.168.1.249:9001/students/
您会在“ Accept:application / json”之类的标题中看到这意味着客户端仅接受JSON格式的服务器响应。
但是Server生成XML内容类型的响应类型,它将尝试将XML解析为JSON。在此阶段,异常触发。
解决方案:
请将响应内容类型更改为application / json或 将请求标头更改为“接受:application / xml”。
谢谢。