[英]Facing org.xml.sax.SAXParseException
Here is the web.xml file 这是web.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration SYSTEM
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>Restful Web Application</display-name>
<servlet>
<servlet-name>jersey-helloworld-serlvet</servlet-name>
<servlet-class>
com.sun.jersey.spi.container.servlet.ServletContainer
</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>com.javacodegeeks.enterprise.rest.jersey</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>jersey-helloworld-serlvet</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
</web-app>
<hibernate-configuration>
<session-factory>
<property name="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</property>
<property name="hibernate.connection.driver_class">
com.mysql.jdbc.Driver
</property>
<!-- Assume students is the database name -->
<property name="hibernate.connection.url">
jdbc:mysql://localhost:3306/test
</property>
<property name="hibernate.connection.username">
root
</property>
<property name="hibernate.connection.password">
root
</property>
</session-factory>
</hibernate-configuration>
This is the error I am facing: 这是我面临的错误:
SEVERE: Parse Fatal Error at line 21 column 2: The markup in the document following the root element must be well-formed.
严重:第21行第2列的解析致命错误:根元素后面的文档中的标记必须格式正确。 org.xml.sax.SAXParseException;
org.xml.sax.SAXParseException; systemId: jndi:/localhost/JAXRS-HelloWorld/WEB-INF/web.xml;
systemId:jndi:/localhost/JAXRS-HelloWorld/WEB-INF/web.xml; lineNumber: 21;
lineNumber:21; columnNumber: 2;
columnNumber:2; The markup in the document following the root element must be well-formed.
根元素后面的文档中的标记必须格式正确。 at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source) at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$TrailingMiscDriver.next(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Sour
在com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(未知来源)处com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(未知来源)在com.sun.org com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(未知源)(com.sun.org.apache.xerces.internal处的.apache.xerces.internal.impl.XMLErrorReporter.reportError(未知源) com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl $ TrailingMiscDriver.next(未知源)(com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl的.impl.XMLScanner.reportFatalError(未知源) com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(未知源)的com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(未知源)的.next(未知源)在com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(未知源)在com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(未知酸 ce) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source) at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source) at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1537) at org.apache.catalina.startup.ContextConfig.parseWebXml(ContextConfig.java:1890) at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1259) at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:878) at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:369) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5269) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559) at
ce),com上com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(未知源),org.org上的com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl $ JAXPSAXParser.parse org.apache.catalina.startup.ContextConfig.parseWebXml(ContextConfig.java:1890)的.apache.tomcat.util.digester.Digester.parse(Digester.java:1537)在org.apache.catalina.startup.ContextConfig.webConfig (ContextConfig.java:1259)在org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:878)在org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:369)在org.apache。 org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)上的catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)org.apache.catalina.core.StandardContext.startInternal(StandardContext.java: 5269),位于org.apache.catalina.core.ContainerBase $ StartChild.call(ContainerBase.java:1559),位于org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source)
org.apache.catalina.core.ContainerBase $ StartChild.call(ContainerBase.java:1549)at java.util.concurrent.FutureTask.run(未知源)at java.util.concurrent.ThreadPoolExecutor.runWorker(未知源) .util.concurrent.ThreadPoolExecutor $ Worker.run(未知源)在java.lang.Thread.run(未知源)
Mar 30, 2015 11:27:38 PM org.apache.catalina.startup.ContextConfig parseWebXml SEVERE: Parse error in application web.xml file at jndi:/localhost/JAXRS-HelloWorld/WEB-INF/web.xml org.xml.sax.SAXParseException;
2015年3月30日,下午11:27:38 org.apache.catalina.startup.ContextConfig parseWebXml严重:解析位于jndi的应用程序web.xml文件中的错误:/localhost/JAXRS-HelloWorld/WEB-INF/web.xml org.xml .sax.SAXParseException; systemId: jndi:/localhost/JAXRS-HelloWorld/WEB-INF/web.xml;
systemId:jndi:/localhost/JAXRS-HelloWorld/WEB-INF/web.xml; lineNumber: 21;
lineNumber:21; columnNumber: 2;
columnNumber:2; The markup in the document following the root element must be well-formed.
根元素后面的文档中的标记必须格式正确。 at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source) at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$TrailingMiscDriver.next(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Sour
在com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(未知来源)处com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(未知来源)在com.sun.org com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(未知源)(com.sun.org.apache.xerces.internal处的.apache.xerces.internal.impl.XMLErrorReporter.reportError(未知源) com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl $ TrailingMiscDriver.next(未知源)(com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl的.impl.XMLScanner.reportFatalError(未知源) com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(未知源)的com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(未知源)的.next(未知源)在com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(未知源)在com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(未知酸 ce) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source) at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source) at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1537) at org.apache.catalina.startup.ContextConfig.parseWebXml(ContextConfig.java:1890) at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1259) at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:878) at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:369) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5269) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559) at
ce),com上com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(未知源),org.org上的com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl $ JAXPSAXParser.parse org.apache.catalina.startup.ContextConfig.parseWebXml(ContextConfig.java:1890)的.apache.tomcat.util.digester.Digester.parse(Digester.java:1537)在org.apache.catalina.startup.ContextConfig.webConfig (ContextConfig.java:1259)在org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:878)在org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:369)在org.apache。 org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)上的catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)org.apache.catalina.core.StandardContext.startInternal(StandardContext.java: 5269),位于org.apache.catalina.core.ContainerBase $ StartChild.call(ContainerBase.java:1559),位于org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source)
org.apache.catalina.core.ContainerBase $ StartChild.call(ContainerBase.java:1549)at java.util.concurrent.FutureTask.run(未知源)at java.util.concurrent.ThreadPoolExecutor.runWorker(未知源) .util.concurrent.ThreadPoolExecutor $ Worker.run(未知源)在java.lang.Thread.run(未知源)
Your (basic XML) parsing error comes from the fact that two root tags ( <web-app>
and <hibernate-configuration>
) have been found in your document. 您的(基本XML)解析错误来自以下事实:在文档中找到了两个根标记(
<web-app>
和<hibernate-configuration>
)。
It looks like you have simply gathered the content of two XML configuration files, but it doesn't work like this. 看起来您只是收集了两个XML配置文件的内容,但是却不能这样工作。 As stated in a comment, webapp configuration must be set in web.xml, and Hibernate is usually set in hibernate.cfg.xml.
如评论中所述,必须在web.xml中设置webapp配置,并且通常在hibernate.cfg.xml中设置Hibernate。
Whenever you face an org.xml.sax.SAXParseException
type of Exception it is better start with validating your xml. 每当您遇到
org.xml.sax.SAXParseException
类型的Exception时,最好从验证xml开始。 This site comes in handy when you want to validate xml files either by uploading or just pasting the text. 当您想通过上载或粘贴文本来验证xml文件时, 此站点非常有用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.