我在servlet的init()方法初始化的文档对象,并用它在doPost()方法来服务请求。XPath查询给出异常
selectNodeList()XPath查询给人异常,当在同一时间的servlet服务的许多要求。 例外如下所示:
Caused by: javax.xml.transform.TransformerException: -1
at org.apache.xpath.XPath.execute(XPath.java:331)
at org.apache.xpath.CachedXPathAPI.eval(CachedXPathAPI.java:328)
at org.apache.xpath.CachedXPathAPI.selectNodeList(CachedXPathAPI.java:255)
at org.apache.xpath.CachedXPathAPI.selectNodeList(CachedXPathAPI.java:235)
at com.pro.bb.servlets.Controller.getDataOrPeriodForReport(Controller.java:511)
... 23 more
Caused by: java.lang.ArrayIndexOutOfBoundsException: -1
at org.apache.xpath.XPathContext.pushCurrentNode(XPathContext.java:808)
at org.apache.xpath.axes.PredicatedNodeTest.acceptNode(PredicatedNodeTest.java:447)
at org.apache.xpath.axes.AxesWalker.nextNode(AxesWalker.java:409)
at org.apache.xpath.axes.WalkingIterator.nextNode(WalkingIterator.java:176)
at org.apache.xpath.axes.NodeSequence.nextNode(NodeSequence.java:320)
at org.apache.xpath.axes.NodeSequence.runTo(NodeSequence.java:474)
at org.apache.xpath.axes.NodeSequence.setRoot(NodeSequence.java:257)
at org.apache.xpath.axes.LocPathIterator.execute(LocPathIterator.java:257)
at org.apache.xpath.XPath.execute(XPath.java:308)
帮我理清问题。
其中该文件宣布?如果它是你的servlet中的私有变量,我想你会遇到并发问题。 – Cygnusx1
谢谢..所以,如何解决这个问题? – Arun
同步对文档的访问。或者,也许最好在doPost() – Cygnusx1