问题发生两种情况:
- 自己部署到Tomcat上的工程web.xml的问题,
解决办法:
找到你自己的tomcat 路径下apache-tomcat-8.0.30\webapps\自己的工程\WEB-INF下面的web.xml
在这里<servlet-class>com.itszt.LoginService</servlet-class>后面的<servlet-class>加上/,就可以了
- 其他项目部署错误,或者自己手动搭建到tomca上的小项目出现类似的错误也影响你正在启动的项目,但都是因为你servlet-class没加/,别问我是怎么知道的QAQ
错误信息:
. 严重: Parse Fatal Error at line 17 column 5: 元素类型 “servlet-class” 必须由匹配的结束标记 “” 终止。严重: Parse Fatal Error at line 17 column 5: 元素类型 “servlet-class” 必须由匹配的结束标记 “” 终止。
org.xml.sax.SAXParseException; systemId: file:/D:/folder/java_Tomcat/apache-tomcat-8.0.30/webapps/Login_Form/WEB-INF/web.xml; lineNumber: 17; columnNumber: 5; 元素类型 “servlet-class” 必须由匹配的结束标记 “” 终止。
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:203)
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:177)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:400)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:327)
at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1472)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1749)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl
F
r
a
g
m
e
n
t
C
o
n
t
e
n
t
D
r
i
v
e
r
.
n
e
x
t
(
X
M
L
D
o
c
u
m
e
n
t
F
r
a
g
m
e
n
t
S
c
a
n
n
e
r
I
m
p
l
.
j
a
v
a
:
2967
)
a
t
c
o
m
.
s
u
n
.
o
r
g
.
a
p
a
c
h
e
.
x
e
r
c
e
s
.
i
n
t
e
r
n
a
l
.
i
m
p
l
.
X
M
L
D
o
c
u
m
e
n
t
S
c
a
n
n
e
r
I
m
p
l
.
n
e
x
t
(
X
M
L
D
o
c
u
m
e
n
t
S
c
a
n
n
e
r
I
m
p
l
.
j
a
v
a
:
602
)
a
t
c
o
m
.
s
u
n
.
o
r
g
.
a
p
a
c
h
e
.
x
e
r
c
e
s
.
i
n
t
e
r
n
a
l
.
i
m
p
l
.
X
M
L
D
o
c
u
m
e
n
t
F
r
a
g
m
e
n
t
S
c
a
n
n
e
r
I
m
p
l
.
s
c
a
n
D
o
c
u
m
e
n
t
(
X
M
L
D
o
c
u
m
e
n
t
F
r
a
g
m
e
n
t
S
c
a
n
n
e
r
I
m
p
l
.
j
a
v
a
:
505
)
a
t
c
o
m
.
s
u
n
.
o
r
g
.
a
p
a
c
h
e
.
x
e
r
c
e
s
.
i
n
t
e
r
n
a
l
.
p
a
r
s
e
r
s
.
X
M
L
11
C
o
n
f
i
g
u
r
a
t
i
o
n
.
p
a
r
s
e
(
X
M
L
11
C
o
n
f
i
g
u
r
a
t
i
o
n
.
j
a
v
a
:
841
)
a
t
c
o
m
.
s
u
n
.
o
r
g
.
a
p
a
c
h
e
.
x
e
r
c
e
s
.
i
n
t
e
r
n
a
l
.
p
a
r
s
e
r
s
.
X
M
L
11
C
o
n
f
i
g
u
r
a
t
i
o
n
.
p
a
r
s
e
(
X
M
L
11
C
o
n
f
i
g
u
r
a
t
i
o
n
.
j
a
v
a
:
770
)
a
t
c
o
m
.
s
u
n
.
o
r
g
.
a
p
a
c
h
e
.
x
e
r
c
e
s
.
i
n
t
e
r
n
a
l
.
p
a
r
s
e
r
s
.
X
M
L
P
a
r
s
e
r
.
p
a
r
s
e
(
X
M
L
P
a
r
s
e
r
.
j
a
v
a
:
141
)
a
t
c
o
m
.
s
u
n
.
o
r
g
.
a
p
a
c
h
e
.
x
e
r
c
e
s
.
i
n
t
e
r
n
a
l
.
p
a
r
s
e
r
s
.
A
b
s
t
r
a
c
t
S
A
X
P
a
r
s
e
r
.
p
a
r
s
e
(
A
b
s
t
r
a
c
t
S
A
X
P
a
r
s
e
r
.
j
a
v
a
:
1213
)
a
t
c
o
m
.
s
u
n
.
o
r
g
.
a
p
a
c
h
e
.
x
e
r
c
e
s
.
i
n
t
e
r
n
a
l
.
j
a
x
p
.
S
A
X
P
a
r
s
e
r
I
m
p
l
FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2967) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:602) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:505) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:841) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:770) at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213) at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl
FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2967)atcom.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:602)atcom.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:505)atcom.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:841)atcom.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:770)atcom.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)atcom.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)atcom.sun.org.apache.xerces.internal.jaxp.SAXParserImplJAXPSAXParser.parse(SAXParserImpl.java:643)
at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1451)
at org.apache.tomcat.util.descriptor.web.WebXmlParser.parseWebXml(WebXmlParser.java:120)
at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1107)
at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:771)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:305)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:95)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5154)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase
S
t
a
r
t
C
h
i
l
d
.
c
a
l
l
(
C
o
n
t
a
i
n
e
r
B
a
s
e
.
j
a
v
a
:
1408
)
a
t
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
c
o
r
e
.
C
o
n
t
a
i
n
e
r
B
a
s
e
StartChild.call(ContainerBase.java:1408) at org.apache.catalina.core.ContainerBase
StartChild.call(ContainerBase.java:1408)atorg.apache.catalina.core.ContainerBaseStartChild.call(ContainerBase.java:1398)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
十二月 27, 2018 9:46:09 下午 org.apache.tomcat.util.descriptor.web.WebXmlParser parseWebXml
严重: Parse error in application web.xml file at file:/D:/folder/java_Tomcat/apache-tomcat-8.0.30/webapps/Login_Form/WEB-INF/web.xml
org.xml.sax.SAXParseException; systemId: file:/D:/folder/java_Tomcat/apache-tomcat-8.0.30/webapps/Login_Form/WEB-INF/web.xml; lineNumber: 17; columnNumber: 5; 元素类型 “servlet-class” 必须由匹配的结束标记 “” 终止。
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:203)
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:177)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:400)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:327)
at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1472)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1749)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl
F
r
a
g
m
e
n
t
C
o
n
t
e
n
t
D
r
i
v
e
r
.
n
e
x
t
(
X
M
L
D
o
c
u
m
e
n
t
F
r
a
g
m
e
n
t
S
c
a
n
n
e
r
I
m
p
l
.
j
a
v
a
:
2967
)
a
t
c
o
m
.
s
u
n
.
o
r
g
.
a
p
a
c
h
e
.
x
e
r
c
e
s
.
i
n
t
e
r
n
a
l
.
i
m
p
l
.
X
M
L
D
o
c
u
m
e
n
t
S
c
a
n
n
e
r
I
m
p
l
.
n
e
x
t
(
X
M
L
D
o
c
u
m
e
n
t
S
c
a
n
n
e
r
I
m
p
l
.
j
a
v
a
:
602
)
a
t
c
o
m
.
s
u
n
.
o
r
g
.
a
p
a
c
h
e
.
x
e
r
c
e
s
.
i
n
t
e
r
n
a
l
.
i
m
p
l
.
X
M
L
D
o
c
u
m
e
n
t
F
r
a
g
m
e
n
t
S
c
a
n
n
e
r
I
m
p
l
.
s
c
a
n
D
o
c
u
m
e
n
t
(
X
M
L
D
o
c
u
m
e
n
t
F
r
a
g
m
e
n
t
S
c
a
n
n
e
r
I
m
p
l
.
j
a
v
a
:
505
)
a
t
c
o
m
.
s
u
n
.
o
r
g
.
a
p
a
c
h
e
.
x
e
r
c
e
s
.
i
n
t
e
r
n
a
l
.
p
a
r
s
e
r
s
.
X
M
L
11
C
o
n
f
i
g
u
r
a
t
i
o
n
.
p
a
r
s
e
(
X
M
L
11
C
o
n
f
i
g
u
r
a
t
i
o
n
.
j
a
v
a
:
841
)
a
t
c
o
m
.
s
u
n
.
o
r
g
.
a
p
a
c
h
e
.
x
e
r
c
e
s
.
i
n
t
e
r
n
a
l
.
p
a
r
s
e
r
s
.
X
M
L
11
C
o
n
f
i
g
u
r
a
t
i
o
n
.
p
a
r
s
e
(
X
M
L
11
C
o
n
f
i
g
u
r
a
t
i
o
n
.
j
a
v
a
:
770
)
a
t
c
o
m
.
s
u
n
.
o
r
g
.
a
p
a
c
h
e
.
x
e
r
c
e
s
.
i
n
t
e
r
n
a
l
.
p
a
r
s
e
r
s
.
X
M
L
P
a
r
s
e
r
.
p
a
r
s
e
(
X
M
L
P
a
r
s
e
r
.
j
a
v
a
:
141
)
a
t
c
o
m
.
s
u
n
.
o
r
g
.
a
p
a
c
h
e
.
x
e
r
c
e
s
.
i
n
t
e
r
n
a
l
.
p
a
r
s
e
r
s
.
A
b
s
t
r
a
c
t
S
A
X
P
a
r
s
e
r
.
p
a
r
s
e
(
A
b
s
t
r
a
c
t
S
A
X
P
a
r
s
e
r
.
j
a
v
a
:
1213
)
a
t
c
o
m
.
s
u
n
.
o
r
g
.
a
p
a
c
h
e
.
x
e
r
c
e
s
.
i
n
t
e
r
n
a
l
.
j
a
x
p
.
S
A
X
P
a
r
s
e
r
I
m
p
l
FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2967) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:602) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:505) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:841) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:770) at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213) at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl
FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2967)atcom.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:602)atcom.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:505)atcom.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:841)atcom.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:770)atcom.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)atcom.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)atcom.sun.org.apache.xerces.internal.jaxp.SAXParserImplJAXPSAXParser.parse(SAXParserImpl.java:643)
at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1451)
at org.apache.tomcat.util.descriptor.web.WebXmlParser.parseWebXml(WebXmlParser.java:120)
at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1107)
at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:771)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:305)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:95)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5154)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase
S
t
a
r
t
C
h
i
l
d
.
c
a
l
l
(
C
o
n
t
a
i
n
e
r
B
a
s
e
.
j
a
v
a
:
1408
)
a
t
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
c
o
r
e
.
C
o
n
t
a
i
n
e
r
B
a
s
e
StartChild.call(ContainerBase.java:1408) at org.apache.catalina.core.ContainerBase
StartChild.call(ContainerBase.java:1408)atorg.apache.catalina.core.ContainerBaseStartChild.call(ContainerBase.java:1398)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)